故障排查GitHub issue2 分钟阅读排错/错误码

FastGPT工具节点调用后直接输出结果的排查与解决方案

使用FastGPT的工具节点执行业务逻辑时,工具从外部数据源获取数据后,无法禁止直接输出结果。工具节点执行完成后,结果会直接展示在对话界面,无法先将结果传入后续节点进行处理后再决定是否输出,导致多节点编排的业务流程无法按预期执行。

现象

使用FastGPT的工具节点执行业务逻辑时,工具从外部数据源获取数据后,无法禁止直接输出结果。工具节点执行完成后,结果会直接展示在对话界面,无法先将结果传入后续节点进行处理后再决定是否输出,导致多节点编排的业务流程无法按预期执行。

可能原因

工具节点未配置类似AI节点的流输出控制开关,且工具调用的时机与返回结果存在不确定性,无法直接拦截初始输出内容,导致工具返回结果会直接展示在对话界面,无法先传入后续节点进行二次处理,影响多节点编排的业务逻辑。

排查步骤

  1. 确认当前使用的FastGPT版本是否为最新正式版,若未升级,先完成版本升级。
  2. 检查工具节点的配置项,确认是否存在可控制直接输出的开关参数,当前版本暂未提供对应配置。
  3. 梳理工作流编排逻辑,确认是否存在需要先处理工具返回结果再输出的业务场景。

解决与验证

临时方案

在工程层面针对每个应用单独处理工具节点的返回结果,拦截直接输出逻辑,将结果存入变量后供后续节点使用,但该方案需针对每个应用单独配置,成本较高。

优化方向参考

  1. 参考AI节点的流输出开关配置:新增工具节点的输出控制开关,关闭开关后强制工具调用使用非流模式,且不直接将结果展示在对话界面,可将返回内容存入变量供后续编排节点处理。
  2. 参考标准输入输出节点设计:将工具节点作为中间处理节点,所有流程最终通过专属输出节点对外输出,实现多节点编排的完整流程。

验证方式:若采用优化方向的配置,工具节点返回结果将不会直接展示在对话界面,可通过变量调用或指定插件将结果输出至对话界面,满足多节点处理的业务需求。

来源: FastGPT GitHub issue #5091