别再手动处理数据了!FastGPT 这个新功能让你提前下班
大家好!今天给大家介绍 FastGPT 4.8.11 版本新增的一个超强节点 - 【循环运行】节点。如果你经常需要处理大量数据,这个功能绝对能让你事半功功倍!

这个节点是干嘛的?
想象一下这个场景:你有 100 篇文章需要 AI 总结,或者有 500 条产品描述要翻译成英文。以前你可能需要一条一条地处理,既耗时又繁琐。而有了循环运行节点,你只需要:
- 把所有数据放进一个数组
- 设置好处理流程
- 然后...就可以去喝杯咖啡了!节点会自动帮你处理完所有数据
没错,就是这么简单!它就像是一个自动化的小助手,帮你完成重复性的工作。
它能做什么?
我们来看看这个节点都有哪些特性:
1. 自动批量处理能力
- 支持各种类型的数据:
- 文本数组?没问题!
- 数字数组?当然可以!
- 布尔值数组?完全支持!
- 对象数组?也不在话下!
- 全自动遍历所有数组元素
- 严格按顺序处理:不用担心数据乱序
- 还支持并行处理:速度更快!
2. 智能流程控制
- 自动触发后续节点:设定好流程,全程自动化
- 可以设置终止条件:需要时随时停止
- 内置计数器:随时知道处理进度
- 维护上下文:保证处理的连贯性
最适合用在哪些场景?
1. 批量内容处理
- 批量翻译文章
- 批量生成文章摘要
- ✍️ 批量创作内容
2. 数据流水线处理
- 自动分析每条搜索结果
- 逐个处理知识库的检索结果
- 处理 API 返回的数据列表
3. 递归优化任务
- 把长文档分成小块处理
- 多轮优化内容质量
- ⛓️ 链式处理复杂数据
怎么用它?
这个节点的使用方法非常简单,只需要设置好输入的数组和循环体即可。
FastGPT 国内版:https://fastgpt.cn
FastGPT 海外版(需要纵云梯):https://tryfastgpt.ai
输入参数设置
【循环运行】节点需要配置两个核心输入参数:
数组 (必填):接收一个数组类型的输入,可以是:
- 字符串数组 (
Array<string>) - 数字数组 (
Array<number>) - 布尔数组 (
Array<boolean>) - 对象数组 (
Array<object>)
- 字符串数组 (
循环体 (必填):定义每次循环需要执行的节点流程,包含:
- 循环体开始:标记循环开始的位置。
- 循环体结束:标记循环结束的位置,并可选择输出结果变量。
循环体配置

在循环体内部,可以添加任意类型的节点,如:
- AI 对话节点
- HTTP 请求节点
- 内容提取节点
- 文本加工节点等
循环体结束节点配置:
- 通过下拉菜单选择要输出的变量
- 该变量将作为当前循环的结果被收集
- 所有循环的结果将组成一个新的数组作为最终输出
实战示例:批量处理文本
我们先来看一个简单的示例:批量处理文本。
假设我们有一个包含多个文本的数组,需要对每个文本进行 AI 处理。这是循环运行节点最基础也最常见的应用场景。
实现步骤
准备输入数组

使用【代码运行】节点创建测试数组:
const texts = [
"这是第一段文本",
"这是第二段文本",
"这是第三段文本"
];
return { textArray: texts };
配置循环运行节点

- 数组输入:选择上一步代码运行节点的输出变量
textArray。 - 循环体内添加一个【AI 对话】节点,用于处理每个文本。这里我们输入的 prompt 为:
请将这段文本翻译成英文。 - 再添加一个【指定回复】节点,用于输出翻译后的文本。
- 循环体结束节点选择输出变量为 AI 回复内容。
- 数组输入:选择上一步代码运行节点的输出变量
运行流程

- 【代码运行】节点执行,生成测试数组
- 【循环运行】节点接收数组,开始遍历
- 对每个数组元素:
- 【AI 对话】节点处理当前元素
- 【指定回复】节点输出翻译后的文本
- 【循环体结束】节点收集处理结果
- 完成所有元素处理后,输出结果数组
高级应用:长文本翻译
在处理长文本翻译时,我们经常会遇到以下挑战:
- 文本长度超出 LLM 的 token 限制
- 需要保持翻译风格的一致性
- 需要维护上下文的连贯性
- 翻译质量需要多轮优化
【循环运行】节点可以很好地解决这些问题。
之前我发过一篇关于长文本翻译的文章,不过当时没有使用【循环运行】节点来实现。
今天我们来看看如何使用【循环运行】节点来实现长文本翻译。
其实实现思路和上面批量处理文本的示例类似,只是循环体内部的处理逻辑稍微复杂一些。只需要对上篇文章的工作流略微调整即可。
一句话总结:从文本切分之后开始,将后面的流程都转移到【循环运行】节点内部。
我们来详细看下【循环运行】节点内部的流程。
首先,数组输入选择上一步代文本切分的输出变量 chunks。

然后添加一个【代码运行】节点,对源文本进行格式化。

格式化代码如下:
function main({source_text_chunks, current_chunk}){
const i = source_text_chunks?.indexOf(current_chunk) ?? -1;
if (i === -1) {
throw new Error('未找到指定的文本块');
}
const tagged_text = `${source_text_chunks.slice(0, i).join('')} <TRANSLATE_THIS>${current_chunk}</TRANSLATE_THIS>${source_text_chunks.slice(i + 1).join('')}`;
return {
tagged_text,
chunk_to_translate: current_chunk,
}
}
最终会输出两个变量,其中 tagged_text 包含了整个文本,而 chunk_to_translate 只包含了本轮需要翻译的文本块。
接下来添加一个【搜索词库】节点,将专有名词的词库作为知识库,在翻译前进行搜索。

记得要开启问题优化,并添加对话背景描述哦。

然后添加一个【AI 对话】节点,使用 CoT 思维链,让 LLM 显式地、系统地生成推理链条,展示翻译的完整思考过程。

现在我们终于进入了翻译环节,这里我们使用 CoT 思维链,让 LLM 显式地、系统地生成推理链条,展示翻译的完整思考过程。

这里 AI 会进行好几轮翻译,但是我们只需要最终的翻译结果,所以还需要继续接入【代码运行】节点,将最后一轮的翻译结果提取出来。

到这里,一个完整的长文本翻译循环体就配置就基本完成了。但是有些模型在输出中文内容时,会夹杂英文标点符号,所以为了以防万一,我们可以再加一个【代码运行】节点来对输出内容进行格式化。

最终添加一个【指定回复】节点,输出翻译后的文本。
最后的最后,我们只需要将循环体结束节点的输出变量设置为【格式化中文翻译】节点的输出变量 text,并设置循环运行节点的输出变量为最终翻译结果数组。
下面我们来看看运行效果。
效果演示
咱们先来导入一个词库。
下载链接:https://images.tryfastgpt.ai/vocabulary.csv
导入方式很简单,在 FastGPT 中新建一个通用知识库:

然后导入表格数据集:

然后上传你的 csv 数据集,一路下一步,最后就得到了处理完成的词库。

点进去可以看到详情:

导入完成后,就可以在工作流中选择该词库了。

最终我们来测试一下翻译效果:
点击聊天框左侧的回形针图标上传附件,然后选择需要上传的文档。
测试文档地址:https://images.tryfastgpt.ai/Sealos-Devbox-quick-start.pdf

上传文档后,点击右边的发送按钮开始翻译。

和之前文章中的工作流一样,术语翻译的一致性保持的非常完美:

完整工作流:https://pan.quark.cn/s/019132869eca
总结
本文介绍了 FastGPT 循环运行节点的功能和使用场景,并通过两个具体案例展示了如何使用循环运行节点。
通过这两个案例,我们可以看到循环运行节点在处理需要重复执行的任务时的强大功能,它能够有效地组织和管理复杂的工作流程,是 FastGPT 中一个非常实用的功能模块。
别再手动处理数据了!FastGPT 这个新功能让你提前下班的更多相关文章
- 用(bootstrap)Handsontable做表格,手动实现数据排序
商品graph帐票时,用(bootstrap)Handsontable做表格,手动实现数据排序待解决的问题: 若使用控件本身的排序,必须指定colHead,colHead不能被copy,若想表头被co ...
- oracle plsql手动修改数据
转至:https://blog.csdn.net/Ranchonono/article/details/87690830?spm=1001.2101.3001.6650.1&utm_mediu ...
- C# DataGirdview手动添加数据,导出txt文件并自动对齐
//DataGirdview手动添加数据 private void btnDataGirdView_Click(object sender,EventArgs e) { dataGridV ...
- 简析TCP的三次握手与四次分手(TCP协议头部的格式,数据从应用层发下来,会在每一层都会加上头部信息,进行封装,然后再发送到数据接收端)good
2014-10-30 分类:理论基础 / 网络开发 阅读(4127) 评论(29) TCP是什么? 具体的关于TCP是什么,我不打算详细的说了:当你看到这篇文章时,我想你也知道TCP的概念了,想要更 ...
- 安装docker及使用docker安装其他软件(手动挂载数据卷)
中秋明月,豪门有,贫家也有,极慰人心 Linux安装docker 可以参考官方的安装文档 centos安装docker: https://docs.docker.com/engine/install/ ...
- 解决SQLSERVER在还原数据时出现的“FILESTREAM功能被禁用”问题
解决SQLSERVER在还原数据时出现的“FILESTREAM功能被禁用”问题 今天由于测试需要,在网上下载了Adventureworks2008实例数据库的BAK文件,进行还原时出现了这样的错误“F ...
- 还原数据时出现的“FILESTREAM功能被禁用”问题
解决SQLSERVER在还原数据时出现的“FILESTREAM功能被禁用”问题 解决SQLSERVER在还原数据时出现的“FILESTREAM功能被禁用”问题 今天由于测试需要,在网上下载了Adven ...
- .Net之Nopi Excel数据导出和批量导入功能
一.介绍NPOI和编写demo的原因 1.Npoi是什么: 它是一个专门用于读写Microsoft Office二进制和OOXML文件格式的.NET库,我们使用它能够轻松的实现对应数据的导入,导出功能 ...
- django学习-12.访问不同url/接口地址实现对指定数据的增删改查功能
1.前言 通过前面博客[django学习-10.django连接mysql数据库和创建数据表]里的操作,我们已经成功在数据库[hongjingsheng_project]里创建了一张数据表[hello ...
- 数据孤岛下的新破局 Real Time DaaS:面向 AP+TP 业务的数据平台架构
从传统数仓,到大数据平台,再到数据中台和湖仓一体新数据平台,在日益加重的数据孤岛困扰下,面向AP场景的解决方案可谓浩如烟海.但实际上,企业在TP类型业务上的投入和AP的比率却高达9:1,为什么没有为T ...
随机推荐
- 倍增优化DP
对于只考虑首位状态的DP,考虑用倍增优化 P1081 开车旅行 https://www.luogu.org/problemnew/show/P1081 1 const int N=100005; 2 ...
- LaTeX 编译警告:Script 'CJK' not explicitly supported within font 'FandolSong-Regular'. Check the typeset output, and if it is okay then ignore this warning. Otherwise a different font should be chosen.
在编译一篇中文文档时遇到如下警告: Package fontspec Warning: Script 'CJK' not explicitly supported within font 'Fando ...
- LaTeX 几种中文字体的比较
根据自己的喜好给常见的几个中文字体的打分: 字体选项 字体名 得分 adobe Adobe 宋体 Std 5 fandol FandolSong 0 founder 方正书宋_GBK 10 hanyi ...
- chrome 被hao123 劫持处理
打开chrome,就进入baidu.com/xxx,烦人,浏览器被劫持了XXXX 查注册表hao123,删除找到的 进入chrome设置,修改主页新标签页 装杀毒软件,查杀病毒 修改chrome名 等 ...
- 【YashanDB数据库】YashanDB如何回收表空间
确认表空间高水位线,是否有可回收空间. select a.tablespace_name,a.high_water_mark,b.user_bytes,b.total_bytes from (SELE ...
- [big data] main entry for Spark, Zeppelin, Delta Lake ...
1. 环境搭建 big data env setup 2. Spark 学习 spark 怎么读写 elasticsearch spark 怎么 连接 读写 ElasticSearch Spark 上 ...
- 神经网络之卷积篇:详解卷积神经网络示例(Convolutional neural network example)
详解卷积神经网络示例 假设,有一张大小为32×32×3的输入图片,这是一张RGB模式的图片,想做手写体数字识别.32×32×3的RGB图片中含有某个数字,比如7,想识别它是从0-9这10个数字中的哪一 ...
- Vue3比Vue2快的体现-第二部分
这部分主要说两个方面,1是静态提升,2是事件监听缓存 静态提升意思就是说,在以往Vue执行函数的时候,无论是绑定数据的节点还是没有绑定的,都会在render函数执行的时候重新渲染,如下代码所示 imp ...
- PHP 程序员学会了 Go 语言就能唬住面试官吗?
大家好,我是码农先森. 唬住了 50k ,唬不住就 5k .这句话一直是 PHP 程序员之间相互吹捧.吹牛逼的笑点,每次面试过后都会挠挠头上仅剩的几根头发,回想自己是否吹牛逼会过了头.我经常在微信程序 ...
- 一个 tomcat 下如何部署多个项目?附详细步骤
一个tomcat下如何部署多个项目?Linux跟windows系统下的步骤都差不多,以下linux系统下部署为例.windows系统下部署同理. 一.不修改端口,部署多个项目 清楚tomcat目录结构 ...