Dify解锁并行处理,四种模式助你玩转复杂工作流!

 点击下方“JavaEdge”,选择“设为星标”

第一时间关注技术干货!

免责声明~

任何文章不要过度深思!

万事万物都经不起审视,因为世上没有同样的成长环境,也没有同样的认知水平,更「没有适用于所有人的解决方案」

不要急着评判文章列出的观点,只需代入其中,适度审视一番自己即可,能「跳脱出来从外人的角度看看现在的自己处在什么样的阶段」才不为俗人

怎么想、怎么做,全在乎自己「不断实践中寻找适合自己的大道」

































































0 前言

Dify Workflow 因其用户友好的设置和强大的功能而广受欢迎。然而,之前的版本以串行方式执行各个步骤,等待每个节点完成后再转到下一个节点。虽提供清晰结构,但这会降低复杂任务的处理速度,增加延迟和响应时间。

Dify v0.8.0 通过引入并行处理功能解决了这些限制。Workflow 现在可以并发执行多个分支,从而能够同时处理不同的任务。这显著提高了执行效率,使 LLM 应用程序能够更快、更灵活地处理复杂的工作负载。

创建并行分支

要在工作流中定义并行分支:

  1. 将鼠标悬停在节点上

  2. 点击出现的 + 图标

  3. 添加不同的节点类型

各个分支将并行执行并合并其输出。请参阅文档以获取详细说明。

工作流包含多种并行场景。可尝试使用这些场景来加快流程。如已在早期版本构建工作流,请考虑用并行模式重构,提高性能。

1 简单并行

基本场景,可从一个固定节点(如起始节点)创建多个并行分支。可同时处理类似的子任务,如翻译或模型比较。

模型比较工作流程中的简单并行性:

https://framerusercontent.com/assets/CSv597nulCSy0uNXY95cOnpeY.mp4

2 嵌套并行

允许在工作流中实现多层级并行结构。从初始节点开始,工作流分支出多个并行路径,每个路径包含各自的并行流程。“科学写作助手”示例展示了两个嵌套层级:

  1. 第一级(框 1): 从问题分类器中,出现了两个主要分支: a.概念解释(框 1) b. 处理偏离主题的对话(“拒绝闲聊”分支)

概念解释(concept explanation)分支(框1)包括:

  • 隐喻和类比分支可增强概念理解

  • 主题提取 | 第二级嵌套(框 2)用于详细的概念分析和内容生成

  1. 第二级(框 2): 主题提取分支执行两个并行任务: a. 提取主题并搜索(提取主题 -> Serper)获取背景信息 b.提取主题并生成学习计划(学习计划->参数提取器->TavilySearch)

这种多层嵌套并行结构非常适合诸如深入概念分析和科学传播内容创作等复杂、多阶段的任务。它能够同时处理不同的概念层面,包括基本解释、类比、背景研究和学习计划,从而提高处理效率和输出质量。

3 迭代并行

涉及循环结构内的并行处理。“股票新闻情绪分析”演示这种方法:

  1. 设置: 搜索并提取特定股票的多个新闻 URL。

  2. 迭代处理: 对于每个 URL,并行执行: a.内容检索:使用 JinaReader 抓取并解析网页内容 b. 观点提取:使用参数提取器识别乐观和悲观的观点 c. 观点总结:使用两个独立的 LLM 模型同时总结乐观和悲观的观点

  3. 合并结果: 将所有发现合并到一张表中。

该方法能够高效处理海量新闻文章,从多个角度分析情绪,帮助投资者做出明智的决策。迭代中的并行处理能够加速具有相似数据结构的任务,从而节省时间并提升性能。

4 条件并行

条件分支并行根据条件运行不同的并行任务分支。“面试准备助手”示例展示了此设置:

  1. 主要条件(IF/ELSE 节点): 根据 dialog_count 拆分流程: a. 第一次对话:确认面试职位和公司 b. 后续对话:进入更深层次的处理

  2. 次要条件(IF/ELSE 2 节点): 在后续对话中,根据现有的公司信息和面试问题进行分支: a. 缺少公司信息:运行并行任务来搜索公司、抓取网页、汇总公司信息 b. 缺少面试问题:并行生成多个问题

  3. 并行任务执行: 对于问题生成,多个 LLM 节点同时启动,每个节点创建不同的问题

这种 IF/ELSE 结构允许 Workflow 根据当前状态和需求灵活地运行不同的并行任务。(问题分类器节点可以实现类似的功能。)这在保持有序的同时提高了效率。它适用于需要根据各种条件同时执行复杂任务的情况,例如本面试准备流程。

5 受益于工作流并行

这四种并行方法(简单、嵌套、迭代和条件)提升了 Dify Workflow 的性能。它们支持多模型协作,简化复杂任务,并动态调整执行路径。这些升级提升了效率,拓宽了应用范围,更好地处理棘手的工作情况。您可以在探索页面的配套模板中快速试用这些新功能。 Dify将继续增强 Workflow,提供更强大、更灵活的自动化解决方案。令人期待!

本文已收录在Github,关注我,紧跟本系列专栏文章,咱们下篇再续!

  • 🚀 魔都架构师 | 全网30W技术追随者

  • 🔧 大厂分布式系统/数据中台实战专家

  • 🏆 主导交易系统百万级流量调优 & 车联网平台架构

  • 🧠 AIGC应用开发先行者 | 区块链落地实践者

  • 🌍 以技术驱动创新,我们的征途是改变世界!

  • 👉 实战干货:编程严选网

加我好友,一起AI探索交流!

写在最后

编程严选网http://www.javaedge.cn/

专注分享AI时代下软件开发全场景最新最佳实践,点击文末【阅读原文】即可直达~

### DIFY平台单据处理工作流配置使用指南 #### 一、角色定义 在DIFY平台上,负责单据处理工作的人员通常分为管理员和操作员两种角色。管理员拥有最高权限,能够创建、编辑以及删除工作流程;而操作员则依据被分配的任务执行具体的操作。 #### 二、任务描述 对于单据处理而言,在该平台上构建的工作流主要涉及以下几个方面: - **表单设计**:定制化输入字段来收集必要的业务数据[^1]。 ```json { "fields": [ {"name":"customerName", "type":"text"}, {"name":"orderDate", "type":"date"} ] } ``` - **审批节点设置**:指定不同级别的审核者及其顺序,确保每份文件都经过适当审查。 - **自动化规则应用**:基于预设条件自动触发某些动作,比如发送通知邮件给相关人员或是更新状态标签等。 #### 三、要求说明 为了使整个过程更加高效顺畅,建议遵循以下几点原则来进行配置: - 明确分工协作机制,让每位参与者清楚自己的职责范围; - 尽量简化不必要的环节以减少人为错误的可能性; - 定期回顾并优化现有流程,适应不断变化的企业需求和发展趋势。 #### 四、提示信息 当着手于实际部署之前,请务必先做好充分准备: - 收集所有可能涉及到的信息项,并据此规划合理的表单项布局; - 组织一次内部培训会议向团队成员介绍新系统的功能特性及操作方法; - 利用测试环境先行模拟真实场景下的运作情况,及时发现潜在问题加以修正完善。 通过上述步骤可以在DIFY平台上成功搭建起一套完善的单据处理工作流体系,从而提高工作效率和服务质量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值