夜雨聆风学习资料网

ARTICLE · 1295766

1.3B 参数干翻大模型:OXR 让 PDF 解析又快又准,Agent 和 RAG 有救了

1.3B 参数干翻大模型:OXR 让 PDF 解析又快又准,Agent 和 RAG 有救了

做 RAG 知识库时经常涉及到把 PDF 和图片转成结构化文本,这一步的准确率和速度一直是瓶颈。

SoMark 团队最近开源的 OXR,只用 1.3B 参数就在三大文档解析基准上全部登顶。

这么小的模型如何同时做到 SOTA 准确率和 SOTA 速度?本文从设计思路讲到本地部署。


OXR 是什么

OXR 全称 Optical Everything Recognition,是 SoMark 团队开源的文档解析模型,目标是把 PDF 和文档图片转换成 Agent 友好的数据。

给 OXR 一页 PDF 或一张文档图片,它会输出带版面坐标和阅读顺序的 Markdown 或 JSON。它能识别 13 种文档元素:

  • 正文、标题、图注、脚注、页眉页脚
  • 公式(输出 LaTeX)、表格(输出 HTML 或 Markdown)
  • 化学方程式(输出 LaTeX)、化学结构式(输出 SMILES)、代码块
  • 图片、印章

每个元素都附带边界框坐标,方便下游程序做精确定位和引用。

实测表现同样突出:

  • 在 olmOCR-Bench、OmniDocBench、DocParsingBench 三大基准上均排名第一,表格解析的领先幅度尤其大
  • 在 RTX PRO 6000 的速度测试中,位列开源文档解析模型第一
  • 支持 A3 试卷、报纸、竖排文字、中英文手写等高难度文档,官方仓库均有解析示例

1.3B 参数凭什么做到 SOTA

OXR 的系统由两个模型组成:版面分析模型和 OXR 识别模型。版面分析模型负责找出页面上的区域及其类型,OXR 模型负责识别区域内容和判断阅读顺序。

阅读顺序被并入识别阶段,两个任务由同一个模型完成。这样减少了模型之间的服务调用,速度和准确率同时受益。

OXR 首次把 RSI(Recursive Self-Improvement,递归自我改进)循环用在文档解析的后训练中。

文档解析是有标准答案的任务,每个样本的正确结果可以被验证。基于这一点,RSI 系统自动挑出模型解析错误或者处理得弱的样本,用这些样本继续训练模型,并递归迭代。整个过程不需要人工重新标注,模型在迭代中持续修正自身的错误。

这也是 1.3B 的小模型能在三大榜单登顶的重要原因。

实际业务中,版面分析是定制需求最多的模块:不同行业的文档在元素类型、区域边界、分组规则上差异很大,同一份文档在不同业务场景下也可能需要不同的解析规则。

现有的文档解析工具,要么把版面分析合并进识别模型,要么用一个同时承担阅读顺序任务的专用模型,都很难替换。

OXR 首次把版面分析模块做成独立、可插拔的:内置的版面模型可以直接替换成你自己的模型,OXR 继续负责内容识别和阅读顺序。对需要定制版面规则的业务来说,这个设计大幅降低了集成成本。

实操

可以先体验在线 Demo。打开 https://free-oxr.somark.ai/ ,上传 PDF 或图片即可直接体验。国内镜像:https://free-oxr.somark.cn/ 。

OXR 提供免费 API,无需注册、无需申请 API key。安装官方 CLI,把 Base URL 指向免费服务即可:

pip install somarksomark --base-url https://free-oxr.somark.ai/api/v1 --api-key dummy \  parse document.pdf --formats md,json --out ./parsed-output/

JavaScript 用户可以用 somark-js:npm install -g somark-js。

注意:免费 API 的请求会排队,速度可能有波动,也不保证服务稳定性,官方不建议用于生产环境,适合先做效果评估。

有条件的话建议本地部署。

环境要求:Linux 系统、支持 BF16 的 NVIDIA GPU、兼容 CUDA 13.0 的驱动、Python 3.12。24GB 显存可以跑低并发测试,长文档和高并发建议 48GB 以上。

第一步:下载代码和模型

git clone https://github.com/SoMarkAI/OXR.gitcd OXRpip install -U huggingface_hubhf download SoMarkAI/OXR-1.0 --local-dir ./models/OXR-1.0# 国内用户也可以用 ModelScope# pip install -U modelscope-hub# modelscope download SoMark/OXR-1.0 --local_dir ./models/OXR-1.0

第二步:Docker 一键启动(官方推荐)

docker build -f docker/Dockerfile.allinone -t oxr-1.0 .docker run --rm --gpus all --ipc=host \  -p 127.0.0.1:8000:8000 \  -v "$PWD/models/OXR-1.0:/models/oxr-model:ro" \  oxr-1.0

启动日志显示服务就绪后,打开 http://localhost:8000/demo 即可使用可视化界面:可查看原始文件、Markdown 预览、版面边界框和阅读顺序,并下载 Markdown 结果。默认启动超时为 900 秒,首次启动可能较慢。

第三步:调用解析接口

curl --fail-with-body http://localhost:8000/v1/parse/sync \  -F 'file=@document.pdf' \  -F 'api_key=dummy' \  -F 'output_formats=markdown' \  -F 'output_formats=json'

如果不用 Docker,也可以从源码分别启动三个服务:OXR 模型服务(端口 8080,基于 vLLM)、版面分析模型服务(端口 8081)、文档解析 API(端口 8000),具体命令见官方 README。

踩坑提醒:

  1. 免费 API 不要上生产。 请求排队、速度有波动、无稳定性承诺,建议评估阶段用免费 API,生产环境用本地部署。
  2. Demo 缓存 1 小时过期。 Demo 的解析结果存在临时缓存中,过期或清理后无法找回,请及时下载结果。
  3. vLLM 需要用官方插件。 官方 vLLM 发行版暂不支持 OXR 推理,团队在 Hugging Face 权重目录里提供了树外插件和加载脚本,无需重新编译,可直接配合官方 vLLM Docker 镜像或 CLI 使用。
  4. 许可证含商用条款。 OXR 使用基于 Apache 2.0 并附加条款的 OXR Open Source License:总融资或年收入低于 200 万美元的组织可免费商用,超出则需向 SoMark 获取商业许可,且不允许提供竞争性的托管 API。商用前请务必阅读 LICENSE 文件。

总结

OXR 仅用 1.3B 参数,通过任务级架构重构和 RSI 自我改进训练,拿下三大基准第一,同时做到开源模型中的顶级速度。可插拔的版面分析设计给真实业务留出了低成本的定制空间,免费 API 和 Docker 一键部署又把试用门槛降到了很低。

如果你正在为 RAG、Agent 场景下的文档解析问题发愁,OXR 值得一试。


如果这篇文章对你有帮助,欢迎点赞、推荐、转发支持。

关注公众号,持续获取更多优质 GitHub 开源项目解读。也欢迎在留言区交流你的 OXR 使用体验。

项目链接:

  • GitHub:https://github.com/SoMarkAI/OXR
  • Hugging Face:https://huggingface.co/SoMarkAI/OXR-1.0
  • ModelScope:https://modelscope.cn/models/SoMark/OXR-1.0
  • 在线 Demo:https://free-oxr.somark.ai/

回首页,搜索你想要的文档

在首页搜索框输入关键词,快速定位资料

文库首页搜索指引 立即搜索

相关学习资料