企业采购 OCR API,容易一上来就比单价,但真正决定项目成败的是四件事:页数口径是否一致、数据能不能过内部评审、准确率能不能验收、出问题时有没有兜底。OCR 的报价常按页、按张、按调用次数或按 Token 计算,口径不统一时,单价本身没有可比性。

下面这份清单按采购流程展开:从用量估算、计费与发票,到隐私问卷、准确率抽检、人工复核、权限、备用通道与试点验收。具体价格与可用模型以模型价格和签署合同为准,本文不写死数字。

说明:文中提及的 OCR 产品、模型与商标归各自权利人所有,仅作采购技术说明。服务条款、价格与准确率指标可能调整,请以签署合同和官方文档为准。

一、先算页数,再谈价格

采购文档里的“页”必须先定义。常见口径有四种:一个 PDF 文件算一页、PDF 拆成图像后按图计页、按 API 调用次数计费、只对成功识别的页计费。双面扫描、附件、多图上传和空白页的处理方式,也要写清楚。

指标 估算方法 写进采购文档的用途
月处理页数 近三个月单据量 × 增长系数 确定套餐与预算上限
峰值页/分钟 高峰小时页数 ÷ 60,再乘安全系数 确认并发与限流
单页图片数 双面扫描、附件、多图上传 统一“页”的计费口径
失败与重试 试点失败率 × 重试次数 预留额度,避免超额
人工复核比例 低置信度字段占比 估算复核人力与工时

用量不要只报一个年总量。OCR 的负载通常有明显高峰,月末、季末和报税期可能集中上传。把峰值并发和积压处理能力写进验收,比只谈月均页数更接近真实生产。

二、计费、合同与发票

拿到报价单后,逐项核对下面这些内容,不要只问“一页多少钱”:

  • 计费单位是页、张、调用次数还是 Token,是否区分印刷体与复杂版式。
  • 是否有阶梯价、最低消费、承诺用量和超额单价。
  • 失败请求、超时重试、空白页和重复上传是否计费。
  • 结算周期与对账依据:按调用日志、按成功页,还是按账单汇总。
  • 合同主体、结算币种、付款方式、退款规则。
  • 发票类型与开票周期,能否开增值税专用发票。

企业付款建议走对公,保留合同、订单、付款回单和发票。报价单要注明有效期,因为 OCR 的价格和套餐会调整;做三年预算时,最好同时准备价格上浮时的应对方案。

三、数据隐私:把问题写成问卷

OCR 处理的多是合同、发票、证件和客户资料,隐私审查不能只听口头说明。把下面十个问题发给供应商,要求书面答复并归档:

  1. 上传的图片和识别结果保存多久,存储在哪里?
  2. 数据是否用于模型训练或产品改进,能否关闭?
  3. 是否支持指定存储区域,数据是否会跨境传输?
  4. 传输和静态存储分别采用什么加密方式?
  5. 删除请求如何提交,多久生效,是否有回执?
  6. 子处理商有哪些,变更时是否提前通知?
  7. 能否签署数据处理协议(DPA)?
  8. 能否提供安全审计报告或安全问卷答复?
  9. 安全事件的通知时限和责任边界是什么?
  10. 内部员工访问客户数据是否有审批和审计日志?

多模态模型的 OCR 往往要上传整张图片,传统 OCR 接口也可能保留原图用于排查。两种方案都要确认留存策略。涉及身份证、银行卡、病历等敏感材料时,优先考虑本地化部署、脱敏后再识别,或选择条款明确的付费服务并完成法务评审。

四、准确率:不要只看一个百分比

“准确率”没有统一分母。字符准确率高,不代表字段能直接入账;整单准确率高,也不代表手写和表格没问题。采购时至少拆成四个指标:

  • 字符准确率:识别文本与标准答案的接近程度。
  • 字段准确率:发票号、金额、日期等关键字段是否完全正确。
  • 整单通过率:一份文档无需人工修改即可进入下游的比例。
  • 结构化输出成功率:返回的 JSON 能否按约定 schema 解析。

