跳到主要内容

Langflow 中的代理组件

代理组件定义了 AI 代理在流程中的行为和能力。

代理使用大型语言模型(LLM)作为推理引擎,来决定使用哪些连接的工具组件来解决问题。

在代理功能中,工具本质上是代理可以调用的函数,用于执行任务或访问外部资源。函数被封装为具有代理理解的通用接口的 Tool 对象。代理通过工具注册来了解工具,在工具注册时,代理通常在初始化时被提供可用工具列表。Tool 对象的描述告诉代理该工具可以做什么。

然后,代理使用连接的 LLM 来推理问题,决定哪个工具最适合该工作。

在流程中使用代理

简单代理入门项目使用一个连接到 URL 和计算器工具的代理组件来回答用户的问题。OpenAI LLM 作为代理的大脑,决定使用哪个工具。工具通过工具端口连接到代理组件。

Simple agent starter flow

有关多代理示例,请参阅创建问题解决代理

代理组件

此组件创建一个代理,该代理可以使用工具根据给定的指令回答问题并执行任务。

该组件包括一个 LLM 模型集成、一个系统消息提示词,以及一个工具端口,用于连接工具以扩展其功能。

有关此组件的更多信息,请参阅工具调用代理文档

参数

输入

名称类型描述
agent_llm下拉菜单代理用于生成响应的语言模型的提供者。选项包括 OpenAI 和其他提供者或自定义。
system_prompt字符串系统提示词提供初始指令和上下文,以指导代理的行为。
tools列表代理可用的工具列表。
input_value字符串输入任务或问题,供代理处理。
add_current_date_tool布尔值如果为 true,则为代理添加一个返回当前日期的工具。
memory记忆用于维护对话历史的可选记忆配置。
max_iterations整数代理可以执行的最大迭代次数。
handle_parsing_errors布尔值这决定是否在代理执行期间处理解析错误。
verbose布尔值这启用详细输出以进行详细日志记录。

输出

名称类型描述
response消息代理对给定输入任务的响应。

旧版组件

旧版组件可供使用,但不再支持。

JSON 代理

此组件使用 JSON 或 YAML 文件和 LLM 创建 JSON 代理。

参数

输入

名称类型描述
llm语言模型用于代理的语言模型。
path文件JSON 或 YAML 文件的路径。

输出

名称类型描述
agentAgentExecutorJSON 代理实例。

向量存储代理

此组件使用 LangChain 创建向量存储代理。

参数

输入

名称类型描述
llm语言模型用于代理的语言模型。
vectorstoreVectorStoreInfo供代理使用的向量存储信息。

输出

名称类型描述
agentAgentExecutor向量存储代理实例。

向量存储路由器代理

此组件使用 LangChain 创建向量存储路由器代理。

参数

输入

名称类型描述
llm语言模型用于代理的语言模型。
vectorstoresList[VectorStoreInfo]供代理路由的向量存储信息列表。

输出

名称类型描述
agentAgentExecutor向量存储路由器代理实例。

已移动组件

以下组件可在捆绑包下找到。

CrewAI 代理

此组件代表 CrewAI 的一个代理,允许在团队中创建具有已定义角色、目标和能力的专业 AI 代理。

有关更多信息,请参阅 CrewAI 文档

参数

输入

名称显示名称信息
role角色代理的角色。
goal目标代理的目标。
backstory背景故事代理的背景故事。
tools工具代理可用的工具。
llm语言模型运行代理的语言模型。
memory记忆这决定代理是否应具有记忆。
verbose详细模式这启用详细输出。
allow_delegation允许委派这决定是否允许代理将任务委派给其他代理。
allow_code_execution允许代码执行这决定是否允许代理执行代码。
kwargskwargs代理的其他关键字参数。

输出

名称显示名称信息
output代理构建的 CrewAI 代理对象。

分层团队

此组件表示一个代理组,管理它们应如何在分层结构中协作以及它们应执行的任务。此组件允许创建由一个经理监督任务执行的团队。

有关更多信息,请参阅 CrewAI 文档

参数

输入

名称显示名称信息
agents代理代表团队成员的代理对象列表。
tasks任务代表要执行的任务的分层任务对象列表。
manager_llm经理 LLM用于经理代理的语言模型。
manager_agent经理代理特定代理作为经理。
verbose详细模式这启用详细输出以进行详细日志记录。
memory记忆团队的记忆配置。
use_cache使用缓存这启用结果缓存。
max_rpm最大 RPM这设置每分钟最大请求数。
share_crew共享团队这决定是否在代理之间共享团队信息。
function_calling_llm函数调用 LLM用于函数调用的语言模型。

输出

名称显示名称信息
crew团队构建的具有分层任务执行的团队对象。

CSV 代理

此组件使用 CSV 文件和 LLM 创建 CSV 代理。

