OCR模型与通用大模型对比

模型与算力

给文档识别场景的开发者,讲清专用 OCR 模型和通用大模型各自擅长什么,按精度与成本两条线给出可执行的选型步骤。

做发票、合同、证照、表格录入这类文档识别时,最容易卡住的一步不是接哪个接口,而是先判断该用专用 OCR 模型还是通用大模型。两者在版式还原、手写和生僻字、字段结构化上的表现差距很大,计费口径也完全不同。这篇按任务特征拆开讲,给出可照着走的选型和验证顺序。

做发票、合同、证照、表格录入这类文档识别时,最容易卡住的一步不是接哪个接口,而是先判断该用专用 OCR 模型还是通用大模型。两者在版式还原、手写和生僻字、字段结构化上的表现差距很大,计费口径也完全不同。选错了不是多花点钱的问题,而是后期大量人工复核压垮流程。

这篇按任务特征拆开讲,给出可照着走的选型和验证顺序。核心思路是:先分清任务属于哪一层识别,再按精度和成本两条线做对照,最后决定是单走一条还是做混合流水线。所有涉及具体数字的地方,都去站内对应页面核对你当时的账单和报价。

先分清你的任务属于哪一类识别

不要一上来就问「哪个模型识别率高」。先把需求拆成三层,三层的难度和技术路线完全不同。拆错了,后面所有的对比都是在比一个不需要的指标。

任务层次典型场景更适合的路线
纯文本抽取把扫描件里的文字抠出来,不要坐标不要结构专用 OCR 通常够用
版式与坐标还原表格、多栏、印章位置、阅读顺序专用 OCR 或版面分析模型
字段语义理解跨页推理、字段校验、口语化指令输出通用大模型更占优势
  • 纯文本抽取和固定版式表单,专用 OCR 一般能稳定交付,成本和延迟都可控;
  • 需要跨页理解、字段推理、口语化指令的场景才轮到通用大模型上场;
  • 如果同一份文档既要还原表格结构又要做字段校验,往往需要两者串联,而不是二选一;
  • 判断不准的时候,先问自己:这份文档的版式下个月会不会变?会变就往通用大模型偏一点。

精度别只看一个数字,按四个维度拆开比

官方案例图上的识别效果参考价值有限。真实的精度差异要在你自己的文档上按四个维度分别看,混在一起平均会掩盖系统性偏差。

字符准确率
印刷体、手写、生僻字、小字号分别是什么水平,不要只看印刷体平均值
结构还原
表格合并单元格、多栏排版、印章压字会不会串行,串行比错字更难修
字段级准确率
抽出来的金额、日期、编号能否直接入库,不能入库就等于零
拒识能力
不确定时给不给置信度,还是直接编一个看起来合理的值

第三和第四点最容易被忽略,但它们决定的其实是你后面的后处理和人工复核成本。字段级准确率低一点,可能只是多几个复核工位;拒识能力差,则是错误静默扩散,等发现时已经入了账。

成本要按整条链路算,不只看单价

专用 OCR 一般按页或按次计费,通用大模型按输入输出 token 计费。表面单价没法直接比,因为长文档和高分辨率图片会显著放大 token 用量,同一页在两边的口径完全不一样。

成本项专用 OCR通用大模型
主要计费口径按页或按次按输入输出 token
高分辨率大图影响通常影响小token 用量明显放大
长文档影响按页线性增长整页送进去成本陡增
后处理成本格式稳定,偏低格式漂移,校验重试偏多
  • 到 /tools/model-cost-calculator 按自己的月处理量换算,别用单页价乘以页数就想当然;
  • 再到 /official-api 核对当时的各家价格,注意区分是否有批量折扣和阶梯价;
  • 把失败重跑、人工复核和存档的隐性人力成本也算进去,小团队尤其要按倍数留余量;
  • 通用大模型输出格式漂移导致的校验和重试,长期看往往比接口费更贵。

用几个任务信号快速做初判

在你还没跑样本之前,可以先根据任务信号做一个粗判,帮你决定先测哪一条路线,节省验证时间。

任务信号偏向专用 OCR偏向通用大模型
版式固定、可预期杂乱、经常变
文字类型印刷体为主手写、混排、生僻字多
输出要求只要字段和文本要解释、摘要、推理
处理量日处理量大单量不大或试点阶段
延迟要求对响应时间敏感可以接受稍慢

还有一条混合路线值得优先考虑:专用 OCR 先出文本和坐标,通用大模型只做纠错和结构化。这样通常能同时压低误差和单价,代价是链路变长,需要多监控一环。

  • 拿不准时先用小批量真实文档跑一遍,别用官方案例图做判断;
  • 样本要覆盖你自己业务里最脏的那一类,而不是最好看的那一类;
  • 把两类错误分开记:识别错了字,还是理解错了字段含义。

上线前必须做的一轮对照验证

