Dify中工作流的其他概念(补完)
节点的编排
在Chatflow和Workflow中,都支持串行和并行两种编排设计模式
串行的不必说,在之前的模型编排中都有使用
对于并行操作,则是支持多个节点在同一节点进行并行执行。
例如同时并行的翻译为多国语言。
而在并行结构中,Dify提供了四种常见的并行节点设计思路。
- 普通并行
也就是最直接的,开始|并行结构|结束 三层关系是最简单的并行结构单元。
(并行上限数为10个)
- 嵌套并行
嵌套并行指的是 开始|多个并行结构|结束这样的关系,适用于内部较为复杂的工作流,比如一边进行多语言翻译,一边进行搜索,将搜索的结果传递给LLM。

- 条件分支加并行
就是简单的条件分支加上并行

- 迭代分支+分支
在迭代节点内部进行并行操作。
工作流中的异常处理
如果工作流中的节点出现了异常情况,默认会导致整个工作流的运行失败。
之后提供了异常处理机制,来增强系统的整体灵活性和稳定性
常见的异常处理机制适用于四种节点
LLM,HTTP,代码,工具
如果是LLM,则一些异常可以尝试通过重试来进行解决。此时可以在节点中开启retry机制来进行重试。
但大部分的异常处理都依赖于以下三种机制。
- 不处理 中断工作流
- 默认值 抛出预定义的异常值作为输出信息
- 异常分支 发生异常 执行预编排的异常分支
对于1即不处理好说,就是不进行任何操作
对于2也就是默认值,比如object和array类型,系统则是提供了直观的JSON编辑器,对于String或者Number则是类型编辑器。
对于3也就是异常分支,则是在当前节点上设置异常分支

比如我们设置报错后的邮件预警。
在运行之后,我们可以看到节点的状态,是否成功
包括工作流的整个状态,是否成功(Success),失败(Fail),还是局部成功(Partial success)。
除此外,工作流还有一些额外的功能
- Chatflow 支持 文字转语音,不过需要由支持TTS的模型提供服务。
- 查看工作流的运行总览信息,诸如日志-详情,查看不同节点的输入和输出的信息
除此外还可以查看各个节点的输入和输出 Token消耗 运行时长