LangChain中结构化聊天智能体(StructuredChat...

云的事情不好说 2024-09-21 20:38:44

LangChain 开发框架中不同类型的Agent有不同的推理提示词风格、对应的编码输入方式以及解析输出方式。

内置的Agent类型有下面几种。其中,OpenAI Tools、OpenAI Functions这两个类型主要针对OpenAI制定的。特别推荐一下Structured Chat(结构化聊天智能体),对话历史、多个入参的工具都支持,效果也相对比较好。

使用structured-chat-agent提示词模板:

from langchain import hubprompt = hub.pull("hwchase17/structured-chat-agent")

打印提示词模板:

prompt.pretty_print()

在structured-chat-agent这个提示词模板中,有5个变量:tools、tool_names、chat_history、input、agent_scratchpad。

tools 变量是一个列表,包含了所有的工具,列表中的每个元素包含了工具的名称和描述,而 tool_names 变量是工具名称的列表。

chat_history是存储的chat对话历史信息,input 是用户输入的问题,agent_scratchpad 是之前的思考过程。

模板中的Thought/Action/Observation就是标准的 ReAct 流程,首先思考如何解决问题,然后行动使用具体的工具,再观察工具执行完成后得到的结果,这个流程可以重复多次,直到得到最终答案。



0 阅读:0

云的事情不好说

简介:感谢大家的关注