选型不能靠感觉,上线前必须跑一轮对照。下面这套顺序可以照着走,重点是分组测,而不是混在一起看总分。

  1. 抽真实样本从真实业务里抽一批,覆盖清晰件、扫描件、拍照件、手写件、表格件,按类型分组而不是混在一起平均。
  2. 定验收线为每组写下字段级准确率、结构性错误率、必须人工复核的比例三条线,先写再去测。
  3. 跑对照同一批样本分别跑专用 OCR 和通用大模型,记录错例类型,看错误是随机噪声还是系统性偏差。
  4. 算总账把每条路线的耗时、单价、失败率一起列成表,再决定主路和兜底路。

验证时特别留意一点:如果某一类文档在通用大模型上错得很有规律,说明它缺的是版面信息而不是语言理解能力,这类任务回到专用 OCR 反而更稳。

混合流水线怎么搭更稳

大多数真实业务的答案不是二选一,而是分层组合。下面这套三层结构是常见做法,可以根据你的量级裁剪。

  • 第一层用专用 OCR 或轻量版面分析做粗抽取,速度快、成本低,先把大块文本和坐标拿到;
  • 第二层只把低置信度片段或需要推理的字段送进通用大模型,减少 token 消耗;
  • 第三层做规则校验,比如金额合计、日期合法、编号格式,把明显错的拦下来;
  • 保留原始图像和中间结果,出问题时能回放到具体是识别错还是推理错。

第三层的规则校验最便宜也最容易被跳过。它不需要模型,只需要你把业务里已知的硬约束写下来,就能挡掉相当一部分明显错误。

先让便宜的环节做掉大部分活,再让贵的模型只处理真正难的那一小部分。

常见踩坑与不适用的情况

下面这些坑几乎每个做文档识别的团队都会遇到,提前知道能少走弯路。同时也要清楚,某些场景下这两条路线都不合适。

  • 用通用大模型直接处理整页高清扫描图,token 费用会远超预期,且长文档容易漏段;
  • 把专用 OCR 的字段级结果当最终数据直接入库,不做校验,错误会静默扩散;
  • 文档类型频繁变更时,专用 OCR 的模板维护成本会持续上升,这时要重新评估路线;
  • 强合规场景要确认数据是否出内网、是否留存,通用大模型走公网接口前先过一遍 /safety。

一份可以直接照着做的落地清单

把前面几节收敛成一张清单,按顺序执行,每步都有可见的产出,方便和团队同步进度。

  1. 归类任务把任务归到三层识别中的哪一类,写下验收线,产出一页纸的选型备忘。
  2. 准备样本抽 50 到 200 份真实样本,按文档类型分组,覆盖最脏的那一类。
  3. 跑对照记录每组准确率、单价、耗时、失败率,算每千份走到可用状态的总花费。
  4. 定路线定主路线和兜底路线,写清触发切换的条件,比如复核率超过某条线就切。
  5. 持续抽检上线后持续抽检,把人工复核率当作核心指标盯着,发现漂移再回到对照表。
下一步先把站内的成本口径和当时的各家价格核对清楚,再回到自己的样本上跑对照,选型会踏实很多。

常见问题

专用 OCR 和通用大模型,哪个识别准确率更高?

没有统一答案,取决于文档类型。印刷体、固定版式的表单和票据,专用 OCR 往往更稳,字符级错误更少;版式杂乱、需要跨字段推理或输出自然语言的场景,通用大模型更有优势。正确做法是按你的真实样本分组测,而不是看笼统的总体准确率。

通用大模型做 OCR,成本一定更高吗?

不一定,但更容易失控。计费按 token 算,图片分辨率高、文档页数多会明显放大用量,加上输出格式漂移带来的重试,实际花费常高于预估。到 /tools/model-cost-calculator 按自己的月处理量换算一次,再对比专用 OCR 的按页计费,差别会很清楚。

能不能只用通用大模型,不接专用 OCR?

小批量、文档类型多变、需要语义理解时可行,省掉一套模板维护。但日处理量大、对延迟敏感、字段要求严格时,纯大模型路线的单价和稳定性都容易成为瓶颈。建议先跑一批样本,算清每页成本和错误需要人工返工的比例再决定。

混合方案会不会让系统更难维护?

会多一点组件,但换来的是可控的成本和误差。常见做法是专用 OCR 出文本和坐标,只把低置信片段或需要推理的字段送进大模型,再加一层规则校验。要注意保留中间结果和原始图像,否则出错时很难定位是哪一层的问题。

怎么判断该不该换路线?

盯三个信号:人工复核比例持续升高、单页成本超出预算、错例集中在某类文档。前两个说明当前路线性价比在下降,第三个说明需要按文档类型拆分路线而不是整体切换。换之前先在小批量上验证,别一次性全量迁移。

本文依据各平台公开文档与官方公告整理,只做中文归纳;具体做法、参数与限制以官方文档为准。