批处理节点用于遍历数组中的每个元素并行执行处理逻辑。它将数组元素按指定的并行数量分批处理,每个元素并行执行批处理流程,最终将所有元素的处理结果汇总为数组输出。
使用示例
以下以批量介绍多个城市工作流为例。该工作流接收一个城市名称数组,通过批处理节点并行将每个城市名传给大模型,让大模型为每个城市生成一句话介绍,最后将所有介绍汇总为数组输出。
节点接入
方法 1:使用 + 按钮添加
- 将鼠标悬停在画布上任意节点上(如开始节点),节点右侧自动显示 + 按钮。
- 点击 + 按钮,在弹出的节点列表中选择逻辑批处理,节点将自动添加到画布并与上游节点建立连线。
- 添加批处理节点后,画布会自动生成批处理体子画布,其中包含固定的并行开始节点和并行结束节点。
方法 2:从节点库拖拽添加
- 在左侧节点库中选择逻辑批处理。
- 拖拽节点到画布合适位置,从上游节点边缘拖拽连线到批处理节点。
- 添加批处理节点后,画布会自动生成批处理体子画布,其中包含固定的并行开始节点和并行结束节点。
核心配置
批处理节点接收一个或多个数组作为输入,按索引依次取出每个元素,将其传入批处理体子画布执行处理逻辑,最后将所有迭代的结果收集为数组输出。与循环节点的串行迭代不同,批处理节点支持多个元素同时并行处理,从而显著提升批量任务的执行效率。
批处理设置
批处理设置包含两个参数:批处理次数上限和并行运行数量。
| 参数名 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| 批处理次数上限 | Number | 30 | 用于防止超大数组导致批处理运行时间过长或消耗过多资源。当数组长度远大于实际需要处理的数量时,通过设置上限可以只处理前 N 个元素,其余元素不会被处理。 |
| 并行运行数量 | Number | 5 | 控制同一时刻并行执行的任务数。增大并行数可以提高处理速度,但也会增加瞬时资源消耗(如大模型调用并发数、API 调用频率等)。应根据下游节点的并发承受能力合理设置。 |
批处理数组
批处理数组用于定义需要批量处理的数组类型数据,支持直接输入或引用上游节点输出。支持添加多个数组。
批处理体内的节点可通过变量引用访问当前批处理到的数组元素。
| 变量名 | 类型 | 说明 |
|---|---|---|
| item | 与数组元素类型一致 | 当前批处理到的数组元素。显示为 item(in 变量名) 格式。。 |
| index | Number | 数组索引,从 0 开始计数。 |
批处理体
批处理体是批处理节点的子画布,包含固定的并行开始节点和并行结束节点,用于编排批量处理的主逻辑。
批处理体子画布内的节点连接方式与工作流主画布一致,但存在以下限制:
- 不支持嵌套批处理:批处理体内不能添加另一个批处理节点或循环节点。
- 不支持将批处理体外部的节点拖动至批处理体内,批处理体中的节点不能移动到批处理体之外。
- 批处理体内不支持添加流程输出节点。
常见用法
| 连接关系 | 说明 |
|---|---|
| 脚本节点 → 批处理节点 | 当上游数据为文本格式时,先用脚本节点将文本转为数组格式,再传给批处理节点并行处理。 |
| 批处理节点(批处理体内)→ 大模型节点 | 批处理体内调用大模型节点对每个元素进行处理,适用于批量生成内容、批量总结等场景。 |
常见问题
批处理节点和循环节点有什么区别?
- 运行方式:批处理节点支持并行处理,可以同时运行多个任务;循环节点是串行处理,每次循环处理一个元素。
- 应用场景:批处理节点通常用于批量执行一组数据或任务,目的是对整个数据集进行一次性并行处理,运行效率更高;循环节点用于循环执行某个操作或任务,直到满足指定条件为止。
- 处理方式:批处理节点仅支持处理数组参数,运行次数默认为数组长度,处理完毕后自动结束运行;循环节点支持多种方式结束循环,例如设置固定的循环次数、数组长度、指定条件等。