赞
踩
Agent 是大语言模型(LLM)的主要应用形态,通过大语言模型的推理能力和使用工具的能力完成复杂的任务,如下图所示:
如果你有以下的业务场景,Agent 应用架构是非常适合的:
Agent 构建在大语言模型的推理能力基础上,对大语言模型的 Planning 规划的方案使用工具执行(Action) ,并对执行的过程进行观测(Observation),保证任务的落地执行。
Planning->Action->Observation (Repeated many times)。
Agent 根据用户输入及当前状态选择一个动作,执行该动作并观察结果,然后继续下一个动作。
有了 Agent,就不需要手动编写 if/else
逻辑了(即不要静态的业务流程编排了),只需将 Prompt 提示词提供给大语言模型,让其进行判断决策即可。
LangChain 本身提供一些实用的工具,比如:Google 搜索、GitHub 和 Python
等。如果需要自己实现工具,则需要继承 BaseTool
类,并实现 run 方法。模型根据工具的描述调用相应的方法,并观察其返回结果。
计划 Agent:通过 LLM 制定计划
执行 Agent:通过 LLM 和 tools 实现计划
Chain 和 Agent 都用于解决多步问题。Chain 是静态的面向过程架构设计,过程是事先设计好的静态流程。而 Agent 则是动态的面向目标架构设计,由大语言模型来决策整个过程。
from langchain.llms import ChatGLM
from langchain.experimental.plan_and_execute import PlanAndExecute, load_agent_executor, load_chat_planner
from tools import LlmModelTool, VectorSearchTool
endpoint_url = "http://10.19.58.1:6666"
llm = ChatGLM(
endpoint_url=endpoint_url,
max_token=80000,
history=[],
model_kwargs={"sample_model_args": False},
temperature=0.95
)
tools = [LlmModelTool(), VectorSearchTool()]
planner = load_chat_planner(llm)
executor = load_agent_executor(llm, tools, verbose=True)
agent = PlanAndExecute(planner=planner, executor=executor, verbose=True)
agent.run(input="马上端午节,请帮我制定一个国内的5天旅行计划")
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。