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

解决FastGPT编排场景下全局变量异常报错问题

编排时发送消息出现报错,该问题仅存在于原有编排的应用中,新建应用无此问题。部分场景下全局变量引用为空,HTTP插件中无法获取全局变量值。工作流中更新全局变量后,本轮对话内更新值生效,后续对话中更新值丢失。工作流内全局变量判空逻辑误走空分支,全局变量更新未成功。

现象

编排时发送消息出现报错,该问题仅存在于原有编排的应用中,新建应用无此问题。部分场景下全局变量引用为空,HTTP插件中无法获取全局变量值。工作流中更新全局变量后,本轮对话内更新值生效,后续对话中更新值丢失。工作流内全局变量判空逻辑误走空分支,全局变量更新未成功。测试环境下出现校验错误导致无法发送消息,生产环境下无明显提示。

可能原因

新版本全局状态变量名与描述存在不一致;全局变量更新逻辑存在缺陷,更新后的值仅在本轮对话生效,无法在后续对话保留;原有编排应用的历史变量key名与新版本不匹配。

排查步骤

  1. 确认当前使用的FastGPT版本,排查是否为存在该问题的新版本。
  2. 比对原有编排应用的全局变量key名与新版本全局状态变量的说明。
  3. 测试全局变量更新操作,验证更新后的值是否在多轮对话中正常保留。
  4. 检查工作流内全局变量的判空逻辑,确认变量更新是否成功。
  5. 测试HTTP插件中全局变量的引用,确认是否可正常获取变量值。

解决与验证

保存全局变量配置即可同步变量名与描述的差异。针对全局变量更新不持久的问题,官方已确认该缺陷并提交修复(关联#3156),待发布修复补丁后可解决。验证方式:更新全局变量配置后保存,发起多轮对话,确认更新后的全局变量值可正常保留;测试工作流判空逻辑,确认流程可正确匹配变量状态;测试HTTP插件引用全局变量,确认可正常获取值。

来源: FastGPT GitHub issue #3154