Docling 评测:把任何文档转化为 AI 可用的结构化数据

一句话介绍

Docling 是一个开源文档解析引擎,能把 PDF、Word、PPT、Excel、HTML 等各种格式的文档自动转化为 AI 可用的结构化数据(Markdown、JSON、DocTags 等),支持 OCR、表格识别、图表理解,GitHub Star 数已突破 6.5 万。


工具简介

在构建 RAG(检索增强生成)系统或任何 AI 应用时,文档预处理是最基础也是最头疼的环节。PDF 里的表格结构丢失、代码块被截断、图表无法描述、扫描件需要 OCR……这些问题直接决定了下游 AI 模型的理解质量。

Docling 由 IBM Research Zurich 的 Deep Search 团队开发,于 2024 年 8 月发布技术报告,是目前开源社区中最成熟的文档解析工具之一。它不仅仅是一个转换器,而是一个完整的文档理解管道:从解析多格式输入 → 布局理解 → 表格/代码/公式/图表识别 → 统一 DoclingDocument 表示 → 导出为 Markdown、JSON、DocTags 等多种格式。


核心功能

1. 多格式输入支持

Docling 支持远超常见的文档格式:PDF、DOCX、PPTX、XLSX、HTML、EPUB、LaTeX、Markdown、图片(PNG、TIFF、JPEG)、WAV/MP3 音频、WebVTT 字幕、电子邮件(EML、MSG)、ODF 格式(ODT、ODS、ODP),甚至视频文件(MP4、AVI、MOV、MKV、WebM)——后者可提取 ASR 语音转写和关键帧。

2. 高级 PDF 理解

Docling 的 PDF 解析能力远超简单文本提取。它能识别页面布局、阅读顺序、表格结构、代码块、数学公式、图片分类,并且内置了强大的 OCR 引擎处理扫描版 PDF。最新版本还支持图表理解——自动将柱状图、饼图、折线图转换为表格或代码并生成详细描述。

3. 统一文档表示(DoclingDocument)

所有解析结果统一为 DoclingDocument 格式,这是一种表达力强、结构化的内部表示,保留了文档的层次关系(标题、段落、列表、表格、图片等)。用户可以选择导出为 Markdown、HTML、JSON(无损)、DocTags、WebVTT 等格式,也可以输出为 JATS、USPTO 专利、XBRL 财务等专业 XML 格式。

4. VLM 视觉语言模型集成

Docling 支持接入视觉语言模型(VLM)进行深度理解。例如使用 IBM 的 GraniteDocling(258M 参数)或其他 VLM 模型,可以对文档中的复杂图表、手写内容、低质量扫描件进行更智能的理解和描述生成。

5. 无缝 AI 框架集成

Docling 提供了 LangChain、LlamaIndex、CrewAI、Haystack 等主流 AI 框架的官方集成,开箱即用。同时还提供 MCP Server,可以连接任何支持 MCP 协议的 AI Agent。也可以直接以 API Server(docling-serve)方式部署,供多应用调用。


适用人群

  • AI 应用开发者:构建 RAG 系统、知识库问答、文档摘要等应用时需要高质量的文档预处理
  • 数据科学家:从海量 PDF/Word 报告/论文中提取结构化数据
  • 企业用户:需要处理合同、财报、专利、邮件等敏感文档,Docling 支持本地执行,无需上传到第三方服务
  • 研究人员:解析学术论文(支持 JATS 格式)、专利文档(支持 USPTO 格式)

与同类工具对比

特性DoclingLlamaParseMarkerUnstructured
开源✅ MIT❌ 付费服务✅ 开源✅ 开源
本地运行✅❌✅✅
表格识别✅ 高级✅⚠️ 基础⚠️ 基础
OCR 支持✅✅✅✅
图表理解✅ 最新支持❌❌❌
视频/音频✅❌❌❌
专业格式JATS/USPTO/XBRL❌❌部分
AI 框架集成LangChain/LlamaIndex/CrewAI✅❌✅
MCP 支持✅❌❌❌
GitHub Star65K+N/A30K+8K+

总结:Docling 在表格识别、专业格式支持、视频/音频处理和 AI 框架生态集成方面全面领先,同时保持完全开源和本地运行,是目前文档解析领域的最佳选择之一。


如何使用

安装

pip install docling

要求 Python 3.10 或更高版本。

命令行使用(最简单)

# 将论文 PDF 转换为 Markdown
docling https://arxiv.org/pdf/2206.01062

# 使用 VLM 模型进行深度理解
docling --pipeline vlm --vlm-model granite_docling https://arxiv.org/pdf/2206.01062

Python 使用(推荐)

from docling.document_converter import DocumentConverter

source = "https://arxiv.org/pdf/2408.09869"  # 也支持本地路径
converter = DocumentConverter()
result = converter.convert(source)

# 导出为 Markdown
markdown_output = result.document.export_to_markdown()
print(markdown_output)

# 导出为 JSON(无损保留结构)
json_output = result.document.export_to_dict()

# 导出为 DocTags
doctags_output = result.document.export_to_doctags()

与 LangChain 集成

from docling.document_converter import DocumentConverter
from langchain.document_loaders import DoclingLoader

loader = DoclingLoader("path/to/document.pdf")
docs = loader.load()

部署为 API 服务

pip install docling-serve
docling-serve --port 8000

然后通过 HTTP API 调用:POST http://localhost:8000/convert


总结

Docling 是目前开源界最全面的文档解析工具,从 PDF 到视频、从表格到图表、从 OCR 到 VLM,覆盖了 AI 应用开发中几乎所有文档预处理场景。65K+ GitHub Star 和 IBM Research 的背景保证了其持续维护和快速迭代。

推荐指数:★★★★★

如果你正在构建 RAG 系统或任何需要处理文档的 AI 应用,Docling 几乎是必装工具。它的多格式支持、高质量表格识别、本地运行能力以及与主流 AI 框架的无缝集成,让它从众多文档解析工具中脱颖而出。

解析后的 Markdown 或 JSON 输出可用本站的 JSON 格式化工具 进行验证和美化。