跳到主要内容

Agent

Langflow 的 AgentMCP Tools 组件对于构建 Agent flow 至关重要。 这些组件定义了您 flow 中 AI Agent 的行为和能力。

Agent 如何工作

Agent 通过集成_工具_扩展大语言模型 (LLM),这些工具是提供额外上下文并允许自主任务执行的函数。 这些集成使 Agent 比独立的 LLM 更专业和强大。

虽然 LLM 可以对一般查询和任务生成可接受的静态响应,但 Agent 可以利用集成的上下文和工具提供更相关的响应,甚至采取行动。 例如,您可以创建一个 Agent,它可以访问您公司的知识库、仓库和其他资源,以帮助您的团队处理需要了解您的特定产品、客户和代码的任务。

Agent 使用 LLM 作为推理引擎来处理输入、确定采取什么行动来解决查询,然后生成响应。 响应可能是来自 LLM 的典型文本响应,或者可能涉及一个行动,如编辑文件、执行脚本或调用外部 API。

在 Agent 上下文中,工具是 Agent 可以执行来执行任务或访问外部资源的函数。 一个函数被包装为一个具有 Agent 理解的通用接口的 Tool 对象。 Agent 通过工具注册变得对工具有认知,即在 Agent 初始化时通常为 Agent 提供可用工具列表。 Tool 对象的描述告诉 Agent 工具可以做什么,以便它可以决定该工具是否适用于给定的请求。

Agent flow 示例

有关使用 AgentMCP Tools 组件的 Agent flow 示例,请参阅以下内容:

Agent 组件

Agent 组件是您 Agent flow 中的主要 Agent 参与者。 该组件使用 LLM 集成来响应输入,如聊天消息或文件上传。

Agent 可以使用基础 LLM 模型中已可用的工具,以及您连接到 Agent 组件 Tools 端口的附加工具。 您可以将任何 Langflow 组件连接为工具,包括其他 Agent 组件和通过 MCP Tools 组件 连接的 MCP 服务器。

有关使用此组件的更多信息,请参阅 使用 Langflow Agent

MCP Tools 组件

MCP Tools 组件连接到 Model Context Protocol (MCP) 服务器,并将 MCP 服务器的函数作为工具暴露给 Langflow Agent 用于响应输入。

除了公开可用的 MCP 服务器和您自己的自定义 MCP 服务器外,您还可以连接 Langflow MCP 服务器,这些服务器允许您的 Agent 将您的 Langflow flow 用作工具。 要做到这一点,请使用 MCP Tools 组件的 SSE 模式 连接到您在 /api/v1/mcp/sse 端点的 Langflow MCP 服务器。

有关使用此组件和将 flow 作为 MCP 工具提供服务的更多信息,请参阅 将 Langflow 用作 MCP 客户端将 Langflow 用作 MCP 服务器

MCP Tools 组件的早期版本
  • 在 Langflow 1.5 版本中,MCP Connection 组件被重命名为 MCP Tools 组件。
  • 在 Langflow 1.3 版本中,MCP Tools (stdio)MCP Tools (SSE) 组件被弃用并替换为统一的 MCP Connection 组件,该组件后来被重命名为 MCP Tools

遗留 Agent 组件

以下组件是遗留组件。 您仍然可以在 flow 中使用这些组件,但它们不再维护,可能会在未来版本中被移除。

根据您的使用情况,请将这些组件替换为 Agent 组件或其他 Langflow 组件。

  • CrewAI Hierarchical Task
  • CrewAI Sequential Task
CrewAI Agent

该组件代表 CrewAI Agent,允许在团队内创建具有定义角色、目标和能力的专业 AI Agent。 有关更多信息,请参阅 CrewAI Agent 文档

该组件接受以下参数:

名称显示名称信息
role角色输入参数。Agent 的角色。
goal目标输入参数。Agent 的目标。
backstory背景故事输入参数。Agent 的背景故事。
tools工具输入参数。Agent 可用的工具。
llm语言模型输入参数。驱动 Agent 的语言模型。
memory记忆输入参数。这决定了 Agent 是否应该有记忆。
verbose详细输出输入参数。这启用详细输出。
allow_delegation允许委派输入参数。这决定了 Agent 是否可以将任务委派给其他 Agent。
allow_code_execution允许代码执行输入参数。这决定了 Agent 是否可以执行代码。
kwargskwargs输入参数。Agent 的附加关键字参数。
outputAgent输出参数。构建的 CrewAI Agent 对象。
CrewAI Hierarchical Crew

该组件代表一组 Agent,管理它们应该如何协作以及在层次结构中应该执行的任务。该组件允许创建一个由管理者监督任务执行的团队。 有关更多信息,请参阅 CrewAI 层次团队文档

它接受以下参数:

名称显示名称信息
agentsAgent输入参数。代表团队成员的 Agent 对象列表。
tasks任务输入参数。代表要执行任务的 HierarchicalTask 对象列表。
manager_llm管理者 LLM输入参数。管理者 Agent 的语言模型。
manager_agent管理者 Agent输入参数。将充当管理者的特定 Agent。
verbose详细输出输入参数。这启用详细日志记录的详细输出。
memory记忆输入参数。团队的记忆配置。
use_cache使用缓存输入参数。这启用结果缓存。
max_rpm最大 RPM输入参数。这设置每分钟最大请求数。
share_crew共享团队输入参数。这决定了团队信息是否在 Agent 之间共享。
function_calling_llm函数调用 LLM输入参数。用于函数调用的语言模型。
crew团队输出参数。构建的具有层次任务执行的 Crew 对象。
CrewAI Sequential Crew

该组件代表一组具有顺序执行任务的 Agent。该组件允许创建按特定顺序执行任务的团队。 有关更多信息,请参阅 CrewAI 顺序团队文档

它接受以下参数:

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

该组件创建一个 CrewAI 任务及其关联的 Agent,允许定义具有特定 Agent 角色和能力的顺序任务。 有关更多信息,请参阅 CrewAI 顺序 Agent 文档

它接受以下参数:

名称显示名称信息
role角色输入参数。Agent 的角色。
goal目标输入参数。Agent 的目标。
backstory背景故事输入参数。Agent 的背景故事。
tools工具输入参数。Agent 可用的工具。
llm语言模型输入参数。驱动 Agent 的语言模型。
memory记忆输入参数。这决定了 Agent 是否应该有记忆。
verbose详细输出输入参数。这启用详细输出。
allow_delegation允许委派输入参数。这决定了 Agent 是否可以将任务委派给其他 Agent。
allow_code_execution允许代码执行输入参数。这决定了 Agent 是否可以执行代码。
agent_kwargsAgent kwargs输入参数。Agent 的附加 kwargs。
task_description任务描述输入参数。详细说明任务目的和执行的描述性文本。
expected_output任务预期输出输入参数。任务预期结果的明确定义。
async_execution异步执行输入参数。指示异步任务执行的布尔标志。
previous_task上一个任务输入参数。序列中用于链接的上一个任务。
task_output顺序任务输出参数。代表创建任务的 SequentialTask 对象列表。

另请参阅

Search