Dify 中级实验(05):并行执行——如何让多路任务同时跑?
Dify 中级实验05并行执行——如何让多路任务同时跑Dify 实验系列 · 中级 05/20 | 实验编号DIFY-102-06上篇Dify 中级实验04迭代进阶——如何批量处理数据并守住性能边界1. 实验目的掌握并行分支Parallel Branch的使用从开始节点拉出多条独立路径同时执行理解并行 vs 串行的权衡、分支间变量隔离规则以及结果合并这一并行架构的真正瓶颈。适合场景一个综合问题需要多路取数知识库 API 搜索、多源信息汇总、互不依赖的子任务并发。2. 场景设计用户提出一个综合问题需要同时从三个维度取数才能完整回答分支 A知识库检索产品技术文档 → 摘要分支 B库存/价格 API模拟0.5s 延迟分支 C互联网搜索市场动态模拟0.8s 延迟。串行总耗时 三步之和约 1.3s并行总耗时 ≈ 最慢分支约 0.8s。最后 LLM 整合三路信息带来源标注输出。输入user_query用户问题、product_name产品名称。3. 节点拓扑开始user_query / product_name ├─ 产品知识库检索KBtop_k 5→ 知识摘要LLM──┐ ├─ 模拟价格库存 APICode0.5s───────────────┼→ 整合情报LLM→ 结束 └─ 模拟互联网搜索Code0.8s─────────────────┘三条线互不依赖从开始节点直接拉出三路唯一汇聚点是最后的 LLM。4. 关键配置4.1 知识库分支-data:dataset_ids:-87e2a4af-3f5c-4fb4-8468-a42609c5834c# 导入后替换为你的知识库 IDoutput_retrieval_result:true# 必须 true否则 result 为空query_variable_selector:[start,user_query]retrieval_mode:singletop_k:5title:产品知识库检索type:knowledge-retrievalid:kb_retrieval摘要 LLM 直接用三花括号引用检索结果——KB → LLM 用{{#kb_retrieval.result#}}context 保持enabled: falseprompt_template:-id:p_summaryrole:systemtext:|根据以下产品文档信息提取和问题相关的内容 问题{{#start.user_query#}} 文档{{#kb_retrieval.result#}} 格式要求用 2-3 句话概括核心信息。如果文档中没有相关信息说明文档中未找到相关信息。reasoning_format:separated4.2 模拟 API 与搜索分支# 分支 B模拟价格库存 API0.5s 延迟defmain(product_name:str)-dict:importtime time.sleep(0.5)mock_data{产品A:{price:99.9,stock:500,discount:新品9折},产品B:{price:199.0,stock:23,discount:限时8折},产品C:{price:59.9,stock:0,discount:无},}datamock_data.get(product_name,{price:未知,stock:未知,discount:无})status有货ifdata.get(stock,0)0else缺货text产品{}价格{}元库存{}状态{}优惠{}.format(product_nameor未知,data.get(price),data.get(stock),status,data.get(discount))return{price_text:text}4.3 合并 LLM三路输出通过variables映射进 prompt要求带来源标注prompt_template:-id:p_mergerole:systemtext:|你是一个情报分析师。请整合以下三路信息给用户一个全面、结构化的回答。 用户问题{{#start.user_query#}} ━━━ 来源 A[知识库] 产品文档摘要 ━━━ {{#lm_summary.text#}} ━━━ 来源 B[库存API] 价格与库存信息 ━━━ {{#cd_price.price_text#}} ━━━ 来源 C[搜索] 市场动态 ━━━ {{#cd_search.search_text#}} 要求 1. 以「来源标注」标注每条信息的出处[知识库]/[库存API]/[搜索] 2. 如果不同来源信息冲突明确指出 3. 最终给出综合建议reasoning_format:separated⚠️ prompt 里引用上游字段一律写{{#节点id.字段#}}三花括号——{{变量名}}双花括号在 1.16 里不会被替换会字面传给模型实测踩坑见第 6 节。5. 运行验证输入期望行为实测product: 产品Aquery: 有什么优惠三路并行合并回答带 [知识库]/[库存API]/[搜索] 标注与预期一致product: 产品Cquery: 如何购买知识库有信息但库存为 0回答指出缺货与预期一致耗时对比单分支串行约 1.3s并行约 0.8s——并行收益 最慢分支耗时而不是所有分支之和。打开执行日志展开并行分支看每路独立耗时与交叉的日志流。6. 采坑点坑现象修复并行分支间互相引用变量分支 B 想读分支 A 的中间结果取不到分支内变量互不可见只能在下游汇聚节点消费各分支输出prompt 用{{变量名}}双花括号LLM 收到字面占位符回答「参考资料为空」一律{{#节点id.字段#}}三花括号实测同应用两个 LLM 对照验证KB 结果在 LLM 模板取不到误以为必须开 context 模式{{#kb_retrieval.result#}}直接引用 context.enabled: false并行日志交叉难读多分支日志混在一起定位问题慢单次只调试一个分支或把每个分支的摘要打印到输出以为并行必然更快CPU 密集型任务并行无收益甚至更慢并行只对 I/O 密集型API/检索有效合并节点复杂度可能吃掉加速收益 并行架构的设计顺序先定汇聚点再画分支。三条线最后都要在同一个 LLM/聚合节点汇合分支越多合并 prompt 的编排成本越高——这是并行方案真正的成本。7. 实验文档及源码获取实验文档完整操作步骤DIFY-06并行执行——同时做三件事.md源码可直接导入dify102_06_多源情报聚合器.yml文章聚焦核心配置与采坑点实验的完整分步操作节点搭建/参数表/调试指引见实验文档原文。下一篇Dify 中级实验06变量聚合——如何确定性合并多路分支结果

