Datalab's Indra: open OCR that runs on a CPU at 44 pages/sec

A 76 MB ONNX model turns PDFs into markdown with layout boxes — ~15x Tesseract across 95 languages, but the open weights carry a non-compete license.

Nowline OCT 21 4:00 PM banner

Top AI stories from the last hour

Top AI stories from the last hour

Copy markdown

  • 1M params, zero GPUs

    Indra is a ~1M-parameter recognizer — about 76 MB of ONNX weights — that runs on CPU with no PyTorch and no CUDA. Datalab clocks ~44 pages/sec on 32 cores and ~212 ms/page on four, roughly 15x Tesseract on the same machine.

  • Structured output, not just text

    `pip install indra-ocr` then `indra-ocr paper.pdf` emits markdown, text, or JSONL with per-line bounding boxes, layout labels (headings, tables, lists) and reading order — a drop-in front end for a RAG ingestion pipeline. `indra-ocr-viewer` renders the boxes locally.

  • The benchmark, and where it breaks

    It scores 66.7 on OmniParseBench (71.4 with `--math`) versus 58.4 for PaddleOCR's PP-StructureV3, and reads 83 of 95 tested languages at F1 ≥ 0.90. It's weak on complex tables, handwriting and degraded scans, so vet those before production.

  • Read the weights license first

    The code is Apache 2.0, but the weights ship under a modified OpenRAIL-M: free for research, personal use and startups under $20M in funding or revenue — and explicitly not for building a product that competes with Datalab's own OCR API.