为智能体配置工具
默认情况下,Langflow 智能体仅包含其基础大语言模型(LLM)内置的功能。
您可以为智能体挂载工具,以提供对额外的、有针对性的功能的访问。例如,工具可用于创建特定领域的智能体,如可以访问公司知识库的客户支持智能体、可以检索股票价格的金融智能体,或者可以使用高级数学函数解决复杂方程的数学老师智能体。
挂载工具
要为智能体挂载工具,您需要将任何组件的 Tool 输出连接到 Agent 组件的 Tools 输入。
某些组件默认发出 Tool 输出。对于所有其他组件,您必须在 组件的标题菜单 中启用 Tool Mode(工具模式)。然后,您就可以将该工具连接到智能体。
您可以将多个工具连接到一个智能体,每个工具可以有多个供智能体调用的动作(函数)。
运行工作流时,如果智能体确定某个工具可以帮助其响应用户的提示词,它会决定何时调用特定的工具。
编辑工具的动作
当您将组件作为工具挂载到智能体时,每个工具可以有多个供智能体调用的动作(函数)。可用动作列在每个工具组件的 Actions 列表中。
您可以更改每个动作的标签、描述和可用性,以帮助智能体理解如何使用该工具,并防止其使用不相关或不需要的动作。
如果智能体似乎在使用工具时出错,请尝试编辑动作元数据以澄清工具的用途,并禁用不必要的动作。
您还可以尝试使用 Prompt Template(提示词模板)组件向智能体传递额外的指令或示例。
要查看和编辑工具的动作,请点击 工具组件上的 Edit Tool Actions(编辑工具动作)。
每个动作都提供以下信息:
-
Enabled(已启用):一个复选框,决定该动作是否对智能体可用。如果选中,则动作已启用。如果未选中,则动作已禁用。
-
Name(名称):动作的人类可读字符串名称,例如
Fetch Content。此项不可更改。 -
Description(描述):动作用途的人类可读描述,例如
Fetch content from web pages recursively(递归地从网页抓取内容)。要编辑此值,请双击动作所在的行以打开编辑面板。当您点击字段外或关闭对话框时,更改会自动保存。 -
Slug(标识符):动作的编码名称,通常与名称相同但采用蛇形命名法(snake case),例如
fetch_content。要编辑此值,请双击动作所在的行以打开编辑面板。当您点击字段外或关闭对话框时,更改会自动保存。
某些动作允许您为其输入提供固定值。通常情况下,您希望将这些留空,以便智能体可以提供自己的值。但是,如果您正在尝试调试智能体的行为,或者您的用例需要为某个动作提供固定输入,则可以使用固定值。
将智能体用作工具
要创建多智能体流,您可以将另一个 Agent 组件设置为 Tool Mode,然后将该智能体作为工具挂载到您的主 Agent 组件上。
要亲自尝试此操作,请在 Simple Agent 模板中添加一个额外的智能体:
-
基于 Simple Agent 模板创建一个工作流。
-
在工作流中添加第二个 Agent 组件。
-
将您的 OpenAI API Key 添加到这两个 Agent 组件中。
-
在第二个 Agent 组件中,将模型更改为
gpt-4.1,然后启用 Tool Mode。 -
点击 点击 Edit Tool Actions 以 编辑该工具的动作。
在此示例中,将动作的标识符(slug)更改为
Agent-gpt-41,并将描述设置为Use the gpt-4.1 model for complex problem solving(使用 gpt-4.1 模型解决复杂问题)。这让主智能体知道此工具使用gpt-4.1模型,这对于需要更大上下文窗口的任务(如大规模抓取和搜索任务)可能会很有帮助。作为另一个例子,您可以将多个专业模型挂载到一个主智能体上,例如在某些任务或领域经过训练的智能体,然后主智能体将根据需要调用每个专业智能体来响应查询。
如果您想限制可用的工具集,还可以启用或禁用工具。
-
将新智能体的 Toolset 端口连接到现有智能体的 Tools 端口。

