ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

如何把 olmocr 接入 DeepInfra 等外部模型提供方进行 PDF 转换?

2026/9/14 18:09:03 拓冰建站 浏览量
如何把 olmocr 接入 DeepInfra 等外部模型提供方进行 PDF 转换? 如何把 olmocr 接入 DeepInfra 等外部模型提供方进行 PDF 转换【免费下载链接】olmocrToolkit for linearizing PDFs for LLM datasets/training项目地址: https://gitcode.com/GitHub_Trending/ol/olmocr如果你不想自己准备 GPU 来跑 olmOCR而是把 PDF 转 Markdown 的推理工作交给 DeepInfra 这类提供托管模型的推理平台olmOCR 的批量管线olmocr命令原生支持这个用法只要平台实现了 OpenAI 兼容 APIvLLM 端点也可以通过--server指定端点、--model指定模型、--api_key传入密钥olmOCR 就不会在本机拉起 vLLM而是把每一页 PDF 的转换请求直接发给远端。README 中列出的“Verified External Providers”里包含 DeepInfra示例命令已经可以直接照抄其他两家验证过的服务商Cirrascale、Parasail也走完全相同的参数组合。本文的主路径就是在一个干净的 Python 环境里轻量安装 olmocr然后按 DeepInfra 的已验证配置对一批 PDF 完成转换最后到 workspace 目录里核对生成的 Markdown。准备条件轻量安装与环境依赖接入外部推理平台时本机不需要 GPU也不用装 PyTorch 这类重型依赖。README 将这种用法称为Remote Inference (Lightweight)安装使用基础包即可# 在干净的 conda 环境中olmOCR 依赖较难装进已有环境建议新建 conda create -n olmocr python3.11 conda activate olmocr # 轻量安装 - 不含 GPU 依赖 pip install olmocr但有一点容易被忽略PDF 页面的渲染仍然发生在本地所以系统依赖Ubuntu/Debian 下需要先装好与是否本地跑推理无关sudo apt-get update sudo apt-get install poppler-utils ttf-mscorefonts-installer msttcorefonts fonts-crosextra-caladea fonts-crosextra-carlito gsfonts lcdf-typetools--api_key参数的用途在 pipeline.py 中也有明确说明“API key for authenticated remote servers (e.g., DeepInfra)”DeepInfra 正是被点名的例子。执行步骤按 DeepInfra 的已验证配置发起转换README“Verified External Providers”一栏给出过三家平台的实测配置DeepInfra 一行如下模型定价为文档中的示例值提供方$/1M Input tokens$/1M Output tokens示例命令DeepInfra$0.09$0.19olmocr ./workspace --server https://api.deepinfra.com/v1/openai --api_key DfXXXXXXX --workers 1 --max_concurrent_requests 20 --model allenai/olmOCR-2-7B-1025 --pdfs tests/gnarly_pdfs/*.pdfDfXXXXXXX是文档中的占位密钥执行前替换成你自己的 API key。如果要跑一个最小规模的验证可以先转换一个样例 PDF地址来自 README 的 quick test 段落curl -o olmocr-sample.pdf https://olmocr.allenai.org/papers/olmocr_3pg_sample.pdf然后执行完整的转换命令。在 DeepInfra 示例基础上加上--markdown让结果同时写出 Markdown 文件方便人工核对olmocr ./workspace \ --server https://api.deepinfra.com/v1/openai \ --api_key DfXXXXXXX \ --workers 1 \ --max_concurrent_requests 20 \ --model allenai/olmOCR-2-7B-1025 \ --markdown \ --pdfs olmocr-sample.pdf几个参数在外部提供方场景下的具体作用说明均取自 README--serverOpenAI 兼容端点。DeepInfra 为https://api.deepinfra.com/v1/openai。--api_key你的 API key通过 Authorization Bearer HTTP 头传递给远端。--workers同时处理的页组数量。外部服务商的并发请求上限普遍较低README 建议设为1做完一组再开始下一组。--max_concurrent_requests同一时刻发给推理平台的并发请求上限。--pages_per_groupREADME 提示“many external providers have lower concurrent request limits”所以页组可以设得更小。另有一点代码层面的行为可以留意pipeline.py 中一旦提供了--api_key即处于远端提供方模式未显式指定时pages_per_group的默认值会是 50而不是本地推理时的 500。--model模型标识符。不同提供方名称不同见下表必须与端点实际服务的模型名一致本地推理时可以用olmocr。同一张“Verified External Providers”表还给出另外两家的端点与模型名参数结构完全相同换掉--server、--api_key和--model即可作为可选分支参考提供方端点模型名示例 API key 前缀Cirrascalehttps://ai2endpoints.cirrascale.ai/apiolmOCR-2-7B-1025sk-XXXXXXXParasailhttps://api.parasail.io/v1allenai/olmOCR-2-7B-1025psk-XXXXX仓库自带的 tests/gnarly_pdfs/ 目录里有几十个真实 PDFREADME 中的验证命令就是拿tests/gnarly_pdfs/*.pdf做批量测试的。结果验证如何确认转换成功1. 管线启动时的服务端点检查。提交转换前olmOCR 会向{server}/models发 GET 请求探测服务端是否就绪见 pipeline.py带上同样的 Bearer 头返回 200 即判定vllm server is ready并开始处理。如果一直不返回 200会在超时--max_server_ready_timeout默认 600 秒后抛出 “vllm server did not become ready after waiting.”。端点写错或密钥无效时通常就会卡在这一步。2. 逐页请求的结果校验。每一页都会 POST 到{server}/chat/completions见 pipeline.py返回非 200 时日志里会警告Server returned {status_code} for {pdf}-{page} ...并按重试策略处理。3. 检查输出文件。加上--markdown后转换结果会以 Markdown 文件形式保存在 workspace 下例如cat workspace/markdown/olmocr-sample.md文档中展示的示例输出节选文档示例olmOCR: Unlocking Trillions of Tokens in PDFs with Vision Language Models ...只要能看到按页面还原出的可读文本就说明远端链路是通的。不加--markdown时workspace 里只会生成 Dolma 格式的数据用cat看不了。限制与排错端点必须 OpenAI 兼容--server指向任意实现了 OpenAI API 的推理平台即可DeepInfra 在 README 中属于官方验证过的提供方。--model必须与提供方处的实际模型名一致且不同提供方对同一模型的命名不同例如 Cirrascale 上就是olmOCR-2-7B-1025没有allenai/前缀。并发参数宁小勿大外部服务商有并发限制--workers与--pages_per_group按 README 建议调小既避免被限流也避免一组任务没做完就产生费用。页面级错误有容忍阈值--max_page_error_rate控制单个文档允许的失败页比例README 的--help输出中写明默认 1/250超过该比例的文档视为失败。如果报too many open filesREADME 给出的处理是ulimit -n 65536。也可以随时用--stats查看当前 workspace 的处理统计它只报告统计、不执行转换任务。偏好 Python 模块方式时python -m olmocr.pipeline可以完全替代olmocr命令参数一致。【免费下载链接】olmocrToolkit for linearizing PDFs for LLM datasets/training项目地址: https://gitcode.com/GitHub_Trending/ol/olmocr创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考