在 Dify 工作流中配置多个 LLM 节点实现串联调用,核心是通过连接线将前一个 LLM 节点的输出变量传递给后一个节点,形成依赖关系。
先说结论:串联调用依赖节点间的连线配置与变量引用,确保数据按顺序流转。
- 适合:需要多阶段推理、内容润色或分步处理的场景
- 先准备:明确每个 LLM 节点的输入输出变量名称
- 验收:运行测试并检查每个节点的输入输出日志
快速处理思路
无需编写代码,直接在可视化画布上操作:从左侧节点库拖拽多个 LLM 节点,用连线将上一个节点的输出端连接到下一个节点的输入端,并在提示词中引用上游变量。
为什么会这样
Dify 工作流基于有向无环图(DAG)机制执行,节点间的连线定义了数据流向与执行依赖。只有当前置节点执行完毕并输出数据后,后续节点才会被触发,天然支持串联逻辑。若节点间无连线或变量未绑定,后续节点无法获取上下文,导致流程中断或结果偏离。
分步处理
第一步:添加节点
在工作流画布中,从左侧节点库拖拽第一个 LLM 节点,配置模型与提示词。再次拖拽第二个 LLM 节点,放置在第一个节点下方或右侧。
第二步:建立连接
鼠标点击第一个 LLM 节点的输出锚点,拖拽连线至第二个 LLM 节点的输入锚点。连线代表执行顺序与数据通路。
第三步:配置变量
编辑第二个 LLM 节点的提示词模板,使用 Jinja2 风格语法引用上游输出,例如{{node_1_output}}。确保变量名与上游节点输出字段一致。
第四步:设置依赖
检查节点配置面板,确认第二个节点的执行条件依赖于第一个节点的完成状态,避免并行误配。
怎么验证是否生效
点击画布右上角的“测试”按钮,输入测试问题。观察执行过程,每个节点会亮起表示执行状态。点击已执行的节点查看输入输出详情,确认第二个节点接收到了第一个节点的正确输出数据。
常见坑
输入输出格式不兼容:前一个 LLM 输出 JSON 对象,后一个期望字符串,需中间加代码节点转换。
上下文传递失败:中间变量未正确绑定到后续节点提示词中,导致生成结果偏离原始意图。
响应超时:外部模型接口响应超过默认阈值,导致节点报错流程终止。
常见问题
如何在提示词中引用上一个 LLM 的输出?
在第二个 LLM 节点的提示词编辑区,点击变量插入按钮,选择上游节点的输出字段,系统会自动生成类似{{node_id.output}}的引用语法。
串联调用会影响执行速度吗?
会,串联意味着后续节点必须等待前序节点完成,总耗时约为各节点耗时之和,适合对顺序有强要求的场景。
可以在串联中混合使用不同模型吗?
可以,每个 LLM 节点可独立配置模型提供商,例如第一个节点用 GPT-4 做推理,第二个节点用本地模型做润色。
参考来源
- Dify 工作流配置实战手册:从零搭建高可用 LLM 应用流水线的 7 个关键节点
- 三步入门:利用 Dify 可视化工作流连接 LLM 与工具
- Dify 工作流如何连接多个 AI 模型?