AI News HubLIVE
站内改写4 分钟阅读

结构化PDF到JSON:2026年开源提取模型指南

大多数企业数据仍存放在PDF、扫描件和幻灯片中。大型语言模型和智能体需要结构化JSON才能使用这些数据。开源文档提取已成为在自有硬件上进行转换的标准方法。“PDF到JSON”这个短语下隐藏着两个不同的问题:一是模式驱动提取,二是文档解析。本文评估了2026年值得关注的开源模型和工具包。

来源MarkTechPost作者: Michal Sutter

大多数企业数据仍存放在PDF、扫描件和幻灯片中。大型语言模型和智能体需要结构化JSON才能使用这些数据。开源文档提取已成为在自有硬件上进行转换的标准方法。

“PDF到JSON”这个短语下隐藏着两个不同的问题。第一是模式驱动提取:你定义字段,模型用值填充。第二是文档解析:模型将页面重建为结构化JSON或Markdown。大多数团队需要其中之一,有时两者都需要。选错类别会浪费实际时间。

开源权重在成本和隐私方面至关重要。专有API每百万页可能花费数千美元,且要求将文档发送到外部。本地模型消除了这两个限制。以下是值得评估的模型和工具包,按实际功能分组。

两类问题,一个短语

模式驱动提取接收文档和JSON模式,然后返回字段值。适用于发票、表单、合同和收据,其中字段预先已知。

文档解析重建文档本身。它检测布局、阅读顺序、表格、公式和代码,然后导出JSON或Markdown。用于为检索增强生成(RAG)和智能体准备干净语料库。

类别1:模式驱动结构化提取

Datalab lift

lift是Datalab推出的9B视觉模型,该团队也是Marker和Surya的幕后团队。传入JSON模式后,lift返回匹配的JSON。模式约束解码保证输出为有效JSON。该模型基于Qwen 3.5,可通过Hugging Face本地运行或通过vLLM服务器远程运行。

它可单次处理多页文档,包括跨页的值。自带CLI、Python API和用于构建和测试模式的Streamlit“Schema Studio”。

在Datalab的225文档基准测试中,lift字段准确率达90.2%,中位延迟9.5秒。在字段准确率上领先NuExtract3(81.5%)和Qwen3.5-9B(76.3%)。落后于Gemini Flash 3.5(91.3%)和托管式Datalab API(95.9%)。注意,所有本地模型的全文档准确率仍然较低,lift为20.9%。在一份文档中正确获取每个字段仍然困难。

代码采用Apache-2.0许可。权重使用修改过的OpenRAIL-M许可,对研究、个人使用以及资金或收入低于500万美元的初创公司免费。商业自托管需要许可,且权重不得与Datalab API竞争使用。

NuMind NuExtract 3

NuExtract 3是NuMind推出的4B视觉语言模型。它将结构化提取(文档到JSON)和内容提取(OCR到Markdown)两个任务统一到一个模型中。你输入一个文档和一个描述所需字段的JSON模板。该模型通过强化学习训练,添加了提取特定推理,可以按请求开关。

NuExtract 3是多模态、多语言的,基于Qwen骨干网。通过vLLM提供OpenAI兼容API,并提供Python SDK。NuMind将其定位为同等规模下参考开放模型,适用于结构化和内容提取。在商业使用前,请查看模型卡以了解确切许可条款。

类别2:文档解析为结构化JSON和Markdown

IBM Docling

Docling始于IBM Research,现由LF AI & Data Foundation托管。它解析PDF、DOCX、PPTX、XLSX、HTML、图像等。输出格式包括Markdown、HTML、无损JSON和DocTags。其核心是DoclingDocument表示,保留布局、阅读顺序、表格和公式(LaTeX)。

Docling可在气隙环境中本地运行。它与LangChain、LlamaIndex、Crew AI和Haystack集成,并附带MCP服务器和Docling Serve模式。项目采用宽松的MIT许可。IBM还通过watsonx提供托管版本。

IBM Granite-Docling-258M

Granite-Docling-258M是IBM推出的紧凑型258M视觉语言模型。它在Docling管道中执行一次性文档转换。尽管体积小,但处理OCR、布局、表格、代码和方程式,并输出DocTags。在A100 GPU上,平均每页约0.35秒。

该模型基于Idefics3架构,配备SigLIP2编码器和Granite 165M语言骨干。采用Apache 2.0许可。IBM表示它专为文档转换而建,而非通用图像理解。

