现象
- 工作流连线过多,难以管理和理解
- 单个参数无法从多个上游节点获取,需重复创建相同模块
- 无法精准控制节点执行时机
- 工作流组件平铺占用画布空间大,单屏可容纳组件数量少
- 工具插件缺乏输出模块,难以构建复杂递归决策链
- 缺少代码执行能力,复杂逻辑实现困难
- 多工具调用或长文档处理时存在token超限问题
- 未内置chat with pdf相关功能
可能原因
- 旧版工作流架构未支持多源输入参数、精准执行时机控制等设计
- UI布局未优化组件展示逻辑,导致空间占用过高
- 现有功能未覆盖代码执行、多源参数聚合等场景需求
- 未针对长文档处理和多工具调用做token管控优化
排查步骤
- 确认当前使用的FastGPT工作流版本,若为旧版可等待官方重构更新
- 若需单个参数获取多个上游节点的值,可临时通过全局变量挂载实现
- 若需代码执行能力,可优先使用内置JS脚本执行器
- 若需处理长文档或多工具调用,可拆分执行步骤后汇总结果
- 检查节点连线配置,适配现有功能逻辑
解决与验证
- 工作流架构优化:重构后将为每个节点增加
sources和targets数组字段,执行前初始化source状态为waiting,节点运行成功后更新对应节点状态,支持精准控制执行时机,同时支持跳过特定节点及后续单源节点 - 多源参数支持:支持通过全局变量挂载实现单个参数获取多个上游节点的值,减少重复模块创建
- 输入交互优化:支持递归获取前面所有节点的输出值,动态input通过nodeId和outputId获取其他节点的输出值,赋值时机为节点运行前
- UI布局优化:将优化组件布局,降低画布空间占用,提升单屏可容纳组件数量
- 工具插件能力:支持输出模块,支持四向连接,便于构建复杂递归决策链
- 代码执行能力:内置JS脚本执行器,复杂逻辑可通过扩展方式实现
- 长文档处理功能:上传PDF后导入临时知识库,编排时选择对应知识库;总结场景分步执行chunk遍历,提问场景使用向量检索
- 多工具调用优化:拆分执行步骤后汇总结果,避免token超限
来源: FastGPT GitHub issue #1140