Spaces:
Running
Running
File size: 6,269 Bytes
1082bee 1baabc0 1082bee 1baabc0 1aab583 b086035 1aab583 b086035 1aab583 b086035 1aab583 b086035 1aab583 b086035 1aab583 b086035 1aab583 b086035 1baabc0 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 | ---
title: README
emoji: π
colorFrom: indigo
colorTo: blue
sdk: static
pinned: false
---
<div align="center">
<h1>Neural Metrics</h1>
<h3><em>Documents in. Structured data out.</em></h3>
<p>
We turn the world's messiest paperwork β scanned invoices, 200-page contracts,
handwritten forms, statements that were faxed in 1998 β into clean, typed,
schema-valid JSON.
</p>
<p>
<img src="https://img.shields.io/badge/focus-document%20extraction-4F46E5?style=for-the-badge" alt="Document extraction" />
<img src="https://img.shields.io/badge/stack-VLM%20%2B%20OCR%20%2B%20layout-2563EB?style=for-the-badge" alt="Stack" />
<img src="https://img.shields.io/badge/output-schema--valid%20JSON-0891B2?style=for-the-badge" alt="Output" />
</p>
</div>
---
## The pipeline
| | Stage | What happens |
|:--:|:--|:--|
| π₯ | **Ingest** | PDFs, scans, phone photos, faxes β skewed, stapled, stamped and all |
| ποΈ | **Read** | Vision-language OCR that keeps *layout*, not just characters |
| π§© | **Structure** | Tables, keyβvalue pairs and reading order recovered from the page |
| π | **Ground** | Every field carries a bounding box, so each value traces back to the pixel it came from |
| β
| **Validate** | Constrained decoding against your schema β malformed JSON never leaves the building |
---
## Why we build in the open
Document AI fails in ways benchmarks rarely capture: the third column that wraps,
the total that lives in the footer, the checkbox that means the opposite of what
it looks like. So we work from open weights we can inspect, fine-tune and ship β
and we publish the forks we build on.
---
## The zoo
### ποΈ Readers β pixels to structure
| Model | Size | Why it's here |
|:--|:--|:--|
| [**Qwen3-VL-2B-Instruct**](https://huggingface.co/NeuralMetrics/Qwen3-VL-2B-Instruct) | 2B | Our workhorse. Cheap to serve, sharp enough to hold a table together across a page break. |
| [**Nanonets-OCR-s**](https://huggingface.co/NeuralMetrics/Nanonets-OCR-s) | 3B | Document β Markdown with semantic tags: tables, checkboxes, signatures, watermarks. |
| [**DeepSeek-OCR**](https://huggingface.co/NeuralMetrics/DeepSeek-OCR) | 3B | Optical context compression β a whole page in far fewer vision tokens. Long docs get affordable. |
| [**olmOCR-7B**](https://huggingface.co/NeuralMetrics/olmOCR-7B-0225-preview) | 7B | Fully open: weights, data *and* training code. Our auditable reference point. |
| [**RolmOCR**](https://huggingface.co/NeuralMetrics/RolmOCR) | 7B | The olmOCR recipe, rebuilt for speed and lower memory. |
| [**PaddleOCR-VL**](https://huggingface.co/NeuralMetrics/PaddleOCR-VL) | 0.9B | Layout analysis from the most battle-tested OCR lineage there is. Strong multilingual. |
| [**GOT-OCR2_0**](https://huggingface.co/NeuralMetrics/GOT-OCR2_0) | 580M | Doesn't flinch at formulas, tables or dense text. Emits Markdown and LaTeX directly. |
| [**granite-docling-258M**](https://huggingface.co/NeuralMetrics/granite-docling-258M) | 258M | Emits a *document tree*, not a wall of text. First-pass structure at high volume. |
| [**Florence-2-base**](https://huggingface.co/NeuralMetrics/Florence-2-base) | 230M | OCR *with regions*. Text plus coordinates in a single pass. |
| [**trocr-base-printed**](https://huggingface.co/NeuralMetrics/trocr-base-printed) | 334M | Line-level recognition. Old, small, well understood β the control in every experiment. |
### π Retrieval β finding it again afterwards
| Model | Size | Why it's here |
|:--|:--|:--|
| [**Qwen3-Embedding-0.6B**](https://huggingface.co/NeuralMetrics/Qwen3-Embedding-0.6B) | 0.6B | Semantic search over extracted clauses and line items. Ask a question, get the clause. |
### π Datasets β how we keep ourselves honest
| Dataset | Focus |
|:--|:--|
| [**ocr-benchmark**](https://huggingface.co/datasets/NeuralMetrics/ocr-benchmark) | End-to-end JSON accuracy, not character error rate. 99% of characters right can still get the total wrong. |
| [**cord-v2**](https://huggingface.co/datasets/NeuralMetrics/cord-v2) | The receipt benchmark everyone quotes. Line-item annotations, comparable scores. |
| [**invoices-donut-data-v1**](https://huggingface.co/datasets/NeuralMetrics/invoices-donut-data-v1) | Invoices paired with the JSON they should produce. |
| [**invoices-and-receipts-ocr-v1**](https://huggingface.co/datasets/NeuralMetrics/invoices-and-receipts-ocr-v1) | Receipts β faded thermal print, drifting columns, totals in odd places. |
| [**funsd-layoutlmv3**](https://huggingface.co/datasets/NeuralMetrics/funsd-layoutlmv3) | Noisy scanned forms with keyβvalue and entity-link ground truth. |
| [**key-information-extraction**](https://huggingface.co/datasets/NeuralMetrics/key-information-extraction) | Field-level precision and recall, straight at the core task. |
| [**DocumentVQA**](https://huggingface.co/datasets/NeuralMetrics/DocumentVQA) | Ask a page a question. Catches models that read text but misread structure. |
| [**ProcessBench**](https://huggingface.co/datasets/NeuralMetrics/ProcessBench) | Step-level evaluation. Extraction is a chain; we care *where* it breaks. |
| [**P-MMEval**](https://huggingface.co/datasets/NeuralMetrics/P-MMEval) | Multilingual coverage, because invoices don't only arrive in English. |
> Every repo here is an **unmodified fork** of upstream work by the
> [Qwen](https://huggingface.co/Qwen), [IBM Granite](https://huggingface.co/ibm-granite),
> [Nanonets](https://huggingface.co/nanonets), [DeepSeek](https://huggingface.co/deepseek-ai),
> [AI2](https://huggingface.co/allenai), [Reducto](https://huggingface.co/reducto),
> [StepFun](https://huggingface.co/stepfun-ai), [PaddlePaddle](https://huggingface.co/PaddlePaddle),
> [Microsoft](https://huggingface.co/microsoft), [OmniAI](https://huggingface.co/getomni-ai),
> [NAVER CLOVA](https://huggingface.co/naver-clova-ix), [Katana ML](https://huggingface.co/katanaml-org)
> and [HuggingFaceM4](https://huggingface.co/HuggingFaceM4) teams. We rehost so our experiments stay
> reproducible and version-pinned β original licenses and all credit remain with the upstream authors.
---
<div align="center">
### Extraction you can audit, field by field.
<sub>Neural Metrics Β· document intelligence</sub>
</div>
|