AI AI工具情报站
PythonApache-2.0

Indra OCR:100 万参数的小模型,CPU 上每秒读 49 页,比 Tesseract 快十几倍

⭐ 627 Stars

这个项目能干嘛

Indra OCR 是 Datalab 出品的一个极轻量 OCR 模型,参数只有 100 万,却能在纯 CPU 上每秒读 49 页文档。它把 PDF 和图片转成 markdown、纯文本,或者带坐标框的 JSON。说白了,它干的是「把扫描件、截图变成能复制、能搜、能进数据库的文字」这件老活,但用一个小到离谱的模型,在没显卡的机器上就把事办了。对要在服务器批量处理合同、论文、票据的人来说,这意味着不用为 OCR 单独配一张卡。

为什么最近火了

OCR 看似是老课题,但「又快又准又便宜」永远是硬需求。Indra 的卖点恰恰打在这一点:它不需要 GPU,普通 x86 云主机的 4 核 vCPU 上每页延迟约 230 毫秒,吞吐比 Tesseract 和 PaddleOCR 快 11 到 17 倍。更狠的是精度——在 OmniParseBench 文本项上拿到 41.3 分,超过 PaddleOCR 的 PP-OCR(35.8)和 Tesseract(19.3)。这种「小模型干翻老牌大模型」的反差,让它三天就涨到 350 星以上,吸引了一批想降本的工程师。

技术亮点

它不是简单地识别字符,而是一条完整流水线:先做行检测(line detection)框出每行文字,再做 CTC 识别把图像转成字符序列,然后排好阅读顺序(reading order),最后输出结构化 markdown——标题、列表、段落都尽量还原。模型以 ONNX 格式发布,所以不挑框架,能在大多数推理环境里直接跑。输出还带坐标框(boxes),方便你做「这段文字在原图哪个位置」的回溯,做文档抽取的人会很喜欢。100 万参数意味着它内存占用极小,塞进一个边缘设备也不费劲。

适合什么人

我觉得它最对三类人胃口。一是后端/数据工程师,要在没有 GPU 的廉价机器上批量把文档转文本,省显卡钱;二是做文档智能、票据抽取的产品,需要又快又带坐标的结构化输出;三是研究者和边缘计算场景,想在一个小设备里跑 OCR 而不依赖云端。它不适合追求极致手写体或极端复杂排版的场景,那种还是得上更大的专用模型。

快速试用

安装就一行:pip install indra-ocr。模型权重在 Hugging Face(datalab-to/indra-ocr),也可以直接去 datalab.to 的 Playground 在线试。代码里把 PDF/图片丢进去,就能拿到 markdown 或带框 JSON,文档站 documentation.datalab.to 有完整 API 说明。

与竞品对比

和 Tesseract 比,Indra 又快又准,且输出结构化 markdown 而不是纯文本;和 PaddleOCR 比,它同机快 11-17 倍且精度更高,还免了 Paddle 那套较重的依赖;和云 OCR(AWS Textract、Azure)比,它完全本地、数据不出门、按页数零成本。简单说:Tesseract 是老黄牛,PaddleOCR 是壮马,Indra 是只吃得少跑得飞快的灵缇——在 CPU 这条赛道上,它把性价比拉满了。

🚀

开始使用

开源 · 可商用

Apache-2.0· Python