# 批处理节点 低代码工作流的批处理节点用于批量执行部分操作。 ## 节点说明 工作流执行时,每个节点按顺序运行一次,如果需要一次性运行多次,例如一次性查询多个城市的天气,可以使用批处理节点提高工作流效率。批处理节点会批量运行除批处理和循环节点以外的任何节点,直到达到次数限制或者列表的最大长度。 批处理节点适用于大量数据并行处理的场景。相对于添加多个相同的节点执行任务,批处理节点的效率更高。例如批量生成根据故事生成绘本的场景,需要根据每个故事片段生成对应的图片,你可以使用批处理节点执行文生图的工作流,一次性生成多张图片。 * 每一批任务默认并行运行,如需串行执行,可以将并行数量设置为 1,或者使用循环节点。 * 批处理节点中不支持添加另一个批处理节点或循环节点。 * 在低代码工作流中,同一时刻只能运行一个流式插件或消息节点。请勿通过批处理节点批量并行运行流式插件或消息节点,否则可能导致这些节点无法按预期正常输出消息。 ## 配置批处理节点 批处理节点的处理对象为输入参数引用的数组结构,例如上游某个节点输出的多条数据结果。批处理节点会遍历数组中的每个元素,对所有元素同时执行一次性处理,直到所有元素处理完成,或达到指定的次数上限。 ### 批处理设置 为避免并行运行数量过大导致性能风险,批处理节点是分批运行的,默认每批执行 10 次,最多运行 200 次。通过批处理设置,你可以调整每一批运行的最大次数,和多批处理的总次数上限。具体参数包括: * **并行运行数量上限**:每一批运行的最大次数。默认并行运行 10 次。此参数可指定为某个固定值,例如 5;也支持引用上游节点数值类型的的输出参数。 并行运行数量参数的引用值如果大于 10,则设置为 10,如果小于 1,则设置为 1。 * **批处理次数上限**:批处理执行总次数达到此上限时,此节点终止运行。默认批处理次数上限为 100,最大支持设置为 200。此节点的执行逻辑是处理数组中的元素,当批处理次数达到设置的上限时,即使节点未遍历数组中的每个元素,也会停止运行。 例如批处理的处理对象是一个长度为 50 的数组,并行运行数量上限设置为 10,批处理次数上限为 30。那么批处理节点会执行 3 批,每一批同时运行 10 次,共计执行 30 次后结束运行。 ### 输入 输入参数指批处理体中要使用的参数。批处理节点通常需要批量处理数组中的所有元素,那么可以在批处理节点定义输入参数,引用前置节点 Array 类型的输出,批处理体中就可以引用批处理节点输入参数中的某个元素或索引,否则只能引用上游节点 Array 类型参数的整个数组结构。 批处理节点应最少设置一个输入参数,且只能引用上游节点的 Array 类型。 ### 输出 输出参数是批处理完成后输出的内容,仅支持引用批处理体中节点的输出变量。输出参数格式为数组,自动整合批处理中每一次的执行结果。 ### 批处理体 批处理体和循环体类似,每个批处理节点都会生成一个批处理体画布。开发者需要选中批处理体,通过拖拉拽的方式将待批处理的节点添加到批处理体中,并使用连接线依次将批处理体和各个节点顺序连接起来。你还需要在批处理节点和上下游节点之间添加连线,但无需调整批处理体和批处理节点之间的连线。 不支持将批处理体外部的节点拖动至批处理体内,批处理体中的节点也不可移动到批处理体之外。 ## 示例 例如通过视觉理解模型批量分析图片内容。添加一个批处理节点,其中只有一个大模型节点,用于批量分析多张图片。开始节点接收图片数组后传递给批处理节点,视觉模型会处理图片数组中每个图片元素。工作流的编排方式如下: ![Image](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/6373bbc52ecd4ddfb2dbc798d9c4019d~tplv-goo7wpa0wc-image.image) 工作流核心节点如下: | 节点类型 | 说明 | 示例 | | --- | --- | --- | | 开始节点 | 定义两个输入参数:

* image:图片数组格式,支持上传多张图片。
* query:String 格式,后续节点将作为模型的提示词。 | ![Image](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/88c0cd4a50d344459296281c97c6aeea~tplv-goo7wpa0wc-image.image) | | 批处理节点 | 设置输入参数 image,引用开始节点的 image 参数,便于批处理体引用。 | ![Image](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/03243f528701435ba1802b405968792e~tplv-goo7wpa0wc-image.image)
| | 批处理体 | 添加一个大模型节点,其设置如下:

* 模型:选择豆包视觉理解模型,它支持读取并分析图片内容。
* 输入:
* image 参数:引用批处理节点的 image 参数元素(item in input),表示每次执行一个数组元素,即图片。
* query 参数:开始节点的 query 参数。
* 用户提示词:直接引用两个输入参数即可,即 `{{query}}{{image}}`。 | ![Image](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/9ce858ed4b9a4f659a8c61952591dd47~tplv-goo7wpa0wc-image.image) | ## 常见问题 ### 如何设置批处理次数 批处理节点会按照设定的并行数量分批运行批处理体,直到处理的数组中所有元素处理完成,或达到指定的次数上限。你可以调整待处理的数组长度,或者通过**批处理次数上限**来限制批处理节点的最大运行次数,后者最大值为 200。 ### 批处理节点和循环节点有什么区别 * **应用场景**:批处理节点通常用于批量执行一组数据或任务,目的是对整个数据集进行一次性并行处理,而不是逐个处理,运行效率更高。循环节点用于循环执行某个操作或任务,直到满足指定条件为止。循环节点的核心是“次序性”,每次循环处理一个数据子项或执行一次子任务,总耗时可能较长。 * **运行方式**:批处理节点仅支持处理数组参数,运行次数默认为数组长度,处理完毕后自动结束运行;循环节点支持多种方式结束循环,例如设置固定的循环次数、数组长度、指定条件等等。