手把手教你本地部署olmOCR:让PDF处理变得超简单!

手把手教你本地部署olmOCR:让PDF处理变得超简单!

Author

OLMOCR Team

2025年3月1日

手把手教你本地部署olmOCR:让PDF处理变得超简单!

olmOCR Logo

各位处理PDF文档的小伙伴注意啦!今天给大家安利一个神器——olmOCR,它能让语言模型轻松读懂各种奇葩排版的PDF!无论是学术论文还是复杂表格,统统都能搞定。最棒的是它支持本地部署,数据安全有保障!下面我就带大家一步步搞定安装和使用👇


🛠️ 准备工作:安装依赖包

首先咱们得装几个系统级依赖(以Ubuntu为例):

# 一键安装全家桶
sudo apt-get update
sudo apt-get install poppler-utils ttf-mscorefonts-installer msttcorefonts fonts-crosextra-caladea fonts-crosextra-carlito gsfonts lcdf-typetools

💡 小贴士:安装过程中遇到字体授权协议时,按TAB键选择<Yes>确认就好!


🌱 创建Python环境

推荐用conda管理环境:

conda create -n olmocr python=3.11
conda activate olmocr

# 克隆仓库并安装
git clone https://github.com/allenai/olmocr.git
cd olmocr
pip install -e .

⚡ 安装加速组件

想用GPU加速?这两行命令不能少:

pip install sgl-kernel==0.0.3.post1 --force-reinstall --no-deps
pip install "sglang[all]==0.4.2" --find-links https://flashinfer.ai/whl/cu124/torch2.4/flashinfer/

🚀 快速体验:转换PDF实战

单个文件转换

python -m olmocr.pipeline ./localworkspace --pdfs tests/gnarly_pdfs/horribleocr.pdf

批量处理

python -m olmocr.pipeline ./localworkspace --pdfs tests/gnarly_pdfs/*.pdf

转换结果会保存在./localworkspace/results目录下的JSONL文件里,用这个命令查看:

cat localworkspace/results/output_*.jsonl

👀 可视化对比神器

想直观对比原PDF和转换结果?试试这个:

python -m olmocr.viewer.dolmaviewer localworkspace/results/output_*.jsonl

打开生成的dolma_previews目录里的HTML文件,你会看到这样的对比界面👇

可视化对比示例


🧰 高级玩法

百万级PDF处理

如果是企业级的海量PDF处理,可以上AWS集群:

# 第一个节点初始化
python -m olmocr.pipeline s3://my_bucket/workspace --pdfs s3://my_bucket/pdfs/*.pdf

# 其他节点加入集群
python -m olmocr.pipeline s3://my_bucket/workspace

查看完整参数

python -m olmocr.pipeline --help

💻 Docker党专属

官方提供了现成的Dockerfile,直接拉取镜像更省事:

FROM allenai/olmocr-inference:latest
# 具体用法见项目文档
# 链接如下:
https://github.com/allenai/olmocr/blob/main/scripts/beaker/Dockerfile-inference

❓ 常见问题

  1. GPU报错怎么办?
    确认显卡驱动和CUDA版本,建议使用RTX 4090/L40S/A100/H100等新卡

  2. 中文PDF支持吗?
    目前主要优化英文文档,但可以通过--apply_filter参数尝试其他语言

  3. 磁盘空间不足?
    至少预留30GB空间,处理大文件建议挂载SSD


👏 致谢

olmOCR由艾伦人工智能研究所(AI2)开发,采用Apache 2.0开源协议。特别感谢开发团队的贡献(完整贡献者列表)。

现在就动手试试吧!遇到问题欢迎在Discord社区交流~🎉