微信扫码
添加专属顾问
我要投稿
需要多步组合、选择路径的复杂问题。
该问题可以被拆分成多个子模块,每个子模块都能清晰地定义输入、输出和功能,并能判断是否达成目标。
可能感觉有解决的方法,但不能确定具体的每一步方法。
可能存在多种组合方式,而不仅限于单一的方法,并且我们无法确定最优的解决方案。
对于单个模块而言,只需将接口描述清楚,无需过多考虑它与其他模块之间的调用关系。
Thought->Action->Observation (Repeated many times)。
代理根据用户输入及当前状态选择一个动作,执行该动作并观察结果,然后继续下一个动作。
有了代理,就不需要手动编写 if/else 逻辑了,只需将选项提供给模型,让其进行判断。
Langchain 本身提供一些工具,例如 Google 搜索、GitHub 和 Python 等。如果需要自己实现工具,则需要继承 BaseTool 类,并实现 run 方法。模型根据工具的描述调用相应的方法,并观察其返回结果。
计划代理:通过 llm 制定计划
执行代理:通过 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://12.0.59.21:8888"
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="请帮我制定一份4月去云南旅游的计划")
手动或自动将需要复用的方法封装成代理程序,以实现模块化并形成可重复使用的积木块。
让大语言模型组装这些积木块。
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2025-02-01
2024-07-25
2025-01-01
2025-02-04
2024-08-13
2024-04-25
2024-06-13
2024-08-21
2024-09-23
2024-04-26
2025-04-29
2025-04-29
2025-04-29
2025-04-29
2025-04-29
2025-04-29
2025-04-28
2025-04-28