简介:

在 Dify 中,并行结构是指工作流中多个节点可以同时运行,而不是按照线性顺序依次执行 。在处理复杂任务时,将任务拆分成多个子任务,分别由不同的节点并行处理,最后将各节点的处理结果汇总,以实现高效的任务处理流程。

1.简单并行:

这种是dify中最简单的并行结构,分支1,分支2,分支3可以同时运行。我们将鼠标指针放在其中一个分支上,可以看到分支左上角出现了并行运行的文字,也可以帮我们判断他们是不是并行运行的。

2.嵌套并行

嵌套并行听起来高大上,其实也很好理解,就像刚刚简单并行结构一样,我们将其中一个分支2拆成一个并行结构:

如果我们将 分支2(以及分支2-1和分支2-2)  作为一个整体看待的话,那么就是 这一个整体和 分支1与分支3并行。同时,在分支2的内部,分支2-1和分支2-2是并行运行的。

3.复杂结构

我个人在工作的时候编写了下面这样的结构:其实,下面这个结构是错误的,当我们运行的时候会报错:节点LLM2节点的LLM1的变量缺失。当我们按照如下情况运行时,到了LLM2这个节点的时候,可能分支3已经完成了,而LLM1还没有完成,但是我们LLM2的输入又需要LLM1的输入,就会报缺少变量的错误。

因为下图的工作流从开始节点分成了三条并行分支,但是分支确实两两合并,导致最后的汇总节点并不能实现阻塞等待。

正确是做法应该如下:

我们在分支1和分支2之前加入了一个LLM3节点,这样我们的分支结构就变成了一个双分支并行结构,同时在LLM3分支下又嵌套了另一个双分支并行结构。

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