Surya 是一套支持 90 多种语言的 OCR 与文档理解模型,提供文字识别、版面分析、阅读顺序与表格识别,是 Marker 背后的视觉引擎。
做文档解析时,.detection(文字在哪)、.recognition(是什么字)、layout(什么区块)、reading order(按什么顺序读)、table(表格结构)这些能力往往分散在不同工具里。Surya 把它们整合成一套模型:一个统一的文档理解底座,支持 90 多种语言,既能单独调用,也是 Marker 等上层工具的底层依赖。仓库 datalab-to/surya 以 Python 为主、Apache-2.0 许可,2026 年仍在活跃更新,星标约 2.1 万(以 GitHub 为准),官网 https://www.datalab.to 。
信息卡
- 项目名称:Surya
- 编程语言:Python
- 开源许可证:Apache-2.0
- GitHub 地址:https://github.com/datalab-to/surya
- 官网或 Demo:https://www.datalab.to
核心能力
多语言 OCR。 覆盖 90 多种语言的文字识别,从常见中英文到小语种都有支持。相较只擅长个别语言的 OCR,Surya 在多语种混排、外语文档场景里更省心。识别模型针对文档场景优化,对印刷体与常见扫描质量表现稳定。
版面分析。 把页面切分成标题、正文、图、表、页眉页脚等区块,并给出各自类别。这一步是「理解文档结构」的基础——知道哪块是标题、哪块是图注,才能正确重组内容。版面分析对多栏、图文混排的复杂页面尤其关键。
阅读顺序还原。 光识别出文字还不够,按什么顺序拼起来决定了输出是否可读。Surya 预测元素的阅读顺序,让多栏排版、不规则布局的文档也能按人类习惯输出,避免上下乱跳。
表格结构识别。 识别表格的行列与单元格结构,包括一定的无框表格处理能力。表格是文档里信息密度最高、也最难解析的部分,把它转成结构数据,后续才算得清、查得准。这些能力可单独使用,也支撑上层的 Marker 完成 PDF 到 Markdown 的转换。
使用上手
- 准备 Python 环境;按官网文档
pip install surya-ocr(有 GPU 会明显加速)。 - 命令行试用:
surya_ocr 图片目录得到文字识别结果;用对应子命令跑版面、表格与阅读顺序。 - Python 调用:分别加载检测/识别/版面/表格模型,按需组合成你的解析流程。
- 处理多语言文档时指定或依赖自动语言检测,检查小语种识别质量。
- 若要直接得到 Markdown,可用同团队的 Marker(底层即 Surya);若要自建解析管线,直接基于 Surya 组装。
优点与不足
优势是语言覆盖广、把 OCR 与版面/顺序/表格整合一套、Apache-2.0 许可宽松、作为 Marker 底座经过实战检验。局限:模型推理对硬件(尤其 GPU)有依赖,纯 CPU 较慢;小语种或极端扫描质量下精度需实测;作为模型层,要直接得到整洁文档通常还需上层工具配合。星标以 GitHub 为准。
适合谁
适合需要多语言文档 OCR 的开发者;要自建文档解析/版面理解管线、不想被单一 SaaS 绑住的技术团队;以及 Marker 用户想深入理解或定制底层模型能力的进阶场景。
下载与访问
仓库 https://github.com/datalab-to/surya (Apache-2.0);官网 https://www.datalab.to 。
许可证与部署
| 项目 | 说明 |
|---|---|
| 源码部署 | git clone 后 pip install surya-ocr |
| 容器部署 | 参考官方 Docker 方案 |
| 许可证 | Apache-2.0,可商用、可修改 |
| 星标 | 约 2.1 万,以 GitHub 实时为准 |
本文属于「项目」分类的 AI 资源专栏,更多评测见分类页。
评论 0
还没有评论,来说两句吧。