docling
AI 文档解析利器,PDF/DOCX/HTML 等多格式一键转 Markdown/JSON
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
AI 文档解析利器,PDF/DOCX/HTML 等多格式一键转 Markdown/JSON
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
张明(化名)是一名人工智能方向的博士生,他的日常充满了各种格式的文档挑战:导师发来的专利 PDF 满是扫描版水印、需要引用 37 篇论文的参考文献、团队周报是混乱的 Word 格式、公司财报里埋着几十张表格数据。每次写论文或做汇报,他都要在 Adobe、福昕、Excel、Word 之间来回切换,手动复制粘贴,耗时又容易出错。
直到他发现了 Docling——一个由 IBM 研究院发起的开源文档解析工具,上述问题迎刃而解。
Docling 由 IBM 研究院苏黎世分部发起,项目托管于独立的 docling-project 组织,背后有多位长期从事文档智能(Document Intelligence)研究的工程师参与,包括 Christoph Auer、Michele Dolfi、Peter Staar 等核心贡献者。项目于 2024 年正式开源,并在同年发布技术报告 arXiv:2408.09869,获得学术界和工业界的广泛关注。
图1:Docling 统一文档解析流程——从任意格式输入到结构化 AI-ready 输出
如果把 PDF、DOCX、PPTX、XLSX 这些格式想象成不同的语言,Docling 就是那个能把它们全部翻译成 Markdown、JSON、HTML 的"同声传译员"。它不仅提取文字,还能理解版式、识别表格结构、解析数学公式、判断图片内容,让 AI 模型能够真正"读懂"文档,而不仅仅是"看到"文字。
图2:Docling 核心架构——模块化解耦设计
多格式支持: Docling 支持 PDF、DOCX、PPTX、XLSX、HTML、LaTeX、图片(PNG/TIFF/JPEG)、WAV/MP3 音频、WebVTT 字幕等十余种格式,基本覆盖日常办公和学术场景。其中 PDF 解析是重头戏——它整合了 pypdfium2 引擎进行底层渲染,并可选接入 docling-parse 高级解析模型,能识别复杂版式、表格结构、代码块和数学公式。
高级 PDF 理解: 传统的 PDF 解析只能提取文字,Docling 额外做了布局分析(layout analysis)和阅读顺序推断,能够判断哪些文字属于同一段落、哪些是标题或脚注、表格的行列结构如何。这对于学术论文和专利文档尤其有价值。
AI 生态集成: Docling 天然为 RAG(检索增强生成)应用设计,支持导出为 lossless JSON、DocTags 格式,可直接接入 LangChain、LlamaIndex、Crew AI、Haystack 等主流 AI 框架。它还提供 MCP(Model Context Protocol)服务器,方便 AI Agent 直接调用文档解析能力。
视觉语言模型支持: 最新版本支持通过 --pipeline vlm 调用视觉语言模型(如 GraniteDocling-258M),对图片密集型 PDF 进行端到端理解,不再依赖传统 OCR。
本地执行: 所有解析默认在本地完成,无需上传文档到云端,适合处理敏感数据或部署在气隙(air-gapped)环境中。
Docling 采用 Python 生态的模块化设计,主包 docling-slim 仅依赖 8 个核心包(约 50MB),按需安装各格式解析模块和 AI 模型包。核心技术选型包括 Pydantic v2 提供强类型数据建模、PyTorch + Transformers 支持本地 AI 模型推理、Typer + Rich 构建友好的 CLI 交互、Hatchling + uv 实现现代包管理。代码质量方面,项目采用 Ruff 格式化与 linting、pre-commit 强制检查、CI 流水线完整,覆盖跨平台场景(Linux/macOS/Windows)。
方式一:pip 一键安装(推荐)
pip install docling
方式二:Docker 容器
docker run -v ./docs:/docs docling/docling docling /docs/input.pdf
官方提供基于 python:3.11-slim-bookworm 的 Dockerfile,CPU 版本约 2-3GB 镜像大小,自动下载必要模型。
方式三:CLI 快速试用
pip install "docling[cli]"
docling https://arxiv.org/pdf/2206.01062
一条命令即可将 arXiv 论文转换为 Markdown。
Docling 提供两种使用路径:零代码 CLI 和 Python SDK。零代码 CLI 对普通用户友好,Python SDK 为开发者提供完整 API 控制。项目文档质量极高,官方文档站包含详细的安装指南、使用教程、API 参考和集成示例。需要注意的门槛:完整 PDF 解析功能需要下载约 2-3GB 的模型权重,首次运行会自动从 Hugging Face 下载。
Docling 作为纯解析工具不提供文档问答或摘要生成功能,用户需自行接入 LangChain 等框架。复杂的学术 PDF(多栏布局、交叉引用、脚注)解析效果仍存在偶发性错误。此外,随着模型不断迭代,API 稳定性有待长期观察。
Docling 的出现填补了开源文档解析工具链的关键空白。在 RAG 应用井喷的当下,高质量的文档解析是决定 AI 能否真正理解知识库的核心环节。Docling 通过模块化设计降低了接入门槛,通过本地执行保障了数据隐私,通过 MCP 协议拥抱了 Agent 时代。
从增长曲线看,Docling 目前已获得 60,000+ GitHub Stars,910+ 个 open issues(活跃度高),LF AI & Data 基金会托管,是当前最具影响力的开源文档解析项目之一。它的成功也代表了 AI 工具链中"基础设施层"开源化的趋势。
数据来源:GitHub (docling-project/docling),Stars: 60,235 | Forks: 4,178 | License: MIT