OpenDataLab MinerU

MinerU来自OpenDataLab和上海人工智能实验室,将PDF、图像、DOCX、PPTX和XLSX输入转换为Markdown和JSON。它将处理管道与视觉语言模型配对。当前模型MinerU2.5-Pro针对复杂布局的高分辨率解析,包括跨页表格和图表。

MinerU最近更改了许可。从AGPL-3.0转为“MinerU开源许可”,基于Apache 2.0的自定义许可,增加了附加条件。这一变化降低了商业部署的障碍。

Datalab Marker

Marker是Datalab的文档转换为Markdown、JSON、分块和HTML的管道。支持PDF、图像、PPTX、DOCX、XLSX、HTML和EPUB。它格式化表格、表单、方程式、内联数学、链接和代码。可选的--use_llm标志添加语言模型以改进表格和表单。

在第三方olmOCR-Bench套件中,Marker得分约76.1。其代码采用GPL-3.0,模型权重使用修改过的AI Pubs OpenRAIL-M许可。该权重许可对研究、个人使用以及资金或收入低于200万美元的初创公司免费。Datalab的托管平台现在运行更新的OCR模型Chandra,采用Apache-2.0许可,输出HTML、Markdown和JSON。

Ai2 olmOCR 2

olmOCR 2是艾伦人工智能研究所(Ai2)推出的7B OCR专用视觉语言模型。它将PDF转换为干净文本和Markdown,同时保留阅读顺序。它处理复杂多列布局中的表格、方程式和手写内容。该模型通过可验证奖励的强化学习训练,使用合成单元测试作为奖励信号。

olmOCR 2在其自己的olmOCR-Bench上得分82.4,是该套件中较高的发布结果之一。Ai2估计在你自己的GPU上每百万页成本约178美元。工具包和allenai/olmOCR-2-7B-1025权重采用Apache-2.0许可。当前模型专注于英语。

DeepSeek DeepSeek-OCR

DeepSeek-OCR是DeepSeek于2025年10月发布的开放OCR模型。它引入了“上下文光学压缩”,将文本丰富的页面表示为紧凑的视觉令牌,然后解码回文本。这使得它可以用比典型视觉语言模型少得多的令牌处理长文档。

它使用DeepEncoder加上3B混合专家解码器,每个令牌激活约570M参数。根据提示,它输出纯文本、Markdown、HTML表格或结构化JSON,并支持100多种语言。代码采用MIT许可。2026年1月发布了后续版本DeepSeek-OCR2。

通用选项:Qwen3-VL

来自阿里巴巴的Qwen3-VL不是特定文档模型。它是通用多模态系列,许多提取模型用作基础。你可以提示它从页面返回Markdown、JSON或代码。大多数尺寸采用Apache 2.0许可。当专用模型不适用时,它是一个灵活的后备选项,但需要更多提示工程,输出保证较少。

如何比较选项

模型 | 组织 | 大小 | 功能 | 主要输出 | 许可 lift | Datalab | 9B | 模式驱动提取 | JSON至你的模式 | Apache-2.0代码 / OpenRAIL-M权重 NuExtract 3 | NuMind | 4B | 模式提取+OCR | JSON+Markdown | 开放权重(见模型卡) Docling | IBM / LF AI & Data | 管道 | 布局解析 | Markdown, JSON, DocTags | MIT Granite-Docling | IBM | 258M | 一次性转换 | DocTags, Markdown | Apache-2.0 MinerU | OpenDataLab | ~1.2B VLM | 布局解析 | Markdown, JSON | MinerU开源许可 Marker | Datalab | 管道 | 布局解析 | Markdown, JSON, HTML | GPL-3.0代码 / OpenRAIL-M权重 olmOCR 2 | Ai2 | 7B | OCR到文本 | 纯文本, Markdown | Apache-2.0 DeepSeek-OCR | DeepSeek | 3B MoE (~570M活跃) | 带令牌压缩的OCR | 文本, Markdown, JSON | MIT(代码) Qwen3-VL | Alibaba | 2B–235B | 通用多模态 | Markdown, JSON, 代码 | Apache-2.0(大多数尺寸)

基准说明:这些数字来自不同套件,不可直接比较。lift的90.2%是Datalab模式提取基准上的字段准确率。olmOCR-Bench上olmOCR 2(82.4)和Marker(76.1)的得分通过单元测试衡量内容提取。在决定前,请在自己的文档上运行每个候选模型。