Datalab a publié OmniParseBench, un benchmark OCR ouvert pour les parseurs de documents. Il évalue les parseurs avec 16,288 tests oui/non sur 2,937 pages issues de 2,343 documents. Les pages couvrent 92 langues. Le jeu de données et le code sont publics. Cela aide les ingénieurs à répondre à une question plus précise que ne le fait un classement : quel parseur gère des documents comme les miens ? Datalab vend un parseur, et son propre réglage le plus performant, Datalab accurate, se classe deuxième du classement de lancement, derrière Gemini 3.8 Flash.
Est-il déployable ? Oui. OmniParseBench est un harnais d'évaluation, pas un modèle. Il s'installe avec uv pip install omni-parse-bench, nécessite Python 3.11+, et évalue les sorties hors ligne sans clés API.
TL;DR
- Taille : 16,288 tests, 2,937 pages, 2,343 documents, 22 suites, 92 langues.
- Fonctionne sur : toute machine avec Python 3.11+. L'évaluation ne nécessite aucun réseau. Les exécutions des fournisseurs requièrent la clé API de chaque fournisseur.
- Performances : les 3 meilleurs systèmes rapportés se tiennent dans un écart de 1.3 point d'en-tête.
- Meilleur : Gemini 3.8 Flash mène avec 92.9 ; Datalab accurate suit avec 92.7.*
- En résumé : chaque score est une part de tests réussite/échec, découpable par étiquette.
* utilisé dans la construction de certains tests
Qu'est-ce qu'OmniParseBench ?
OmniParseBench est un benchmark d'analyse de documents de Datalab où chaque test est une question oui/non portant sur 1 page. Le score d'un parseur est la part de tests qu'il réussit. Datalab l'a conçu pour être clair, auditable et explorable.
Pourquoi construire un autre benchmark OCR ?
Datalab nomme deux problèmes des benchmarks existants. olmOCR-bench a montré que des tests unitaires réussite/échec fonctionnent. Datalab le considère désormais comme saturé. De son point de vue, les meilleurs systèmes sont séparés par des conventions de sortie et du surapprentissage, non par la lecture. De plus, chaque test d'olmOCR-bench se trouve dans 1 compartiment, déterminé par la source de sa page. Un tableau manuscrit se retrouve moyenné dans le compartiment où sa page est tombée.
ParseBench de LlamaIndex découpe l'analyse en 5 capacités, chacune avec sa propre métrique. Datalab fait valoir que ces scores n'ont pas d'unité commune, de sorte qu'ils ne peuvent pas être comparés ou combinés proprement.
Comment fonctionne la notation d'OmniParseBench ?
Le score final est la moyenne de 3 scores de familles : texte, tableaux et mise en page. Cinq types de tests alimentent ces familles :
- present : un texte, un nombre ou une équation apparaît (texte)
- order : le texte A vient avant le texte B (texte)
- repeat : une ligne apparaît exactement N fois (texte)
- table_cell : une cellule se trouve sous des en-têtes donnés et à côté de voisins donnés (tableaux)
- layout_kind : le bloc contenant une ligne est un titre, du texte ou un tableau (mise en page)
Les nombres doivent correspondre chiffre pour chiffre, bien que 1,240 corresponde à 1240. Les équations sont comparées par ce que KaTeX génère, donc \frac{a}{b} égale \dfrac{a}{b}. Chaque décision est pass, fail, unsupported ou error. Les 2 dernières sont exclues de chaque score. Aucun modèle ne juge les sorties ; le scorer est un code ouvert.
Qu'ajoutent les tags et les dérivations ?
Un test vérifie un ou plusieurs args, chacun étant le contenu à un endroit de la page. Chaque arg porte des tags sur 5 axes : structure, rendu, rôle, script et langue. Les scripts utilisent les codes ISO 15924 ; les langues utilisent les codes ISO 639-3. Les tags ne décident jamais d'un verdict ni du score principal. Ils servent seulement à sélectionner des tests, de sorte que chaque tranche obtient son propre score.
Le tag table couvre 6,767 tests sur 1,000 pages issues de 875 documents. L'anglais couvre 10,089 tests. Les langues non anglaises couvrent 1,931 tests sur 529 pages issues de 321 documents.
Chaque test enregistre également sa dérivation, c'est-à-dire comment sa réponse a été établie. Il y a 10 dérivations. Elles incluent le XML JATS d'éditeurs, la couche de texte des PDF, des pages rédigées, les tests d'olmOCR-bench, des panels de modèles et une revue humaine.
Quels sont les résultats de lancement d'OmniParseBench ?
| Parseur | Score principal | Texte | Tableaux | Mise en page |
| Gemini 3.8 Flash* | 92.9 | 91.3 | 95.2 | 92.2 |
| Datalab accurate | 92.7 | 90.8 | 91.8 | 95.6 |
| Datalab balanced | 91.6 | 90.0 | 89.2 | 95.5 |
| Reducto | 90.8 | 85.4 | 91.2 | 95.8 |
| LlamaParse | 90.4 | 88.2 | 92.6 | 90.4 |
| Mistral OCR | 89.5 | 82.8 | 91.9 | 93.8 |
| Claude Sonnet 5.5* | 88.7 | 93.1 | 95.4 | 77.5 |
| GPT-5.6 Sol | 87.8 | 85.4 | 91.6 | 86.5 |
| Extend | 83.3 | 64.1 | 92.5 | 93.4 |
| Azure | 83.0 | 74.6 | 81.7 | 92.8 |
| Tesseract | aucun | 17.6 | 0.0 | non pris en charge |
*Utilisé dans la création et la vérification d'au moins certains tests, selon Datalab.
Claude Sonnet 5.5 affiche les meilleurs scores en texte (93.1) et en tableaux (95.4). Son score de mise en page de 77.5 porte son score global à 88.7. Reducto domine la mise en page avec 95.8. Datalab a également représenté chaque score global en fonction de la latence médiane et du prix pour 1,000 pages. La latence a été mesurée sur 200 pages échantillonnées, envoyées 8 à la fois.
Datalab ne domine pas son propre benchmark. Il signale les deux modèles qui ont aidé à construire les tests, et il demande aux lecteurs de tenir compte du fait qu'il vend un parseur. Il s'engage à publier les scores OmniParseBench de ses prochaines versions. Son conseil : le meilleur benchmark, ce sont vos propres documents.
Comment exécuter OmniParseBench ?
Copier le codeuv pip install omni-parse-bench # score(): no network, no API keys
uv pip install 'omni-parse-bench[harness]' # + vendor adapters, to predict
uv pip install 'omni-parse-bench[benchmark]' # + dataset access, to run the benchmark
opb benchmark --out runs/ --limit 5 --providers datalab openai/gpt-5.6-sol
Les fournisseurs ont besoin de clés telles que DATALAB_API_KEY ou OPENROUTER_API_KEY. La CLI affiche son plan et demande confirmation avant d'appeler un fournisseur. Les exécutions sont reprenables. Le guide de requêtes montre comment comparer les exécutions par tag, suite ou type de test.
OmniParseBench vs olmOCR-bench vs ParseBench vs OmniDocBench
| Caractéristique | OmniParseBench | olmOCR-bench | ParseBench | OmniDocBench |
| Mainteneur | Datalab | Ai2 | LlamaIndex | OpenDataLab |
| Scale | 16 288 tests, 2 937 pages, 2 343 documents | 7 010 tests, 1 403 PDF | 169 011 règles, 2 078 pages, 1 211 documents | 1 651 pages PDF |
| Langues | 92 | Anglais | Non divulgué | 5 types de langues |
| Unité de notation | Test réussite/échec ; le score principal = moyenne de 3 familles | Tests unitaires réussite/échec | 5 dimensions, chacune avec sa propre métrique | Score global à partir de la distance d'édition du texte, du TEDS des tableaux et du CDM des formules |
| Juge modèle | Aucun | Non utilisé pour la notation | Aucun par défaut (activation facultative pour les graphiques) | Non utilisé pour la notation |
| Étiquettes de contenu | Par argument : structure, rendu, rôle, script, langue | 7 catégories de sources | 5 dimensions de capacités | Attributs de page, de texte et de tableau |
| Provenance par test | Oui, dérivation sur chaque test | Méthode d'extraction par catégorie | Pages vérifiées par des humains | Pas par test |
| Latence et coût | Médiane s/page, $ pour 1 000 pages | Absent de la fiche de jeu de données | centime par page sur le classement | Non divulgué |
| Licence | Code Apache 2.0 ; tests CC BY 4.0 avec exceptions ; données de pages sous licence selon la source | Jeu de données ODC-BY 1.0 | Apache 2.0 | Code Apache 2.0 ; données réservées à la recherche |
Points clés
- 16,288 tests oui/non sur 2,937 pages en 92 langues.
- Le score principal = moyenne des taux de réussite du texte, des tableaux et de la mise en page.
- Les balises (tags) segmentent les résultats ; elles ne modifient jamais un verdict.
- Datalab l'a construit et se classe deuxième : Gemini 3.8 Flash 92.9*, Datalab accurate 92.7.
- Code Apache 2.0 ; la notation s'exécute hors ligne sans clés API.
* utilisé pour construire certains tests
Consultez le billet de blog, jeu de données et dépôt GitHub.
Merci à l'équipe Datalab pour les ressources derrière cet article. Datalab a soutenu et sponsorisé ce contenu.
Le billet Datalab publie OmniParseBench : un benchmark OCR ouvert avec 16,288 tests de réussite/échec pour auditer les parseurs OCR est applu pour la première fois sur MarkTechPost.