需要注意的是,该功能目前仅对企业版和Pro版用户开放。免费版的工作流编辑器中不会显示并行节点图标。因此,如果你使用的是免费版,想要使用并行节点,就需要考虑升级到更高版本。
确认工作流支持并行节点
进入Dify控制台,找到应用管理,选择你要配置的应用,点击「编排」进入可视化编辑器。请注意,只有企业版或Pro版的工作流才会提供并行节点组件。在免费版界面中,你根本看不到该节点的图标。
如果左侧节点栏中没有出现两个重叠方框图标的“Parallel”节点,说明当前版本不支持并行执行。若想使用,你需要升级到Pro版。
添加并行节点并配置分支
具体操作非常简单:从左侧节点栏拖拽“Parallel”节点到画布中央,松开鼠标后,它会自动展开为三个默认分支:Branch 1、Branch 2、Branch 3。
每个分支右上角都有一个“+”号,点击即可新增分支,最多支持8个并发分支。如果想删除某个空分支,点击分支名称旁边的垃圾桶图标即可。但请记住,至少需要保留2个分支才能启用并行逻辑。
另外,每个分支内只能接入一个根节点(例如LLM、HTTP、Knowledge Retrieval等),并且绝对不能嵌套另一个Parallel节点。如果尝试这样做,保存时会报错“Nested parallel nodes not allowed”,校验直接失败。
将独立任务分配到不同分支
有两种方式可以将你的独立任务放置到不同分支中。
方法一:拖拽已有节点进入分支。例如,直接将已建好的HTTP请求节点拖到Branch 1区域,再把另一个LLM调用节点拖到Branch 2区域,系统会自动将它们绑定到对应分支入口。
方法二:在分支内新建节点。点击Branch 1的空白区域,然后点击“+ Add node”,选择“HTTP Request”,配置好URL和参数即可。同理,在Branch 2中新建“Knowledge Retrieval”节点,并选定知识库。
需要特别强调的是,分支内的节点必须有明确的输出字段,否则并行合并时数据会丢失。例如,HTTP节点需要勾选“Return response body”,LLM节点要设置“Output variable name”为result_text之类的变量名,否则后面的Merge节点将无法读取数据。
合并并行结果
第一步:在所有分支末端统一连接一个Merge节点。从左侧拖入“Merge”节点,然后将其与各分支最后一个节点的输出端口相连(Branch 1→Merge Input 1,Branch 2→Merge Input 2……)。
第二步:配置Merge策略。点击Merge节点,在右侧面板选择“Merge mode”。如果选择“Object”,各分支输出会合并成一个JSON对象,键名就是分支名;如果选择“Array”,则会合并成一个数组,按分支顺序排列。
第三步:引用合并后的数据。在后续的LLM或Condition节点中,使用{{merge.output.key_name}}可以访问Branch 1返回的某个字段,使用{{merge.output}}可以直接获取整个合并结果。值得注意的是,如果某个分支超时未返回数据,该字段的值会是null,但这不会影响其他分支的结果,你依然可以正常获取到数据。