将自定义组件添加为工具
智能体可以将 自定义组件 作为工具使用。
-
要将自定义组件添加到智能体流中,请点击 Core components(核心组件)或 Bundles(捆绑包)菜单中的 New Custom Component(新建自定义组件)。
-
在 Code 面板中输入 Python 代码以创建自定义组件。
如果您还没有自定义组件的代码,在创建自己的组件之前,可以使用以下代码片段作为示例。
文本分析器(Text Analyzer)自定义组件
这段代码创建了一个文本分析器组件。
_50from langflow.custom import Component_50from langflow.io import MessageTextInput, Output_50from langflow.schema import Data_50import re_50_50class TextAnalyzerComponent(Component)_50display_name = "Text Analyzer"_50description = "Analyzes and transforms input text."_50documentation: str = "https://docs.langflow.org.cn/components/custom"_50icon = "chart-bar"_50name = "TextAnalyzerComponent"_50_50inputs = [_50MessageTextInput(_50name="input_text",_50display_name="Input Text",_50info="Enter text to analyze",_50value="Hello, World!",_50tool_mode=True,_50),_50]_50_50outputs = [_50Output(display_name="Analysis Result", name="output", method="analyze_text"),_50]_50_50def analyze_text(self) -> Data_50text = self.input_text_50_50# 执行文本分析_50word_count = len(text.split())_50char_count = len(text)_50sentence_count = len(re.findall(r'\w+[.!?]', text))_50_50# 转换文本_50reversed_text = text[::-1]_50uppercase_text = text.upper()_50_50analysis_result = {_50"original_text": text,_50"word_count": word_count,_50"character_count": char_count,_50"sentence_count": sentence_count,_50"reversed_text": reversed_text,_50"uppercase_text": uppercase_text_50}_50_50data = Data(value=analysis_result)_50self.status = data_50return data -
在自定义组件中启用 Tool Mode。
-
将自定义组件的工具输出连接到 Agent 组件的 Tools 输入。
-
打开 Playground 并向智能体发出指令:
Use the text analyzer on this text: "Agents really are thinking machines!"根据您的指令,智能体应调用
analyze_text动作并返回结果。例如:_10gpt-4o_10已完成_100.6秒_10以下是文本 "Agents really are thinking machines!" 的分析结果:_10原始文本: Agents really are thinking machines!_10词数: 5_10字符数: 36_10句子数: 1_10反转文本: !senihcam gnikniht era yllaer stnegA_10大写文本: AGENTS REALLY ARE THINKING MACHINES!
使任何组件成为工具
如果您想用作工具的组件没有 Tool Mode 按钮,请在该组件的一个输入中添加 tool_mode=True,并将新的 Toolset 输出连接到智能体的 Tools 输入。
Langflow 为以下数据类型支持 Tool Mode:
DataInputDataFrameInputPromptInputMessageTextInputMultilineInputDropdownInput
例如,将自定义组件作为工具使用 中的示例代码在 MessageTextInput 输入中包含了 tool_mode=True,因此该自定义组件可以作为工具使用。
_10inputs = [_10MessageTextInput(_10name="input_text",_10display_name="Input Text",_10info="Enter text to analyze",_10value="Hello, World!",_10tool_mode=True,_10 ),_10]
将工作流用作工具
智能体可以通过 Run Flow 组件 将您的其他工作流作为工具使用。
- 在您的流中添加一个 Run Flow 组件。
- 选择您希望智能体作为工具使用的流。
- 启用 Tool Mode。所选的流将成为 Run Flow 组件中的一个 动作(action)。
- 将 Run Flow 组件的 Tool 输出连接到 Agent 组件的 Tools 输入。
- 打开 Playground,然后询问智能体:
What tools are you using to answer my questions?您的工作流应该作为一个可用工具出现在回复中。 - 向智能体提出一个专门使用该连接工作流作为工具的问题。连接的工作流将根据您的问题返回答案。
