定义
在自动化工作流中,通常需要重复执行相同的业务逻辑片段,比如逐项处理数据集、逐行读取文本进行批处理操作,或者在指定的迭代次数内多次尝试某些步骤。
为了满足这些需求,GoInsight.AI 提供了一个“迭代”节点,可以在可视化的“子工作流”中容纳各种业务节点。该节点可以根据指定的迭代模式反复执行,最终将每次迭代的输出结果合并为一个列表,供下游节点使用。

快速开始 / 使用方法
节点配置详情:在GoInsight.AI 中,右键点击并选择“添加节点”以将“迭代”节点添加到工作流中。

1. 配置迭代节点的迭代模式参数
- 1)指定次数:
- 将迭代运行指定次数。设置“迭代次数”输入框来设定迭代将执行的次数。迭代次数的范围为1到30次。
- 执行逻辑:迭代体将重复设定的次数,并在每次执行中使用配置的变量进行操作。
- 2)迭代集合:
- 指定一个集合,并按集合的顺序对每个元素执行一次迭代。在“输入变量”区域中,有一个“(x) 设置变量”输入框,用于设置迭代过程中使用的变量。
- 执行逻辑:迭代体将依次处理集合中的每个元素,将元素分配给相关变量进行操作,并将结果存储在输出变量中。
- 3)逐行迭代:
- 逐行遍历文本,将每行文本视为迭代的一个元素,并为每行执行一次迭代。
- 执行逻辑:与集合迭代类似,但专注于逐行处理数据,适用于表格或其他二维数据结构。
- 集合元素类型:
- 在“集合元素类型”区域,有一个下拉菜单可选择元素类型。选项包括“字符串”、“数字”和“布尔”。
- 根据要处理的数据类型选择适当的元素类型。例如,如果处理字符串数据,选择“字符串”类型。
- 逐行读取:
- 在“逐行读取”区域,有一个“(x) 快速插入键”输入框。您还可以根据情况在输入框中逐行输入要读取的数据。例如,如果从文件中读取数据,您可以在此指定文件路径或数据源。
2. 配置迭代节点的迭代结果输出参数
- 迭代结果输出使用“输出集合变量名称 [Arra...]”输入框设置将存储迭代过程结果的输出变量的名称。
- 使用“(x) 来自迭代体的变量”输入框指定在迭代体内生成的变量,这些变量可能用于后续操作或作为迭代结果输出。
- 使用“删除”按钮删除配置的输出变量。
- 使用“+ 添加”按钮添加更多输出变量配置。
3. 配置迭代节点的备注参数
“备注”区域允许您输入关于此迭代节点的描述性信息,例如迭代目的、输入和输出变量的含义等,以便您自己和他人更容易理解和维护。
典型用例
- 数据处理
- 在数据处理场景中,迭代节点可用于遍历数据集。例如,在处理一批销售订单数据时,迭代节点可以逐一读取订单记录,并执行诸如计算总价和统计每个订单的商品数量等操作。
- 对于大量数据文件,迭代节点可以顺序打开每个文件,读取数据内容并进行清理、转换等,确保数据的准确性和可用性。
- 批量发送个性化邮件:假设有一个用户列表(数组),其中包含每个用户的姓名、电子邮件地址和个性化信息。通过遍历用户列表,迭代体可以使用这些用户信息组装个性化邮件内容,然后调用邮件发送API发送邮件。迭代结束后,邮件发送的结果(成功或失败状态等)会汇总成一个列表,便于审查和统计邮件发送情况,例如计算成功率或分析失败原因。
- 任务执行
- 在自动化任务场景中,迭代节点可以重复执行某个任务。例如,在系统监控任务中,迭代节点可以每隔一段时间(例如每5分钟)检查系统资源(如CPU使用率、内存消耗等),并在出现异常时记录数据或发出警报。
- 在软件测试期间,迭代节点可以反复执行测试用例,进行多次软件试运行,确保其稳定性和可靠性。
- 批量翻译多行文本:迭代节点首先按行分割该文本。然后,在每次迭代中,使用大语言模型(LLM)翻译每一行文本。翻译完成后,每次迭代的结果汇总为一个数组,然后传递给后续节点。后续节点可以进一步处理这些翻译结果,例如进行格式调整和校对。
- 数值计算
- 在金融领域,迭代节点可用于计算复利。通过迭代过程,最终的本息金额可以根据本金、利率和期限逐步计算出来。
- 条件迭代
- 迭代节点可以与条件判断结合,以控制迭代的执行。例如,在处理用户输入时,迭代节点可以不断读取输入,直到输入特定的退出命令,从而实现交互式程序流程。
- 在数据验证过程中,迭代节点可以反复检查数据是否满足特定标准,只有当数据完全符合要求时才退出迭代,然后进行下一步。
- 批量调用外部API:可以预设调用次数(例如10次)或遍历ID列表,以重复调用外部API。每次API调用后,返回的结果都会被捕获。在迭代结束时,所有捕获的结果都将被合并并输出。
实际案例场景
- 天气查询工作流设计调用天气查询API,遍历城市ID列表以获取每个城市的天气信息,最后汇总整理所有天气信息,生成一份全面的天气报告。
注意事项
- 避免无限迭代。设置终止条件和超时机制以强制退出,防止迭代无法中断。
- 尽量避免迭代空数组或空值。检查要迭代的值是否为空;如果为空,则提示用户或退出。


常见问题解答
Q1: 如何将其他节点添加到循环节点中?
在循环节点内点击“+ 添加”;循环中的节点可以自由拖放。
Q2: 这与使用代码执行节点循环有什么不同?
使用代码执行节点进行循环操作需要编写代码,这对没有编码背景的人来说不太适合。而循环节点支持多种循环方法,更加方便。