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

OLMOCR Team
2025年3月1日
手把手教你本地部署olmOCR:让PDF处理变得超简单!
各位处理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
❓ 常见问题
-
GPU报错怎么办?
确认显卡驱动和CUDA版本,建议使用RTX 4090/L40S/A100/H100等新卡 -
中文PDF支持吗?
目前主要优化英文文档,但可以通过--apply_filter
参数尝试其他语言 -
磁盘空间不足?
至少预留30GB空间,处理大文件建议挂载SSD
👏 致谢
olmOCR由艾伦人工智能研究所(AI2)开发,采用Apache 2.0开源协议。特别感谢开发团队的贡献(完整贡献者列表)。
现在就动手试试吧!遇到问题欢迎在Discord社区交流~🎉