成都优化网站关键词,author 1 wordpress,英文网站用什么字体好,google app下载在本文中#xff0c;我们将讨论LangChain中的Agent及其各种类型。但在深入研究Agent之前#xff0c;让我们先了解一下什么是LangChain和Agent。
一、什么是LangChain#xff1f; LangChain是一种功能强大的自动化工具#xff0c;可用于各种任务#xff0c;它提供了可用于… 在本文中我们将讨论LangChain中的Agent及其各种类型。但在深入研究Agent之前让我们先了解一下什么是LangChain和Agent。
一、什么是LangChain LangChain是一种功能强大的自动化工具可用于各种任务它提供了可用于创建agent的各种工具。
Agentsagent是一种旨在与现实世界交互的软件程序。LangChain提供不同类型的代理商。
ToolsLangChain提供有助于开发agent的工具。
要了解更多关于LangChain的信息可以参考https://www.c-sharpcorner.com/article/getting-started-with-langchain/
二、什么是Agent LangChain中的Agent是为了与现实世界互动而构建的它们可以自动执行任务并参与现实世界的场景。LangChain代理可用于各种任务如回答问题、生成文本、翻译语言、总结文本等。 三、LangChain中的代理类型 LangChain中的Agent使用LLM语言学习模型来确定要采取的操作以及顺序。
3.1 Zero-shot ReAct Zero-shot ReAct Agent是一种语言生成模型即使不经过特定数据的训练也可以创建真实的上下文。它可以用于各种任务如生成创造性的文本格式、语言翻译和生成不同类型的创造性内容。
from langchain.agents import initialize_agent, load_tools, AgentTypefrom langchain.llms import OpenAIllm OpenAI(openai_api_keyyour_api_key)tools load_tools([wikipedia, llm-math], llmllm)agent initialize_agent(tools , llm, agentAgentType.ZERO_SHOT_REACT_DESCRIPTION, verboseTrue)output_1agent.run(4 5 is )output_2agent.run(when you add 4 and 5 the result comes 10.)print(output_1)print(output_2) 在上面的代码中导入了LangChain库并通过设置OpenAI API Key来初始化OpenAI语言模型LLM。该代码使用维基百科和数学信息工具设置AI代理将代理类型指定为ZERO_SHOT_REACT_DESCRIPTION代理。然后代码提供两个提示来演示与代理的一次性交互。 3.2 Conversational ReAct 此代理是为在会话设置中使用而设计的它结合了React框架来确定使用哪个工具并利用内存来记住以前的对话交互。
from langchain.agents import initialize_agent, load_toolsfrom langchain.llms import OpenAIfrom langchain.memory import ConversationBufferMemoryllm OpenAI(openai_api_key...)tools load_tools([llm-math], llmllm)memory ConversationBufferMemory(memory_keychat_history)conversational_agent initialize_agent( agentconversational-react-description, toolstools, llmllm, verboseTrue, max_iterations3, memorymemory,)output_1conversational_agent.run(when you add 4 and 5 the result comes 10.)output_2conversational_agent.run(4 5 is )print(output_1)print(output_2) 上面的代码通过导入必要的模块、设置了OpenAI LLM API Key、加载LLM-math等特定工具进行数学运算以及创建会话缓冲内存来演示LangChain库的使用。然后使用指定的代理类型、工具、LLM和其他参数初始化会话代理。该代码展示了与代理交互的两个提示。 3.3 ReAct Docstore 该代理使用React框架与文档存储进行通信。它要求提供名称相同的“搜索”工具和“查找”工具。“搜索”工具用于搜索文档而“查找”工具则在最近找到的文档中查找术语。
from langchain.agents import initialize_agent, Toolfrom langchain.llms import OpenAIfrom langchain import Wikipediafrom langchain.agents.react.base import DocstoreExplorerllm OpenAI(openai_api_key...)docstore DocstoreExplorer(Wikipedia())tools[ Tool(nameSearch, funcdocstore.search, descriptionuseful for when you need to ask with search), Tool(nameLookup, funcdocstore.lookup, descriptionuseful for when you need to ask with lookup)]react_agent initialize_agent(tools, llm, agentreact-docstore)print(react_agent.run(Full name of Narendra Modi is Narendra Damodardas Modi?)) # look on the keywords then go for searchprint(react_agent.run(Full name of Narendra Modi is Narendra Damodardas Modi.)) 上面的代码从LangChain导入必要的模块并使用API Key初始化OpenAI语言模型LLM。它建立了一个以维基百科为源的文档存储资源管理器。定义了两个工具“搜索”和“查找”其中“搜索”工具搜索文档“查找”工具执行术语查找。 3.4 Self-ask with Search 此代理使用中间回答工具进行自我提问。
from langchain.agents import initialize_agent, Toolfrom langchain.llms import OpenAIfrom langchain import Wikipediallm OpenAI(openai_api_key...)wikipedia Wikipedia()tools [ Tool( nameIntermediate Answer, funcwikipedia.search, descriptionwikipedia search )]agent initialize_agent( toolstools, llmllm, agentself-ask-with-search, verboseTrue,)print(agent.run(what is the capital of Japan?)) 上述代码从LangChain库导入必要的模块包括代理和语言模型它设置了一个具有特定代理配置的会话代理称为“self-ask-with-search”。该代理使用“Intermediate Answer”工具来执行维基百科搜索。 四、常见问题FAQ
问在LangChain中Chain和Agent有什么区别
答LangChain中Agent和Chain之间的主要区别在于Agent使用语言模型来确定其动作而Chain是由开发人员设置的预定义动作序列。Agent使用语言模型根据用户输入和可用工具生成响应而Chain遵循固定的输入/输出过程。
问Verbose做什么
答verbose选项可以在屏幕上显示详细的运行信息。
问LangChain的温度是多少
答默认情况下LangChain聊天模型的创建温度值为0.7。温度参数控制输出的随机性。较高的值如0.7使输出更随机而较低的值例如0.2使输出更有重点和确定性。
参考文献
[1] https://bakshiharsh55.medium.com/agents-in-langchain-3eb92f206a5f