同时要求按文档类型、印刷/手写、扫描质量、语言分别统计。供应商的测试报告只能作参考,最终要用自己的样本跑试点,覆盖主要单据和最差质量,不能只用演示图。

五、人工复核与异常处理

再好的 OCR 也会有低置信度结果,采购方案必须包含人工复核环节。常见做法是:模型返回置信度,低于阈值的字段进入复核队列;金额、税号、证件号等关键字段增加校验规则,例如合计校验和格式校验;高价值单据采用双人录入或抽检。

复核不是失败,而是业务设计的一部分。要在采购阶段估算复核比例和工时,把它算进总成本,而不是上线后才发现人力不够。同时保留原图、识别结果、修改记录和操作人,形成可追溯的审计链。

六、权限、审计与备用通道

企业接入要按项目拆分 Key,生产和测试隔离,遵循最小权限;Key 放在服务端环境变量或密钥管理服务中,定期轮换,并设置预算与用量告警。调用日志至少保留请求 ID、时间、文档标识、耗时和状态,便于对账与排查。

备用通道也要提前设计:核心文档可以准备第二家供应商,或者用本地开源 OCR 做降级;批量任务进入队列,失败后退避重试;连续失败时熔断并转人工,避免把错误结果写进业务系统。下面是一个带超时设置的最小调用示例:

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["ZSQH_API_KEY"],
    base_url="https://ai.zhongshangqihang.com/v1",
    timeout=30,
)

resp = client.chat.completions.create(
    model=os.environ["OCR_MODEL"],  # 模型名以站内模型列表为准
    messages=[{
        "role": "user",
        "content": [
            {"type": "text", "text": "识别图片文字并按字段输出 JSON"},
            {"type": "image_url", "image_url": {"url": "https://example.com/invoice.png"}},
        ],
    }],
)
print(resp.id)  # 记录请求 ID,便于对账与排查
print(resp.choices[0].message.content)

七、试点验收的八个步骤

  1. 签署试用或保密协议,约定样本只用于本次评测。
  2. 选 100–300 页真实样本,覆盖主要文档类型与最差扫描质量。
  3. 人工标注关键字段,统一标注口径和“正确”的定义。
  4. 固定模型、版本和参数,保留请求日志与请求 ID。
  5. 计算分层字段准确率、整单通过率、P95 延迟和失败率。
  6. 设定置信度阈值,统计人工复核比例与实际工时。
  7. 做一次限流和故障演练,验证备用通道与积压处理。
  8. 把评测报告、报价单、数据条款、合同和发票一起归档,再决定全量上线。

验收标准要在试点前写死,不能等结果出来再解释。建议设置一票否决项,例如敏感数据无法满足留存要求、关键字段准确率低于业务底线、故障时没有降级方案。

八、常见问题

PDF 按页计费时,一页到底怎么算?

不同平台口径不同:有的按文件页数,有的先把 PDF 拆成图像再计页,有的只对成功识别页计费。空白页、封面、附件和多图上传是否计费,都要在合同或订单里写明。

供应商宣传的准确率能直接信吗?

只能作参考。要问清测试样本的构成、指标定义和统计方法,并用自己的真实文档跑一轮试点。宣传数字通常来自理想样本,与你的真实单据未必一致。

数据可以不出境吗?

取决于部署方式。公有云 API 的数据可能在其他区域处理,本地化部署或开源自建则可以把数据留在自己的环境。采购前确认存储与处理区域、跨境传输安排,并交给法务和安全团队评审。

一定要准备两家供应商吗?

不一定,但要有备用方案。双供应商会增加接入和维护成本;更常见的做法是一家主用,加一个本地开源 OCR 或第二通道做降级,并确保切换流程演练过。

试点要做多大、多久?

没有统一标准。一般选 100–300 页覆盖主要场景,跑一到三周,重点看分层准确率、复核工时和故障表现。样本太小或只测清晰文档,结论会偏乐观。

下一步

如果企业需要人民币付款、统一账单和发票,同时调用多家模型,可以先注册中商起航 AI 网关,用小批量文档跑通试点,再按项目拆分 Key 和预算。模型可用性与价格以模型价格为准。

相关阅读: