FastGPTFastGPT
构建应用/工作流/节点/工具

工具调用&终止

在 FastGPT 工作流中配置工具调用与终止节点,让大模型自主编排工作流工具、系统插件与 MCP 工具。

工具调用&终止:界面示例

什么是工具

工具可以是一个系统模块(例如:AI 对话、知识库搜索、HTTP 模块等),也可以是一个插件。

工具调用让大语言模型根据上下文动态决策调用链路,代价是 Token 消耗更高。

工具的组成

  1. 工具介绍。通常是模块的介绍或插件的介绍,这个介绍会告诉 LLM,这个工具的作用是什么。
  2. 工具参数。对于系统模块来说,工具参数已经是固定的,无需额外配置。对于插件来说,工具参数是一个可配置项。

工具是如何运行的

要了解工具如何运行的,首先需要知道它的运行条件。

  1. 需要工具的介绍(或者叫描述)。这个介绍会告诉 LLM,这个工具的作用是什么,LLM 会根据上下文语义,决定是否需要调用这个工具。
  2. 工具的参数。有些工具调用时,可能需要一些特殊的参数。参数中有 2 个关键的值:参数介绍 和 是否必须。

结合工具的介绍、参数介绍和参数是否必须,LLM 会决定是否调用这个工具。有以下几种情况:

  1. 无参数的工具:直接根据工具介绍,决定是否需要执行。例如:获取当前时间。
  2. 有参数的工具:
    1. 无必须的参数:尽管上下文中,没有适合的参数,也可以调用该工具。但有时候,LLM 会自己伪造一个参数。
    2. 有必须的参数:如果没有适合的参数,LLM 可能不会调用该工具。可以通过提示词,引导用户提供参数。

工具调用逻辑

支持 函数调用 的模型可在一轮返回多个工具调用,ToolCall 节点按顺序逐个执行。模型文字与工具调用可以在同一轮出现:

ToolCall 节点执行循环ToolCall 节点执行循环

循环最多执行 50 轮,普通工具错误作为结果反馈给模型。交互请求会暂停执行;工具终止信号、用户停止或模型请求错误会结束循环。执行期间,客户端持续接收工具状态。

怎么用

将工具调用节点底部的菱形连接到工具顶部的菱形。详细的连线类型、工具入口归属及流程边界规则,请参考工作流编排规则校验。下图将【自定义工具变量】作为工具接入,再把生成的 service 传给【指定回复】,最后连接【工具调用终止】。

工具连接与终止流程

为工具填写清晰的介绍,并定义必填参数。本例让模型根据用户意图将 service 参数填写为 技术支持 或 销售咨询(配图中标识为 support 或 sales);调试时检查实际生成的参数,再逐步增加工具。

用途

工具调用节点通常会将工具运行结果返回给模型,继续生成最终回答。在工具分支末尾连接【工具调用终止】,可以在该分支完成后结束调用。

本例实测输入 请联系技术支持(对应配图中的 Please call support.),通过【指定回复】输出所选服务标识后,由【工具调用终止】直接结束本轮工具调用。

附加节点

当您使用了工具调用节点,同时就会出现工具调用终止节点和自定义工具变量节点,能够进一步提升工具调用的使用体验。

工具调用终止

工具调用终止可用于结束本次调用,即可以接在某个工具后面,当工作流执行到这个节点时,便会强制结束本次工具调用,不再调用其他工具,也不会再调用 AI 针对工具调用结果回答问题。

工具调用终止:界面示例

自定义工具变量

自定义工具变量可以扩展工具的变量输入,即对于一些未被视作工具参数或无法工具调用的节点,可以自定义工具变量,填上对应的参数描述,那么工具调用便会相对应的调用这个节点,进而调用其之后的工作流。

自定义工具变量:界面示例

输入、输出与使用边界

配置模型、提示词、历史记录、文件链接和用户问题。模型需要支持工具调用(在 AI 配置弹窗选择模型后,确认显示工具调用:支持;若所选模型无工具调用能力,节点无法发起工具调用或会返回调用报错),执行身份需要有工具和所引用资源的权限。通过工具连接点挂接工具,并检查工具描述、必填参数及固定输入。需要自主规划与 Skill 的节点配置见Agent 节点。

主要输出是字符串类型的 AI 回复内容,错误信息用于节点错误处理。工具调用终止节点发出停止当前工具调用循环的信号;需要展示固定结果时,可在终止前连接指定回复。

示例:按需检索制度

  1. 将开始节点连接到工具调用,用户问题引用开始节点输入,在 AI 配置弹窗选择显示工具调用:支持的模型。
  2. 在工具连接点接入知识库搜索,选择已处理的差旅制度知识库。工具描述说明它用于查报销期限及材料。
  3. 提示词要求回答差旅制度问题前先检索。输入“出差回来后多久提交报销?”。
  4. 在运行详情检查工具调用参数与引用,确认返回“15 个自然日”,最终答复保留 15 个自然日期限。

样本资料见首个知识库问答。工具选择和参数由模型产生,调试时检查真实调用;涉及外部写操作时先设计业务确认流程。失败时区分模型错误、参数错误、资源权限和外部服务错误。

在 GitHub 上编辑

文件更新时间

本页导航

准备好开始了吗?

让你的企业知识真正被 AI 用起来