跳到主要内容

为智能体配置工具

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

编辑工具组件的操作​

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

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

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

Langflow Agent 根据 name 和 description 元数据清楚地了解每个工具的功能。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 来修改其 name、description 或 enabled 元数据。 例如,默认工具名称是 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 Mode。 Run flow 组件将您的流程显示为可用操作。
  4. 将 Run flow 组件的工具输出连接到智能体的工具输入。
  5. 询问智能体:您使用什么工具来回答我的问题? 您的流程应该在响应中作为工具可见。
  6. 要求智能体具体使用连接的工具来回答您的问题。 连接的流程根据您的问题返回答案。 例如,作为工具连接的基本提示流程根据其 LLM 和提示指令返回不同的结果。

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

Search