Dify中工作流的其他概念(补完)

节点的编排

在Chatflow和Workflow中,都支持串行和并行两种编排设计模式

串行的不必说,在之前的模型编排中都有使用

对于并行操作,则是支持多个节点在同一节点进行并行执行。

例如同时并行的翻译为多国语言。

而在并行结构中,Dify提供了四种常见的并行节点设计思路。

  1. 普通并行

也就是最直接的,开始|并行结构|结束 三层关系是最简单的并行结构单元。

(并行上限数为10个)

  1. 嵌套并行

嵌套并行指的是 开始|多个并行结构|结束这样的关系,适用于内部较为复杂的工作流,比如一边进行多语言翻译,一边进行搜索,将搜索的结果传递给LLM。

  1. 条件分支加并行

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

  1. 迭代分支+分支

在迭代节点内部进行并行操作。

工作流中的异常处理

如果工作流中的节点出现了异常情况,默认会导致整个工作流的运行失败。

之后提供了异常处理机制,来增强系统的整体灵活性和稳定性

常见的异常处理机制适用于四种节点

LLM,HTTP,代码,工具

如果是LLM,则一些异常可以尝试通过重试来进行解决。此时可以在节点中开启retry机制来进行重试。

但大部分的异常处理都依赖于以下三种机制。

  1. 不处理 中断工作流
  2. 默认值 抛出预定义的异常值作为输出信息
  3. 异常分支 发生异常 执行预编排的异常分支

对于1即不处理好说,就是不进行任何操作

对于2也就是默认值,比如object和array类型,系统则是提供了直观的JSON编辑器,对于String或者Number则是类型编辑器。

对于3也就是异常分支,则是在当前节点上设置异常分支

比如我们设置报错后的邮件预警。

在运行之后,我们可以看到节点的状态,是否成功

包括工作流的整个状态,是否成功(Success),失败(Fail),还是局部成功(Partial success)。

除此外,工作流还有一些额外的功能

  1. Chatflow 支持 文字转语音,不过需要由支持TTS的模型提供服务。
  2. 查看工作流的运行总览信息,诸如日志-详情,查看不同节点的输入和输出的信息

除此外还可以查看各个节点的输入和输出 Token消耗 运行时长

发表评论

邮箱地址不会被公开。 必填项已用*标注