定义
此节点用于在“代理策略”中调用特定工具。在“代理策略”的编排中,它通常与大模型节点一起运行。大模型节点决定是否调用工具,而“工具调用”节点负责执行工具。
配置

“工具名称”和“输入变量”
两者都是必填参数。需要注意的是,“工具名称”指的是系统内工具的唯一标识符,而不是其“显示名称”。“工具名称”是在工具发布期间自定义定义的,必须以字母开头,支持字母、数字和下划线。
“输入变量”的数据格式结构如下:
{ "param1": "value1", "param2": "value2" }
您可以根据上述格式填写文本,也可以插入变量,但变量插入也必须符合指定的数据格式。
配置示例
假设您希望通过“工具调用”节点调用名为“Testing tools”的工具,如下图所示:

“工具名称”应填写为:Testing_tools(而不是使用显示名称“Testing tools”)。
“输入变量”的示例如下:
{ "number1": 1, "number2": 2 }
确保“param”的数据格式等同于“变量名称”,并且“value”的格式符合相应的“类型”。
输出变量
输出变量的结果是对象数据格式,不能修改。
错误处理
当“工具调用”节点报告错误时,会触发并提供三种处理选项:

- 无:节点会报告错误并停止运行,如果发生任何异常。
- 默认值:选择此选项时,您需要指定错误发生时的默认输出结果,也必须是对象数据格式。
- 错误分支:通过连接错误处理分支,您可以自定义节点错误发生时的响应策略,例如发送警报、执行备份任务或记录日志。
使用示例
在典型的“代理策略”工作流编排中,“工具调用”节点通常与“大模型”节点、“JSON变量提取器”节点和“条件跳转”节点结合在一起作为前置节点。为了实现代理的多轮迭代要求,上述编排通常包含在“循环”中,迭代次数由插入初始节点的$MaxIterations参数指定。此迭代的示例如下图所示:

以下是图示中迭代中的节点的详细说明:
1. 大模型节点
提示应指定在需要工具时的输出格式和不使用工具时的输出格式。建议在两种情况下都使用JSON格式进行结构化数据输出。例如:
工具使用格式为JSON格式。其结构如下: { "Tool": "the_toole_name", "Input": { "param1": "value1", "param2": "value2", } }
2. JSON变量提取器节点
此节点将前面的大模型节点的结构化数据输出提取为变量,以供后续节点使用。例如,您可以提取工具、工作流ID和输入,均为字符串格式。
3. 条件跳转节点
在此节点中,由JSON变量提取器提取的变量“工具”用作条件分支的标准。它评估“工具”是否等于“the_tool_name”来决定是否调用工具。
4. 工具调用节点
在前面的条件跳转节点确定需要调用工具后,工具调用节点用JSON变量提取器提取的工具名称和输入变量填充,如下图所示。
