分批处理节点
分批处理节点的详细配置和说明
什么是分批处理节点?
分批处理是一个可以将数组进行拆分处理的节点。
每批大小
假设由5条数据,需要将这5条数据,每次取2条数据,进行处理。那么就可以使用分批处理节点。
拆分后的结果如下:2+2+1
上面的例子里,2 代表每批大小,最后1条会被当单独一分批处理。所以一共有3批数据。
并发数
并发数代表同时处理的批次数量。因为有的接口有并发限制,为了防止超过限制,可以设置并发数。
如果需要每批数据,按顺序处理,可以将并发数设置为1。
如果需要一起处理,可以将并发数设置为大于等于总批次数量的数值。例如这里可以设置为3,这样就可以同时处理3批数据。
分批处理节点的具体用法
在上面我们已经学会了如何将数据拆分成批次,那么如何使用这些数据呢?
其实分批处理内可以创建流程,和流程图的使用方式一样。
只不过是这里的开始节点没有任何入参。
作为默认入参,有系统保留的关键字 batch
, 代表当前批次的数据。
以上面的例子为例,假设我们有一个分批处理节点,并设置批次大小为2。
那么在分批处理节点内,我们可以使用 {{ batch }}
来获取当前批次的数据。
如果当前批次是 [1, 2]
,那么 {{ batch }}
就会返回 [1, 2]
。可以通过 {% for doc in batch.item %}
来遍历当前批次的数据。
具体例子如下:
# 假设这里有5条数据
data = [
{"id":1,"title":"标题1","content":"内容1"},
{"id":2,"title":"标题2","content":"内容2"},
{"id":3,"title":"标题3","content":"内容3"},
{"id":4,"title":"标题4","content":"内容4"},
{"id":5,"title":"标题5","content":"内容5"}
]
假设通过分批处理节点拆分数据,设置批次大小为2
# 以下提示词代码用来取出每批里面的每个item的json数据
{% for doc in batch.item %}
doc
{% endfor %}
# 以下提示词代码用来取出每批里面的每个item的值
{% for doc in batch.item %}
编号:{{doc.id}}
标题:{{doc.title}}
内容:{{doc.content}}
{% endfor %}
How is this guide?
最后更新