参数

输入

名称类型描述
llm语言模型用于代理的语言模型。
path文件CSV 文件的路径。
agent_type字符串要创建的代理类型。

输出

名称类型描述
agentAgentExecutorCSV 代理实例。

OpenAI 工具代理

此组件创建一个 OpenAI 工具代理。

参数

输入

名称类型描述
llm语言模型要使用的语言模型。
tools工具列表代理可以访问的工具。
system_prompt字符串提供给代理上下文的系统提示词。
input_value字符串用户的输入给代理。
memory记忆代理用于上下文持久化的记忆。
max_iterations整数允许代理执行的最大迭代次数。
verbose布尔值这决定是否打印出代理的中间步骤。
handle_parsing_errors布尔值这决定是否处理代理中的解析错误。

输出

名称类型描述
agentAgentExecutorOpenAI 工具代理实例。
output字符串在输入上执行代理的输出。

OpenAPI 代理

此组件创建一个用于与 OpenAPI 服务交互的代理。

参数

输入

名称类型描述
llm语言模型要使用的语言模型。
openapi_spec字符串服务的 OpenAPI 规范。
base_url字符串API 的基础 URL。
headers字典API 请求的可选头部。
agent_executor_kwargs字典代理执行器的可选参数。

输出

名称类型描述
agentAgentExecutorOpenAPI 代理实例。

顺序团队

此组件表示一个代理组,其任务按顺序执行。此组件允许创建按特定顺序执行任务的团队。

有关更多信息,请参阅 CrewAI 文档

参数

输入

名称显示名称信息
tasks任务代表要执行的顺序任务对象的列表。
verbose详细模式这启用详细输出以进行详细日志记录。
memory记忆团队的记忆配置。
use_cache使用缓存这启用结果缓存。
max_rpm最大 RPM这设置每分钟最大请求数。
share_crew共享团队这决定是否在代理之间共享团队信息。
function_calling_llm函数调用 LLM用于函数调用的语言模型。

输出

名称显示名称信息
crew团队构建的具有顺序任务执行的团队对象。

顺序任务代理

此组件创建一个 CrewAI 任务及其关联的代理,允许定义具有特定代理角色和能力的顺序任务。

有关更多信息,请参阅 CrewAI 文档

参数

输入

名称显示名称信息
role角色代理的角色。
goal目标代理的目标。
backstory背景故事代理的背景故事。
tools工具代理可用的工具。
llm语言模型运行代理的语言模型。
memory记忆这决定代理是否应具有记忆。
verbose详细模式这启用详细输出。
allow_delegation允许委派这决定是否允许代理将任务委派给其他代理。
allow_code_execution允许代码执行这决定是否允许代理执行代码。
agent_kwargs代理 kwargs代理的其他 kwargs。
task_description任务描述详细说明任务目的和执行的描述性文本。
expected_output预期任务输出预期任务结果的清晰定义。
async_execution异步执行指示异步任务执行的布尔标志。
previous_task上一个任务用于链式调用的序列中的上一个任务。

输出

名称显示名称信息
task_output顺序任务代表已创建任务的顺序任务对象列表。

SQL 代理

此组件创建一个用于与 SQL 数据库交互的代理。

参数

输入

名称类型描述
llm语言模型要使用的语言模型。
database数据库SQL 数据库连接。
top_k整数从 SELECT 查询返回的结果数。
use_tools布尔值这决定是否使用工具执行查询。
return_intermediate_steps布尔值这决定是否返回代理的中间步骤。
max_iterations整数运行代理的最大迭代次数。
max_execution_time整数最大执行时间(秒)。
early_stopping_method字符串用于提前停止的方法。
verbose布尔值这决定是否打印代理的思考过程。

输出

名称类型描述
agentAgentExecutorSQL 代理实例。

工具调用代理

此组件创建一个用于与各种语言模型进行结构化工具调用的代理。

参数

输入

名称类型描述
llm语言模型要使用的语言模型。
toolsList[Tool]代理可用的工具列表。
system_message字符串用于代理的系统消息。
return_intermediate_steps布尔值这决定是否返回代理的中间步骤。
max_iterations整数运行代理的最大迭代次数。
max_execution_time整数最大执行时间(秒)。
early_stopping_method字符串用于提前停止的方法。
verbose布尔值这决定是否打印代理的思考过程。

输出

名称类型描述
agentAgentExecutor工具调用代理实例。

XML 代理

此组件使用 LangChain 创建 XML 代理。

代理使用 XML 格式向语言模型发送工具指令。

参数

输入

名称类型描述
llm语言模型用于代理的语言模型。
user_prompt字符串包含 XML 格式指令的自定义代理提示模板。
toolsList[Tool]代理可用的工具列表。

输出

名称类型描述
agentAgentExecutorXML 代理实例。
Search