欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > Dify工作流中的迭代节点

Dify工作流中的迭代节点

2026/5/2 12:20:45 来源:https://blog.csdn.net/shengshengwang/article/details/140336387  浏览:    关键词:Dify工作流中的迭代节点

一.定义

迭代节点的本质就是对数组内容循环处理。对数组执行多次步骤直至输出所有结果。

迭代步骤在列表中的每个条目(item)上执行相同的步骤。使用迭代的条件是确保输入值已经格式化为列表对象。迭代节点允许 AI 工作流处理更复杂的处理逻辑,迭代节点是循环节点的友好版本,它在自定义程度上做出了一些妥协,以便非技术用户能够快速入门。

二.场景

1.示例1:长文章迭代生成器

(1)在 开始节点内输入故事标题和大纲

开始节点配置故事标题(title)和大纲(outline)。

(2)使用 代码节点从用户输入中提取出完整内容

通过 Jinja-2 模板节点 将故事标题与大纲转换为完整文本。

(3)使用 参数提取节点将完整内容转换成数组格式

通过 参数提取节点,将故事文本转换成为数组(Array)结构。提取参数为 sections ,参数类型为 Array[Object]

(4)通过 迭代节点包裹的LLM 节点循环多次生成各章节内容

将数组格式的故事大纲作为迭代节点的输入,在迭代节点内部使用 LLM 节点进行处理。

在 LLM 节点内配置输入变量 GenerateOverallOutline/output Iteration/item

其中,迭代的内置变量包括items[object]index[number]items[object] 代表以每轮迭代的输入条目;index[number] 代表当前迭代的轮次。

(5)将 直接回复 节点添加在迭代节点内部,实现在每轮迭代生成之后流式输出

在迭代节点内部配置 直接回复节点 ,可以实现在每轮迭代生成之后流式输出。

(6)完整调试和预览

按故事章节多轮迭代生成,如下所示:

2.示例 2:长文章迭代生成器(另一种编排方式)

  • 开始节点内输入故事标题和大纲

  • 使用 LLM 节点生成文章小标题,以及小标题对应的内容

  • 使用 代码节点将完整内容转换成数组格式

  • 通过 迭代节点包裹的 LLM 节点循环多次生成各章节内容

  • 使用 模板转换节点将迭代节点输出的字符串数组转换为字符串

  • 在最后添加 直接回复节点将转换后的字符串直接输出

三.什么是数组内容

列表是一种特定的数据类型,其中的元素用逗号分隔,以 [ 开头,以 ] 结尾。比如,数字型,字符串型,JSON 对象。

四.支持返回数组的节点

  • 代码节点

  • 参数提取

  • 知识库检索

  • 迭代

  • 工具

  • HTTP 请求

五.如何获取数组格式的内容

1.使用 CODE 节点返回

2.使用 参数提取 节点返回

六.如何将数组转换为文本

迭代节点的输出变量为数组格式,无法直接输出。可使用一个简单的步骤将数组转换回文本。

1.使用代码节点转换

def main(articleSections: list):data = articleSectionsreturn {"result": "\n".join(data)}

2.使用模板节点转换

{{ articleSections | join("\n") }}

参考文献

[1] 迭代:https://docs.dify.ai/v/zh-hans/guides/workflow/node/iteration

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词