Spaces:
Running
Running
| 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> | |