跳到主要内容

创建问题解决代理

在Langchain中开发代理是一项复杂的工作。

AgentComponent(代理组件)是一个用于轻松创建AI代理的组件,该代理能够使用您提供的工具分析任务。

该组件包含了创建代理所需的所有元素。无需管理LLM模型和提供商,只需选择您的模型并输入API密钥即可。无需连接提示词组件,只需在组件的代理指令字段中输入指令。

工具调用代理组件

了解如何从工具调用代理组件开始构建流程,并了解它如何帮助您解决问题。

前提条件

使用AgentComponent创建问题解决代理

工具调用代理开始创建一个问题解决代理。

  1. 点击新建流程,然后点击空白流程
  2. 点击并拖动一个代理组件到您的工作区。 默认设置目前是可接受的,因此本指南假设您使用Open AI作为LLM。
  3. 将您的Open AI API密钥添加到代理组件中。
  4. 添加聊天输入聊天输出组件到您的流程中,并将它们连接到工具调用代理。

与代理组件聊天

这个基本流程使您能够在连接了一些工具后在Playground中与代理聊天。

  1. Search API工具组件连接到您的代理。
  2. 将您的Search API密钥添加到组件中。 您的代理现在可以查询Search API获取信息。
  3. 连接一个计算器工具用于解决基本的数学问题。
  4. 将一个API请求组件连接到代理。 该组件不在工具类别中,但通过启用工具模式,代理仍然可以将其用作工具。 工具模式通过添加一个可以连接到代理的工具端口的工具集端口,将组件转换为工具。 要在组件上启用工具模式,请点击工具模式。 组件的字段会根据其所处的模式动态变化。

与代理组件聊天

使用代理解决问题

您的代理现在具有执行网络搜索、进行基本数学运算和执行API请求的工具。仅使用这些功能就可以解决许多问题。

  • 您的桌面游戏小组取消了,您被困在家里。 将API请求指向在线规则文档,告诉您的代理您是一个使用可用工具的有趣游戏组织者,然后开始玩游戏。
  • 您需要快速学习一门新的软件语言。 将API请求指向一些文档,告诉您的代理您是一个使用可用工具的知识渊博的软件开发人员,然后开始学习。

看看您可以用这个流程解决哪些问题。随着您的问题变得更加专业化,添加一个工具。例如,数学代理项目添加了一个Python REPL组件来解决对计算器来说太具挑战性的数学问题。

编辑工具的元数据

要编辑工具的元数据,请点击工具中的编辑工具按钮来修改其名称描述元数据。这些字段帮助连接的代理理解如何使用工具,而无需修改代理的提示指令。

例如,URL组件在启用工具模式时有三个可用工具。

工具名称描述
URL-fetch_content使用此工具从URL获取和检索原始内容,包括HTML和其他结构化数据。返回完整的响应内容。
URL-fetch_content_text使用此工具从网页获取和提取干净、可读的文本内容。仅返回纯文本内容。
URL-as_dataframe使用此工具从URL获取结构化数据并将其转换为表格格式。数据以结构化DataFrame表格格式返回。

连接的代理将根据名称描述元数据清楚地了解每个工具的功能。如果您认为代理使用工具的方式不正确,请编辑工具的元数据以帮助它更好地理解工具。

工具名称和描述可以编辑,但默认工具标识符不能更改。如果您想更改工具标识符,请创建自定义组件。

要了解代理正在使用哪些工具以及如何使用它们,请询问代理,您使用什么工具来回答我的问题?

将代理用作工具

代理组件本身也支持工具模式,用于创建多代理流程。

为您的问题解决流程添加一个使用不同OpenAI模型进行更专业化问题解决的代理。

  1. 点击并拖动一个代理组件到您的工作区。
  2. 将您的Open AI API密钥添加到代理组件中。
  3. 模型名称字段中,选择gpt-4o
  4. 点击工具模式以将这个新代理用作工具。
  5. 将新代理的工具集端口连接到之前创建的代理的工具端口。
  6. Search APIAPI请求连接到新代理。 新代理将使用gpt-4o处理需要大上下文窗口的更大规模的抓取和搜索信息任务。 问题解决代理现在将使用这个代理作为工具,具有其独特的LLM和工具集。

作为工具的工具调用代理

  1. 可以编辑新代理的元数据以帮助问题解决代理理解如何使用它。 点击编辑工具以修改新代理的名称描述元数据,使其用途对问题解决代理来说很清晰。 例如,默认工具名称是Agent。将名称编辑为Agent-gpt-4o,并将描述编辑为使用gpt-4o模型进行复杂问题解决。问题解决代理将理解这是gpt-4o代理,并将其用于需要更大上下文窗口的任务。

添加自定义组件作为工具

代理可以使用自定义组件作为工具。