赞
踩
Agent是干什么的? Agent的核心思想是使用语言模型(LLM)作为推理的大脑,以制定解决问题的计划、借助工具实施动作。在agents中几个关键组件如下:
代理(Agents)涉及LLM做出决策以确定要采取哪些行动,执行该行动,查看观察结果并重复执行步骤直到完成。LangChain为代理提供了标准接口,一系列可供选择的代理和端到端代理的示例。
在LLM驱动的自主代理系统中,LLM充当代理的大脑,并辅以几个关键功能:
langchain中agent有两种主要类型:
zero-shot-react-description | 代理使用ReAct框架,仅基于工具的描述来确定要使用的工具.此代理使用 ReAct 框架确定使用哪个工具 仅基于工具的描述。缺乏 会话式记忆。 |
conversational-react-description | 这个代理程序旨在用于对话环境中。提示设计旨在使代理程序有助于对话。 它使用ReAct框架来决定使用哪个工具,并使用内存来记忆先前的对话交互。 |
react-docstore | 这个代理使用ReAct框架,必须提供两个工具:一个 |
self-askwith-search | 代理使用一个被命名为Intermediate Answer 的工具。根据需要执行搜索和提问步骤,以获得最终答案。 |
chat-zero-shot-react-description | zero-shot意味着代理 (Agents) 仅在当前操作上起作用——它没有 记忆。 |
chat-conversational-react-description | 该代理被设计用于会话设置。提示的目的是使代理具有帮助和会话性。它使用ReAct框架来决定使用哪个工具,并使用内存来记住以前的会话交互。 |
structured-chat-zero-shot-react-description | 能够使用多输入工具,结构化的参数输入。 |
openai-functions | 某些OpenAI模型(如gpt-3.5-turbo-0613和gpt-4-0613)已经明确地进行了微调,如果使用这些模型,可以考虑使用OpenAI Functions 的AgentType。 |
openai-multi-functions | 某些OpenAI模型(如gpt-3.5-turbo-0613和gpt-4-0613)已经明确地进行了微调,如果使用这些模型,可以考虑使用OpenAI Functions 的AgentType。 |
动作代理人适用于小任务,而计划执行代理人适用于复杂或长时间运行的任务,这些任务需要保持长期目标和重点。
demo:
- from langchain.llms import ChatGLM
- from langchain.experimental.plan_and_execute import PlanAndExecute, load_agent_executor, load_chat_planner
- from tools import LlmModelTool, VectorSearchTool
-
- #default endpoint_url for a local deployed ChatGLM api server
- endpoint_url = "http://12.0.59.21:8888"
- llm = ChatGLM(
- endpoint_url=endpoint_url,
- max_token=80000,
- history=[],
- model_kwargs={"sample_model_args": False},
- temperature=0.95
- )
-
- # when giving tools to LLM, we must pass as list of tools
- tools = [LlmModelTool(), VectorSearchTool()]
-
- #T计划执行代理人(Plan-and-execute agents)
- planner = load_chat_planner(llm)
- executor = load_agent_executor(llm, tools, verbose=True)
-
- #工具加载后都需要初始化,verbose 参数为 True,会打印全部的执行详情
- agent = PlanAndExecute(planner=planner, executor=executor, verbose=True)
- agent.run(input="请帮我制定一份8月去西藏旅游的计划?")
result:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。