docling
更新于 2026-09-03 15:32:45
docling:面向生成式 AI 的文档解析工具
docling 由 IBM Research Zurich 的 AI for Knowledge 团队发起,现归属于 LF AI & Data 基金会,是“把文档准备成生成式 AI 可用的格式”的 Python 工具(GitHub 约 65.9k Star)。它擅长把各类文档解析成结构统一、信息保真的表示,并轻松接入 RAG 与问答链路。
核心能力
- 多格式解析:PDF(含版面、阅读顺序、表格结构、代码、公式、图片分类等深度理解)、DOCX、PPTX、XLSX、HTML、Markdown 系列、ODF、EPUB、LaTeX、纯文本,以及邮件(EML/MSG)、图片(PNG/JPEG/TIFF)、音频(WAV/MP3,ASR 转写)与视频(MP4/AVI/MOV 等)。
- 统一文档对象
DoclingDocument:用一套表达力强的结构表示文档,便于下游消费。 - 多种导出格式:Markdown、HTML、WebVTT、DocLang、DocTags,以及无损 JSON。
- OCR 与高级模型:扫描件/图片支持多种 OCR 引擎;可接入视觉语言模型(如 GraniteDocling)做图表、公式理解。
- 本地运行:支持敏感数据与离线/空气隔离环境,数据不出本机。
- 生态集成:内置 LangChain、LlamaIndex、Crew AI、Haystack 集成;提供 MCP server 与
docling-serveAPI 服务,可作为任意 Agent 的文档摄入组件;同时有 CLI 与 Python API。
适用场景
- 构建 RAG / 知识库时,把企业 PDF、Office 文档批量化成结构化 Markdown 或 JSON。
- 需要保留表格、阅读顺序、版面等结构的长文档抽取。
- 对隐私敏感、要求完全本地离线处理文档的场景。
上手与二开建议
pip install docling(需 Python 3.10+),用DocumentConverter一行代码即可转换。- 接 RAG:直接对接 LlamaIndex / LangChain 文档加载器,无需自己写解析。
- 二开:以
DoclingDocument为中间表示做定制抽取或后处理;复杂场景可起docling-serve做服务化。
注意事项
- 个别模型(如 VLM)受各自原始协议约束,仅代码本体为 MIT。
- 复杂版式或扫描件依赖 OCR 质量,超长文档需注意内存与耗时。
- 上手难度低,优先从 PDF/Markdown 小样本验证输出结构,再扩展到批量。