Skip to main content

代理(Agents)

LangChain

代理(Agents)可以用于各种任务。 代理(Agents)将语言模型的决策能力与工具相结合,以创建一个可以代表您执行和实现解决方案的系统 在继续阅读之前,强烈建议您阅读 agent 模块中的文档,以更好地理解与代理(agents)相关的概念。 具体而言,在继续阅读之前,您应该熟悉 agenttoolagent executor 的抽象概念。

创建自己的代理(Agent)

Create Your Own Agent

阅读完文档后,您应该准备创建自己的代理(Agent)。 那具体是什么意思? 以下是我们建议开始创建自己的代理(Agent)的方式:

第 1 步:创建工具(Tools)

代理(Agents)的定义很大程度上取决于它们可以使用的工具(Tools)。 如果您有特定的任务要求代理(Agent)完成,您必须使其能够访问合适的工具(Tools)。 我们在 LangChain 中本地提供了许多工具(Tools),因此您应首先查看是否有任何工具(Tools)满足您的需求。 但我们也提供了定义自定义工具(Tools)的简化方式,所以如果您需要自定义工具(Tools),绝对可以这样做。

(可选)第 2 步:修改代理(Agent)

内置的 LangChain 代理(Agent)类型被设计用于在一般情况下发挥良好的作用, 但是通过修改代理(Agent)实现,您可能能够提高性能。 有几种方法可以做到这一点:

  1. 修改基本提示(base prompt)。这可用于为代理(Agent)提供更多关于其行为方式等方面的上下文。
  2. 修改输出解析器(output parser)。如果代理(Agent)在解析语言模型输出时遇到问题,这是必要的。

(可选)第 3 步:修改代理执行器(Agent Executor)

通常情况下,这一步骤是不必要的,因为这是相当通用的逻辑。 您希望修改此部分的原因可能包括添加不同的停止条件或处理错误。

示例

代理(Agent)的具体示例包括: