为代理配置工具
为代理配置连接的工具以扩展其功能。
编辑工具的操作
当您将任何组件设置为工具模式或工具输出时,代理可以使用该组件提供的操作(函数)。 可用操作列在工具组件的操作列表中。
您可以更改每个操作的标签、描述和可用性,以帮助代理理解如何使用该工具,并防止它使用不相关或不必要的操作。
如果代理似乎在使用工具时出错,请尝试编辑操作元数据以明确工具的目的并禁用不必要的操作。
您也可以尝试使用提示模板组件向代理传递额外的指令或示例。
要查看和编辑工具的操作,请在工具组件上点击 编辑工具操作。
为每个操作提供以下信息:
-
已启用:一个复选框,用于确定操作是否对代理可用。 如果选中,则启用该操作。 如果未选中,则禁用该操作。
-
名称:操作的可读字符串名称,例如
Fetch Content
。此名称不可更改。 -
描述:操作目的的可读描述,例如
递归地从网页获取内容
。要编辑此值,请双击操作的行以打开编辑面板。 当您点击字段外部或关闭对话框时,更改将自动保存。
-
Slug:操作的编码名称,通常与名称相同但使用蛇形命名法,例如
fetch_content
。要编辑此值,请双击操作的行以打开编辑面板。 当您点击字段外部或关闭对话框时,更改将自动保存。
要编辑描述或Slug,请双击操作行的任意位置以打开编辑面板。 请注意,编辑页面上的名称字段映射到Slug列。 当您点击字段外部或关闭对话框时,更改将自动保存。
可选地,您可以为操作的输入提供固定值。通常您希望将这些留空,以便代理可以提供自己的值。如果您尝试调试代理的行为或您的用例需要操作的固定输入,您可以使用固定值。
将代理用作工具
要创建多代理流程,您可以将另一个代理组件设置为工具模式,然后将该代理作为工具附加到您的主要代理组件。
要亲自尝试此功能,请向简单代理模板添加一个额外的代理:
-
基于简单代理模板创建一个流程。
-
向流程中添加第二个代理组件。
-
将您的OpenAI API密钥添加到两个代理组件中。
-
在第二个代理组件中,将模型更改为
gpt-4.1
,然后启用工具模式。 -
点击 编辑工具操作来编辑工具的操作。
在此示例中,将操作Slug更改为
Agent-gpt-41
,并将描述设置为使用gpt-4.1模型解决复杂问题
。 这让主代理知道此工具使用gpt-4.1
模型,这对于需要更大上下文窗口的任务可能很有帮助,例如大规模抓取和搜索任务。作为另一个示例,您可以将几个专业模型附加到主代理,例如针对特定任务或领域训练的代理,然后主代理将根据需要调用每个专业代理来响应用户查询。
如果您想限制可用的工具集,也可以启用和禁用工具。
-
将新代理的工具集端口连接到现有代理的工具端口。
将自定义组件添加为工具
代理可以使用 自定义组件 作为工具。
-
要将自定义组件添加到代理流程中,请在 Components 菜单中点击 New Custom Component。
-
在 Code 窗格中输入 Python 代码来创建自定义组件。
如果您还没有自定义组件的代码,在创建自己的代码之前,可以使用以下代码片段作为示例。
文本分析器自定义组件
此代码创建了一个文本分析器组件。
_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 = "http://docs.langflow.org/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# Perform text analysis_50word_count = len(text.split())_50char_count = len(text)_50sentence_count = len(re.findall(r'\w+[.!?]', text))_50_50# Transform text_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_10Finished_100.6s_10Here is the analysis of the text "Agents really are thinking machines!":_10Original Text: Agents really are thinking machines!_10Word Count: 5_10Character Count: 36_10Sentence Count: 1_10Reversed Text: !senihcam gnikniht era yllaer stnegA_10Uppercase Text: AGENTS REALLY ARE THINKING MACHINES!