相关新闻

【信息科学与工程学】【通信工程】第八十七篇 通信网络解决方案中的学科知识01

【信息科学与工程学】【通信工程】第八十七篇 通信网络解决方案中的学科知识01

通信网络(含软件/通信设备、无线/有线硬件/电路、组网、网络拓扑)所依赖的数学 + 物理 + 信息论 + 密码学 + 集合论/离散数学学科地图 一、基础数学(编号 1–9:线性代数、概率、随机过程、矩阵分析等) 编号 学科(课程) 核心知识点 在通信网络中的作用 代表教材/资料…

2026/10/6 16:37:02 阅读更多 →
C++重定义错误全解析:从ODR规则到工程实践解决方案

C++重定义错误全解析:从ODR规则到工程实践解决方案

1. 项目概述:从一次编译报错说起如果你写过C,尤其是项目稍微复杂一点,把代码分到不同的.cpp和.h文件里,那你大概率见过这个老朋友:redefinition(重新定义)错误。它就像代码世界里一个脾气古怪的…

2026/10/9 1:25:24 阅读更多 →
MatrixFusion全域融合+Cognize-Agent智能体:海关围网全域穿透查验与跨境风险自主推演体系

MatrixFusion全域融合+Cognize-Agent智能体:海关围网全域穿透查验与跨境风险自主推演体系

MatrixFusion全域融合Cognize-Agent智能体:海关围网全域穿透查验与跨境风险自主推演体系一、 前言:海关监管从“二维平面”向“三维穿透”的范式重构 在全球跨境贸易规模持续攀升的背景下,海关口岸作为国门安全的第一道防线,面临着…

2026/9/29 17:59:48 阅读更多 →

最新新闻

UDS 诊断服务 - 0x77

UDS 诊断服务 - 0x77

等待更新…

2026/10/9 1:25:58 阅读更多 →
GhostTrack 免费快速上手完整指南:怎么查 IP 归属地、手机号归属地与用户名平台足迹

GhostTrack 免费快速上手完整指南:怎么查 IP 归属地、手机号归属地与用户名平台足迹

GhostTrack 免费快速上手完整指南:怎么查 IP 归属地、手机号归属地与用户名平台足迹 【免费下载链接】GhostTrack Useful tool to track location or mobile number 项目地址: https://gitcode.com/GitHub_Trending/gh/GhostTrack 日志里蹦出一串陌生的 IP&a…

2026/10/9 1:25:58 阅读更多 →
BERT-BILSTM-CRF中文NER实战:原理、预处理与PyTorch训练指南

BERT-BILSTM-CRF中文NER实战:原理、预处理与PyTorch训练指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 1:25:58 阅读更多 →
superpowers技能插件:让AI编程助手从聊天到动手干活

superpowers技能插件:让AI编程助手从聊天到动手干活

superpowers 这个单词在软件开发圈子里有两层意思:一层是心理学里的“心流状态”,另一层是这两年冒出来的 VS Code 技能插件。我这里要聊的是后者。先说结论:它是一套能把 AI 编程助手从“聊天机器人”变成“能动手干活的小弟”的技能插件&am…

2026/10/9 1:25:58 阅读更多 →
Moodle 5.0 qbank_bulkmove 升级指南:批量移动题目从「服务端表单渲染」迁移到「Modal + WebService」架构

Moodle 5.0 qbank_bulkmove 升级指南:批量移动题目从「服务端表单渲染」迁移到「Modal + WebService」架构

教育后端前端 【免费下载链接】moodle Moodle - the worlds open source learning platform 项目地址: https://gitcode.com/gh_mirrors/mo/moodle 点击查看 免费下载 本文以仓库中 qbank_bulkmove 升级说明 为骨架,系统梳理 Moodle 5.0 中「批量移动题…

2026/10/9 1:25:58 阅读更多 →
SSM+JSP酒店客房预定管理系统源码:部署实战与避坑指南

SSM+JSP酒店客房预定管理系统源码:部署实战与避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 1:24:57 阅读更多 →

日新闻

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API这个话题,隔三差五就会在群里被翻出来讨论一次。上周还有个同事线上处理一个订单超时问题,排查到最后发现是ZonedDateTime序列化后时区丢了,用户在下单当天晚上看到的时间整整差了8个小时。这类问题几乎每个做Java开发的人都遇到过…

2026/10/9 0:00:49 阅读更多 →
EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

前几个月我手头有好几台机器需要互相访问:办公室台式机、家里 NAS、还有一台云主机。如果只是偶尔传个文件倒还好,问题是工作场景经常要在几处环境之间来回切换,每次都先登录跳板机再层层代理,实在折腾。我先后试过端口映射、自建…

2026/10/9 0:00:49 阅读更多 →
AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent 这个词在过去一年里被反复提及,但真正动手搭过一套能跑起来的 Agent 系统的人都知道,从"知道它是什么"到"让它稳定干活"之间隔着一整套工程决策。我前后参与过几个 Agent 项目的落地,从最初用现成框架拼装&…

2026/10/9 0:01:50 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:32 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:40 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 10:10:36 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 21:13:17 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 13:34:55 阅读更多 →