Datalab 发布了 OmniParseBench,一个面向文档解析器的开放 OCR 基准测试。它用 16,288 个是/否测试对解析器打分,测试覆盖来自 2,343 份文档的 2,937 个页面。这些页面横跨 92 种语言。数据集和代码均已公开。它帮助工程师回答一个比排行榜更尖锐的问题:哪个解析器能处理像我这样的文档?Datalab 销售一款解析器,其自家的最高配置 Datalab accurate 在发布排行榜上排名第二,仅次于 Gemini 3.8 Flash。
它可以部署吗?可以。OmniParseBench 是一个评估工具链,不是模型。它通过 uv pip install omni-parse-bench 安装,需要 Python 3.11+,并离线对输出打分,无需 API 密钥。
TL;DR
规模:16,288 个测试、2,937 个页面、2,343 份文档、22 个套件、92 种语言。
运行环境:任何装有 Python 3.11+ 的机器。打分无需网络。厂商运行需要各厂商的 API 密钥。
性能:报告的前 3 个系统彼此相差在 1.3 个头条分数点以内。
最佳:Gemini 3.8 Flash 以 92.9 领先;Datalab accurate 以 92.7 紧随其后。*
要点:每个分数都是通过/失败测试的占比,可按标签切分。
* 用于构建部分测试
什么是 OmniParseBench?
OmniParseBench 是 Datalab 推出的文档解析基准测试,其中每个测试都是关于 1 个页面的是/否问题。解析器的分数就是它通过的测试占比。Datalab 构建它是为了做到清晰、可审计且可探索。
为什么要再建一个 OCR 基准测试?
Datalab 指出了现有基准测试的两个问题。olmOCR-bench 证明了通过/失败单元测试是有效的。Datalab 现在称其已饱和。在它看来,顶尖系统之间的差距来自输出惯例和过拟合,而非阅读能力。olmOCR-bench 的每个测试还只属于 1 个分桶,由其页面的来源决定。一张手写表格会被平均进它所在页面落入的那个分桶。
LlamaIndex 的 ParseBench 将解析拆分为 5 种能力,每种都有自己的指标。Datalab 认为这些分数不共享同一单位,因此无法干净地比较或合并。
OmniParseBench 的打分是如何运作的?
最终分数是 3 个族分数的平均值:文本、表格和布局。五种测试类型为这些族提供输入:
present:某段文本、数字或公式出现(文本)
order:文本 A 出现在文本 B 之前(文本)
repeat:一行恰好出现 N 次(文本)
table_cell:一个单元格位于给定表头之下、给定相邻单元格之旁(表格)
layout_kind:包含某一行的区块是标题、文本还是表格(版面)
数字必须逐位匹配,不过 1,240 与 1240 视为匹配。公式按 KaTeX 渲染出的内容比较,因此 \frac{a}{b} 等于 \dfrac{a}{b}。每个判定结果为 pass、fail、unsupported 或 error。最后 2 种不计入任何得分。没有模型来评判输出;评分器是公开代码。
标签和推导能带来什么?
一个测试检查一个或多个 arg,每个 arg 是页面上某一处的内容。每个 arg 在 5 个维度上带有标签:结构、渲染、角色、文字系统和语言。文字系统使用 ISO 15924 代码;语言使用 ISO 639-3 代码。标签从不决定判定结果或 headline。它们只用于选择测试,因此任何切片都有自己的得分。
table 标签覆盖来自 875 份文档的 1,000 个页面上的 6,767 个测试。英语覆盖 10,089 个测试。非英语语言覆盖来自 321 份文档的 529 个页面上的 1,931 个测试。
每个测试还会记录其推导,即它的答案是如何确定的。共有 10 种推导。它们包括出版商 JATS XML、PDF 文本层、作者页面、olmOCR-bench 测试、模型面板和人工审核。
OmniParseBench 的发布结果是什么?
ParserHeadlineTextTablesLayoutGemini 3.8 Flash*92.991.395.292.2Datalab accurate92.790.891.895.6Datalab balanced91.690.089.295.5Reducto90.885.491.295.8LlamaParse90.488.292.690.4Mistral OCR89.582.891.993.8Claude Sonnet 5.5*88.793.195.477.5GPT-5.6 Sol87.885.491.686.5Extend83.364.192.593.4Azure83.074.681.792.8Tesseractnone17.60.0unsupported
*据 Datalab 称,至少参与创建和验证了部分测试。
Claude Sonnet 5.5 取得了最高的文本(93.1)和表格(95.4)得分。其 77.5 的版面得分把它的 headline 拉低到 88.7。Reducto 以 95.8 领跑版面。Datalab 还把每个 headline 与中位延迟和每 1,000 页价格作了对照绘图。延迟是在 200 个抽样页面上测量的,每次发送 8 页。
Datalab 没有让自己的产品在自家基准测试中登顶。它标出了两个参与构建测试的模型,并提醒读者注意它本身在销售一款解析器这一事实。它承诺会为未来的版本报告 OmniParseBench 分数。它的建议是:最好的基准测试就是你自己的文档。
如何运行 OmniParseBench?
复制代码已复制使用其他浏览器
uv pip install omni-parse-bench # score():无网络,无 API 密钥
uv pip install 'omni-parse-bench[harness]' # + 厂商适配器,用于预测
uv pip install 'omni-parse-bench[benchmark]' # + 数据集访问,用于运行基准测试
opb benchmark --out runs/ --limit 5 --providers datalab openai/gpt-5.6-sol
厂商需要诸如 DATALAB_API_KEY 或 OPENROUTER_API_KEY 之类的密钥。CLI 会显示其计划,并在调用任何厂商之前先询问。运行可断点续跑。查询指南展示了如何按标签、套件或测试类型比较运行结果。
OmniParseBench vs olmOCR-bench vs ParseBench vs OmniDocBench
特性OmniParseBencholmOCR-benchParseBenchOmniDocBench维护方DatalabAi2LlamaIndexOpenDataLab规模16,288 个测试,2,937 页,2,343 个文档7,010 个测试,1,403 个 PDF169,011 条规则,2,078 页,1,211 个文档1,651 个 PDF 页面语言92英语未披露5 种语言类型评分单元通过/失败测试;头条分数 = 3 个类别的均值通过/失败单元测试5 个维度,每个维度有自己的指标由文本编辑距离、表格 TEDS、公式 CDMModel 得出的总体分数模型评判无不用于评分默认无(图表可选启用)不用于评分内容标签每个参数:结构、渲染、角色、文字系统、语言7 个来源类别5 个能力维度页面、文本和表格属性逐测试溯源是,每个测试都有推导过程按类别提取方法人工验证页面并非逐测试延迟和成本每页中位数秒数、每 1,000 页美元数未在数据集卡片中¢ 每页显示在排行榜上未披露许可证代码 Apache 2.0;测试 CC BY 4.0 但有例外;页面数据按来源分别授权数据集 ODC-BY 1.0Apache 2.0代码 Apache 2.0;数据仅限研究用途
关键要点
在 2,937 页、92 种语言上的 16,288 个是/否测试。
头条分数 = 文本、表格和布局通过率的均值。
标签用于切分结果;它们从不改变判定。
Datalab 构建了它并排名第二:Gemini 3.8 Flash 92.9*,Datalab accurate 92.7。
Apache 2.0 代码;评分离线运行,无需 API 密钥。
* 用于构建部分测试
查看博客文章、数据集和 GitHub 仓库。
感谢 Datalab 团队为本文提供资源。Datalab 支持并赞助了本内容。
文章 Datalab Releases OmniParseBench: An Open OCR Benchmark With 16,288 Pass/Fail Tests to Audit OCR Parsers 首发于 MarkTechPost。