批量调用大模型:在工作流里处理几千行文本,怎样控制错误与成本
批量调用大模型,指把表格中的一列文本逐行发送给大模型,让它完成分类、字段抽取、摘要等任务,再把结果写回新列。它适合处理规则难以穷举的非结构化文本,例如报销事由、工单描述、合同条款;但它的输出会有随机性,结果必须经过格式校验和抽样复核才能进入后续分析。
本文面向需要在审计、财务、运营数据里处理大量文本的人,讲清三件事:哪些任务值得交给大模型,逐行调用和「让大模型生成规则」两种用法怎么选,以及一条批量处理工作流里怎样核对结果、控制调用次数。
| 关键事实 | 内容 |
|---|---|
| 适合的任务 | 文本分类打标签、从自由文本中抽取字段、摘要、非标准写法归一 |
| 不适合的任务 | 金额计算与汇总、格式固定的字段提取、需要逐条可复现的判定,这些交给公式、正则或规则 |
| 结果特性 | 同一输入可能得到不同输出;调低随机性参数能减少差异,但不能保证完全一致 |
| 两种用法 | 逐行调用:灵活,调用次数随行数增长,结果逐行核对;生成规则:大模型只参与一次,由确定性节点对全部行执行 |
| 必做的核对 | 输出格式校验、按类别分层抽样复核、与关键词规则交叉比对 |
| 控制调用次数 | 先对文本去重,相同内容只调用一次,再把结果关联回原表 |
| 数据安全 | 调用外部模型服务时文本会发送给服务方;涉及个人信息或客户数据时,先确认所在机构的数据外发规定,或使用内网部署的模型 |
| iModel 现状 | 可在工作流中调用本地部署的大模型处理文本列;AI 超级公式插件用于把规则描述转为表达式代码 |
| 核实日期 | 2026 年 9 月 15 日 |
批量调用大模型,适合哪些任务?
判断标准是:这件事如果交给人做,是不是需要「读懂」文字才能完成。只需要按固定格式截取的,用公式或正则更快、更稳,也不产生调用成本。
| 任务 | 示例 | 是否适合交给大模型 |
|---|---|---|
| 文本分类 | 按报销事由判断费用类别,按工单描述判断问题类型 | 适合,表述千变万化时优势明显 |
| 字段抽取 | 从合同条款里找出违约金比例、付款期限 | 适合,但抽出的数字必须回原文核对 |
| 非标准写法归一 | 「深圳分公司」「深分」「SZ 分部」统一成标准名称 | 适合;写法有限时,对照表更可靠 |
| 格式固定的提取 | 从「INV-2026-00123」中取出年份和流水号 | 不适合,用字符串或正则处理即可 |
| 计算与汇总 | 按部门汇总报销金额 | 不适合,用分组汇总节点 |
批量调用大模型:逐行调用还是让它生成规则?
大模型进入数据流程有两种方式,差别在于它参与了多少次判断。
实践中两者常常组合:先用规则处理能写清的大部分数据,只把规则判不了的剩余行交给大模型逐行处理。这样调用次数少了,需要核对的范围也集中了。
第二种用法的一个例子是 AI 超级公式插件:用户用自然语言描述财务或审计规则,由大模型生成表达式代码,之后在工作流中按代码执行,大模型不再参与每一行的判断。
一条批量处理工作流的五个环节
第一步:先去重再调用
报销事由、工单标题这类文本重复率往往不低,「出差交通费」可能出现几百次。先用 重复行过滤节点 保留唯一文本,调用完成后再用 Joiner 节点 按原文把结果关联回全部行。调用次数取决于去重后的行数,而不是原表行数。
第二步:把输出限制在可校验的范围内
提示词最重要的不是写得多详细,而是让输出变得可以机器校验。分类任务直接列出全部选项,并要求只输出选项本身。下面这段指令对每一行都相同,只把 {报销事由} 替换为当前行的列值:
抽取任务同理,要求按固定格式输出,例如「只输出数字,找不到时输出无」。输出越自由,后面的校验越难写。
第三步:分批调用并记录失败行
几千行文本不要一次全部发出。先用 100 行左右试跑,记录耗时和输出格式是否合规,据此估算整批时间,再决定是否调整提示词。调用过程中网络或服务出错的行,要单独标记并重跑,不能静默留空,否则后面会被误当成「模型判断为空」。
第四步:用规则校验输出
模型偶尔会输出选项之外的内容,比如多了一句解释,或者写成近义词。用 Rule Engine 节点 检查输出是否落在允许的选项内,不合规的直接标为待复核:
批量调用大模型,结果怎么核对?
格式合规只说明输出「长得对」,不说明分类是对的。进入后续分析之前,建议至少做下面四项核对:
- 统计格式合规率:待复核的行占多少。比例明显偏高,通常说明提示词的选项定义有歧义,应先改提示词再重跑。
- 按类别分层抽样:每个类别各抽若干条人工复核,而不是整体随机抽。整体随机抽样时,数量少的类别可能一条都抽不到,而审计关注的异常往往就在这些类别里。
- 与关键词规则交叉比对:用简单的关键词规则再分一遍,比如事由含「宴请」「接待」的归为业务招待费。两种结果不一致的行优先复核。
- 同一批跑两次:对抽样数据重复调用一次,两次结果不同的行说明判断不稳定,这类文本适合交给人工或补充规则。
核对之外,还应在结果表中保留模型名称、提示词版本和调用日期三列。提示词改过之后,才能分清哪些结果是按旧版本得出的。这与规则判定需要保留推导记录是同一个道理,可参考 推导记录应保留哪些信息;大模型输出的一般核查方法,另见 应对 AI 幻觉的核查方法。
耗时、费用与数据安全的取舍
调用内网部署的模型和调用外部模型服务,各有长短,选择前应当按本机构的实际情况比较:
| 对比项 | 内网部署的模型 | 外部模型服务 |
|---|---|---|
| 数据流向 | 文本不离开内网 | 文本发送给服务方,需符合机构的数据外发规定 |
| 费用 | 主要是硬件与运维投入,调用本身不按次计费 | 通常按输入输出的数据量计费,行数多、文本长时费用上升明显 |
| 速度 | 受本地算力限制,大批量时需预估排队时间 | 一般可并发调用,但受服务方的频率限制 |
| 模型能力 | 受可部署的模型规模限制 | 可选择的模型更多,更新更快 |
无论哪种方式,都应先试跑一小批,按实际耗时和输出质量推算整批,再决定是否全量运行。
在 iModel 中怎么做
iModel 基于 KNIME 开源内核二次开发,目前已经可以在工作流中调用本地部署的大模型处理文本列。上文的去重、关联、规则校验、抽样和写出,都用常规节点完成,不依赖额外的 AI 能力;大模型只出现在第三步。更完整的能力说明见 生成式 AI 能力页,已开发的 AI 类插件见 AI 插件目录。