文章目录
- 1 Agent代理
- 1.1 代理的分类
- 1.2 ReAct和Structured chat
- 2 代理应用ReAct
- 2.1 创建工具
- 2.1.1 嵌入模型
- 2.1.2 创建检索器
- 2.1.3 测试检索结果
- 2.1.4 创建工具列表
- 2.2 初始化大模型
- 2.3 创建Agent
- 2.4 运行Agent
- 3 参考附录
1 Agent代理
Agent代理的核心思想是使用语言模型来选择要采取的一系列动作。
(1)在链中,动作序列是硬编码的。
(2)在代理中,语言模型用作推理引擎来确定要采取哪些动作以及按什么顺序进行。
因此在LangChain中,Agent代理就是使用语言模型作为推理引擎,让模型自主判断、调用工具和决定下一步行动。
Agent代理像是一个多功能接口,能够使用多种工具,并根据用户输入决定调用哪些工具,同时能够将一个工具的输出数据作为另一个工具的输入数据。
1.1 代理的分类
根据几个维度对所有可用的代理进行分类:
(1)模型类型:代理适用于哪类模型。
Chat(接收消息,输出消息)。
LLM(接收字符串,输出字符串)。
(2)聊天历史: 代理是否支持聊天历史。
如果支持,这意味着它可以用作聊天机器人。
如果不支持,那么它更适合单一任务。
(3)多输入工具: 代理是否支持具有多个输入的工具。</