节点说明
迭代
定义
对数组执行多次步骤直至输出所有结果。
迭代步骤在列表中的每个条目(item)上执行相同的步骤。使用迭代的条件是确保输入值已经格式化为列表对象。迭代节点允许 AI 工作流处理更复杂的处理逻辑,迭代节点是循环节点的友好版本,它在自定义程度上做出了一些妥协,以便非技术用户能够快速入门。
场景
示例1:长文章迭代生成器
长故事生成器
- 在 开始节点 内输入故事标题和大纲
- 使用 LLM 节点= 基于用户输入的故事标题和大纲,让 LLM 开始编写内容
- 使用 参数提取节点 将 LLM 输出的完整内容转换成数组格式
- 通过 迭代节点 包裹的 LLM 节点 循环多次生成各章节内容
- 将 直接回复 节点添加在迭代节点内部,实现在每轮迭代生成之后流式输出
具体配置步骤
- 在 开始节点 配置故事标题(title)和大纲(outline);
开始节点配置
- 选择 LLM 节点 基于用户输入的故事标题和大纲,让 LLM 开始编写文本;
模板节点
- 选择 参数提取节点,将故事文本转换成为数组(Array)结构。提取参数为
sections
,参数类型为Array[Object]
参数提取
参数提取效果受模型推理能力和指令影响,使用推理能力更强的模型,在指令内增加示例可以提高参数提取的效果。
- 将数组格式的故事大纲作为迭代节点的输入,在迭代节点内部使用 LLM 节点 进行处理
配置迭代节点
在 LLM 节点内配置输入变量 GenerateOverallOutline/output
和 Iteration/item
配置 LLM 节点
迭代的内置变量:
items[object]
和index[number]
items[object] 代表以每轮迭代的输入条目;
index[number] 代表当前迭代的轮次;
- 在迭代节点内部配置 直接回复节点 ,可以实现在每轮迭代生成之后流式输出。
配置 Answer 节点
- 完整调试和预览
按故事章节多轮迭代生成
示例 2:长文章迭代生成器(另一种编排方式)
长文章迭代生成器(另一种编排方式)
- 在 开始节点 内输入故事标题和大纲
- 使用 LLM 节点 生成文章小标题,以及小标题对应的内容
- 使用 代码节点 将完整内容转换成数组格式
- 通过 迭代节点 包裹的 LLM 节点 循环多次生成各章节内容
- 使用 模板转换 节点将迭代节点输出的字符串数组转换为字符串
- 在最后添加 直接回复节点 将转换后的字符串直接输出
什么是数组内容
列表是一种特定的数据类型,其中的元素用逗号分隔,以 [
开头,以 ]
结尾。例如:
数字型:
字符串型:
JSON 对象:
支持返回数组的节点
- 代码节点
- 参数提取
- 知识库检索
- 迭代
- 工具
- HTTP 请求
如何获取数组格式的内容
使用 CODE 节点返回
code 节点输出 array
使用 参数提取 节点返回
参数提取节点输出 array
如何将数组转换为文本
迭代节点的输出变量为数组格式,无法直接输出。你可以使用一个简单的步骤将数组转换回文本。
使用代码节点转换
代码节点转换
代码示例:
使用模板节点转换
模板节点转换
代码示例: