小试牛刀-Dify中迭代器组件 Agent智能体 新闻资讯 4月16日 编辑 charles 取消关注 关注 私信 在 dify 中,迭代器组件(Iterator Component)是用来处理和管理数据流的一个重要工具。它通常用于需要重复执行某些操作、处理一组数据或者在某些特定条件下自动推进数据的场景。类似于主流开发语言中的foreach的功能,输入是一个数组或列表,输出同样是一个数组或列表。 1. 工作流效果如下: 工作流实现的功能是,使用模板转换组件初始化字母“a”“b”"c",经过代码执行节点将“a”“b”"c"合并为一个列表,通过迭代器组件对列表中的每一个元素进行处理(由大模型生成一个由每一个元素开头的英文单词,并按设置的格式输出),最后通过结束节点收集并打印迭代器执行的结果。 2. 工作流搭建 2.1 初始化模版转换组件 并联添加三个模板转换组件,代码部分分别填入a、b、c即可。 2.2 代码执行合并为列表 添加一个代码执行节点,接收三个模板转换节点的输出,经过简单的合并处理,返回一个Json对象,key为result,value为String数组,这里的预期效果是["a","b","c"]。 2.3 迭代器组件功能设计 迭代器组件,按顺序提取列表的每一个元素,由LLM生成单词,由格式处理节点进行溯源标记,方便理解。迭代器的输入是数组,输出是字符串,在具体运行时,迭代输入的结果会缓存到一个新的数组中供后续节点使用。这里的功能相对比较简单且容易理解,后面计划复原官网提供的长篇小说生成案例。 2.3.1 大模型生成单词 一句简单的提示词实现单词的生成。 2.3.2 定义输出模板 使用模板转换组件实现,使输出结果按指定的模板输出。 2.4 结果输出 输出迭代器组件执行的结果。 2.5 测试整个工作流 整个工作流没有输入,直接点击运行即可,上图可以看到按照预定的模板`Loop {{arg2}}:{{arg1}}->{{arg3}}`输出了工作流执行的结果,点赞私聊获取Dify流程定义DSL文件。