跳到主要内容

为智能体配置工具

配置连接到智能体的工具以扩展其功能。

编辑工具组件的操作

要编辑工具的操作,在工具组件中,点击 Edit Tools 来修改其 namedescriptionenabled 元数据。 这些字段帮助连接的智能体理解如何使用操作,而无需修改智能体的提示指令。

例如,URL 组件在启用 Tool Mode 时有两个可用操作:

Tool NameDescriptionEnabled
fetch_content递归获取网页内容true
fetch_content_as_message获取格式化为消息的网页内容true

Langflow Agent 根据 namedescription 元数据清楚地了解每个工具的功能。enabled 布尔值控制工具对智能体的可用性。如果您认为智能体使用工具不正确,请编辑工具的 description 元数据以帮助智能体更好地理解工具。

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

将智能体用作工具

智能体组件本身也支持 Tool Mode 来创建多智能体流程。

向您的流程添加一个使用不同 OpenAI 模型的智能体,以获得更大的上下文窗口。

  1. 创建 Simple agent 起始流程
  2. 向流程添加第二个智能体组件。
  3. 将您的 OpenAI API Key 添加到 Agent 组件。
  4. Model Name 字段中,选择 gpt-4.1
  5. 点击 Tool Mode 将此新智能体用作工具。
  6. 将新智能体的 Toolset 端口连接到之前创建的智能体的 Tools 端口。 新智能体将使用 gpt-4.1 来处理需要大上下文窗口的抓取和搜索信息的大型任务。 之前创建的智能体现在将使用这个智能体作为工具,具有其独特的 LLM 和工具集。

智能体作为工具

  1. 可以编辑新智能体的操作以帮助智能体理解如何使用它。 点击 Edit Tools 来修改其 namedescriptionenabled 元数据。 例如,默认工具名称是 Agent。将名称编辑为 Agent-gpt-41,并将描述编辑为 使用 gpt-4.1 模型进行复杂问题解决。连接的智能体将理解这是 gpt-4.1 智能体,并将其用于需要更大上下文窗口的任务。

将自定义组件添加为工具

智能体可以使用 自定义组件 作为工具。

  1. 要向智能体流程添加自定义组件,请点击 New Custom Component

  2. Code 窗格中输入 Python 代码来创建自定义组件。

    如果您还没有自定义组件的代码,可以在创建自己的组件之前使用以下代码片段作为示例。

    Text Analyzer 自定义组件

    此代码创建一个文本分析器组件。


    _50
    from langflow.custom import Component
    _50
    from langflow.io import MessageTextInput, Output
    _50
    from langflow.schema import Data
    _50
    import re
    _50
    _50
    class TextAnalyzerComponent(Component):
    _50
    display_name = "Text Analyzer"
    _50
    description = "Analyzes and transforms input text."
    _50
    documentation: str = "http://docs.langflow.org/components/custom"
    _50
    icon = "chart-bar"
    _50
    name = "TextAnalyzerComponent"
    _50
    _50
    inputs = [
    _50
    MessageTextInput(
    _50
    name="input_text",
    _50
    display_name="Input Text",
    _50
    info="Enter text to analyze",
    _50
    value="Hello, World!",
    _50
    tool_mode=True,
    _50
    ),
    _50
    ]
    _50
    _50
    outputs = [
    _50
    Output(display_name="Analysis Result", name="output", method="analyze_text"),
    _50
    ]
    _50
    _50
    def analyze_text(self) -> Data:
    _50
    text = self.input_text
    _50
    _50
    # Perform text analysis
    _50
    word_count = len(text.split())
    _50
    char_count = len(text)
    _50
    sentence_count = len(re.findall(r'\w+[.!?]', text))
    _50
    _50
    # Transform text
    _50
    reversed_text = text[::-1]
    _50
    uppercase_text = text.upper()
    _50
    _50
    analysis_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
    _50
    data = Data(value=analysis_result)
    _50
    self.status = data
    _50
    return data

  3. 要将自定义组件用作工具,请点击 Tool Mode

  4. 将自定义组件的工具输出连接到智能体的工具输入。

  5. 打开 Playground 并指示智能体:对这段文本使用文本分析器:"智能体真的是思考机器!"

    根据您的指令,智能体应该调用 analyze_text 操作并返回结果。 例如:


    _10
    gpt-4o
    _10
    完成
    _10
    0.6s
    _10
    以下是对文本"智能体真的是思考机器!"的分析:
    _10
    原始文本: 智能体真的是思考机器!
    _10
    单词数: 5
    _10
    字符数: 36
    _10
    句子数: 1
    _10
    反转文本: !器机考思是的真体能智
    _10
    大写文本: 智能体真的是思考机器!

使任何组件成为工具

如果您想用作工具的组件没有 Tool Mode 按钮,请将 tool_mode=True 添加到组件的一个输入中,并将新的 Toolset 输出连接到智能体的 Tools 输入。

Langflow 支持以下数据类型的 Tool Mode

  • DataInput
  • DataFrameInput
  • PromptInput
  • MessageTextInput
  • MultilineInput
  • DropdownInput

例如,上面的 组件作为工具 示例将 tool_mode=True 添加到 MessageTextInput 输入中,这样自定义组件就可以用作工具了。


_10
inputs = [
_10
MessageTextInput(
_10
name="input_text",
_10
display_name="Input Text",
_10
info="Enter text to analyze",
_10
value="Hello, World!",
_10
tool_mode=True,
_10
),
_10
]

使用流程作为工具

智能体可以使用保存在您工作空间中的流程作为工具,通过 Run flow 组件。

  1. 要添加 Run flow 组件,请点击并将 Run flow 组件拖拽到您的工作空间。
  2. 选择您希望智能体用作工具的流程。
  3. 在组件中启用 Tool ModeRun flow 组件将您的流程显示为可用操作。
  4. Run flow 组件的工具输出连接到智能体的工具输入。
  5. 询问智能体:您使用什么工具来回答我的问题? 您的流程应该在响应中作为工具可见。
  6. 要求智能体具体使用连接的工具来回答您的问题。 连接的流程根据您的问题返回答案。 例如,作为工具连接的基本提示流程根据其 LLM 和提示指令返回不同的结果。

作为工具连接到智能体的 Run Flow

Search