一、速览:Surya 能帮你做什么

入门

Surya 是一个开源的文档智能模型,核心能力是 OCR(光学字符识别,把图片里的文字转换成可编辑文本),但它不止步于“认字”。它还能分析版面结构,告诉你哪一块是标题、哪一块是表格、哪一块是插图,并按正确的“阅读顺序”把这些区块串起来。

这意味着你给它一张扫描合同、一份古籍 PDF 或者一张手机拍的菜单,它能返回带位置信息和逻辑结构的文本,而不是一大团没有顺序的字符。对于需要把纸质档案数字化的个人或团队,这个能力省去了大量手工录入和排版调整的时间。

Surya 项目封面

如果只想快速体验,官方提供了托管 API 和在线 Playground;但本文的重点是把 Surya 部署在自己的机器上,数据不出本地,也不用按调用次数付费。

二、快速部署:准备 GPU 环境并安装

入门

Surya 的模型有 6.5 亿个参数,推理时需要大量并行计算。虽然理论上 CPU 也能跑,但速度会慢到难以实用,所以前置条件是一台带 NVIDIA 显卡的 Linux 或 macOS 机器。显卡的显存(显卡自带的高速内存)建议在 8GB 以上,低于这个值可能需要减小批次才能运行。

部署有两条路线:裸机安装(直接把 Python 包装到系统里)和 Docker 容器(把运行环境打包成“集装箱”,避免污染系统)。新手建议先试裸机路线,流程更直接。

裸机安装步骤:

先确认系统已安装 Python 和 pip(Python 的包管理工具),版本尽量用 3.9 及以上。然后安装 llama.cpp 提供的 llama-server,它是 Surya 默认调用的推理后端(负责实际执行模型计算的服务)。macOS 可以用 Homebrew 安装:

brew install llama.cpp

Linux 用户可以去 llama.cpp 的 GitHub Releases 页面下载预编译的 llama-server 二进制,放到 PATH 能找到的位置。接着安装 Surya 本体:

pip install surya-ocr

安装完成后,运行一个简单的 Python 导入测试,确认没有报错:

import surya
print("Surya 安装成功")

Docker 路线:

如果选择 Docker,需要额外安装 Docker(一种把软件打包成“集装箱”、随处可运行的工具) 和 NVIDIA Container Toolkit(让容器能访问显卡的插件)。官方 README 明确列出这两个前提。启动容器时通常需要传 --gpus all 参数并挂

项目信息

项目 值
仓库 datalab-to/surya
语言 Python
Star 21,523
Fork 1,568
主页 https://www.datalab.to

参考链接

延伸阅读

想继续探索?这些同领域的教程可能也适合你: