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

FastGPT版本升级后子工作流全局变量无法传递到父工作流的排查解决方法

用户在FastGPT v4.9.1版本中可正常实现子工作流全局变量传递到父工作流的功能:创建父工作流并设置全局变量SN,引入子工作流节点并将父工作流的全局变量SN传递给子工作流,子工作流用于设置目标变量。首次问答结束后变量可保存至父工作流,第二次提问时可正常输出更新后的变量。

现象

用户在FastGPT v4.9.1版本中可正常实现子工作流全局变量传递到父工作流的功能:创建父工作流并设置全局变量SN,引入子工作流节点并将父工作流的全局变量SN传递给子工作流,子工作流用于设置目标变量。首次问答结束后变量可保存至父工作流,第二次提问时可正常输出更新后的变量。但在FastGPT v4.13.1版本中执行完全相同的操作时,第二次提问时子工作流的变量无法重置并传递到父工作流,功能出现缺失。

可能原因

该问题仅在v4.13.1版本中出现,未在v4.9.1版本中发生。目前推测可能与v4.13.1版本对工作流全局变量传递的逻辑调整有关,具体代码变动位置未在issue中明确,需结合项目官方提交记录或维护者提供的信息确认。

排查步骤

  1. 确认当前部署的FastGPT版本为v4.13.1。
  2. 创建父工作流,设置全局变量SN,添加子工作流节点,并将父工作流的全局变量SN传递至该子工作流。
  3. 配置子工作流用于设置目标变量,完成节点连接。
  4. 发起首次问答,确认父工作流的全局变量是否正常保存。
  5. 发起第二次提问,检查子工作流的变量是否能重置并更新到父工作流中。
  6. 切换至v4.9.1版本执行相同的配置与操作流程,对比两次版本的功能表现,确认问题是否仅出现在v4.13.1版本。

解决与验证

若需恢复子工作流全局变量传递到父工作流的功能,可参考v4.9.1版本中工作流变量传递的代码逻辑进行调整。验证该功能是否恢复的方法为:完成变量传递配置后,执行多次问答,确认父工作流的全局变量能在每次提问后正确更新。若需定位具体代码变动位置,可对比v4.9.1与v4.13.1版本中工作流变量处理相关的提交记录,查找涉及全局变量传递逻辑的修改内容。

来源:FastGPT GitHub issue