开源项目

docling

docling

把 PDF、DOCX、PPTX、HTML、音频等文档解析为结构化 Markdown/JSON 的 Python 库,为 RAG 与 agent 提供干净输入。亮点是版面与阅读顺序分析、表格公式识别、OCR,以及 GraniteDocling 等 VLM 支持,并原生集成 LangChain、LlamaIndex、Haystack,附带 MCP server 与 docling-serve,可本地离线处理敏感数据。代码 MIT,模型需遵循各自原包许可。

README

Docling

Docling

DS4SD%2Fdocling | Trendshift

arXiv Docs PyPI version PyPI - Python Version uv Ruff Pydantic v2 prek License MIT PyPI Downloads Docling Actor Chat with Dosu Discord OpenSSF Best Practices LF AI & Data

Docling 是什么?

Docling 简化了文档处理流程:它能够解析多种格式(包括对 PDF 的深度理解),并与生成式 AI 生态实现无缝集成。

功能特性

  • 🗂️ 解析多种文档格式,包括 PDF、DOCX、PPTX、XLSX、HTML、EPUB、Apple Pages、WAV、MP3、WebVTT、Box Notes、电子邮件格式(EML、MSG)、图像(PNG、TIFF、JPEG 等)、LaTeX、DocLang、纯文本等
  • 📑 深入的 PDF 理解能力,涵盖页面布局、阅读顺序、表格结构、代码、公式、图像分类等
  • 🧬 统一且富有表现力的 DoclingDocument 表示格式
  • ↪️ 多种导出格式与选项,包括 Markdown、HTML、WebVTT、DocLang、DocTags 以及无损 JSON
  • 📜 支持多种特定应用的 XML schema,包括 DocLang、USPTO 专利、JATS 文章以及 XBRL 财务报告
  • 🔒 支持本地执行,适用于敏感数据与隔离网络(air-gapped)环境
  • 🤖 开箱即用的集成,包括 LangChain、LlamaIndex、Crew AI 与 Haystack,用于构建 agentic AI(自主智能体)
  • 🔍 对扫描版 PDF 和图像提供完善的 OCR 支持
  • 👓 支持多种 Visual Language Model(视觉语言模型),例如 GraniteDocling
  • 🎙️ 通过 ASR(Automatic Speech Recognition,自动语音识别)模型提供音频支持
  • 🔌 通过 MCP server 连接任意 agent
  • 🌐 通过 API server(docling-serve)以服务形式运行 Docling
  • 💻 简单便捷的 CLI

最新动态

  • 🎬 解析视频文件(MP4、AVI、MOV、MKV 和 WebM),生成 ASR 转写文本与代表性关键帧
  • 📄 解析 ODF(OpenDocument Format)文件,涵盖文本文档(.odt)、电子表格(.ods)和演示文稿(.odp)
  • 💼 解析 XBRL(eXtensible Business Reporting Language)文档,用于财务报告
  • 📧 解析电子邮件文件(.eml、.msg)
  • 📚 解析 EPUB(Electronic Publication)电子书文件
  • 🍎 解析 Apple Pages(.pages)文档,兼容两代容器格式(Pages 5+ 与 iWork '09)
  • 📝 解析纯文本文件(.txt、.text)以及 Markdown 超集(.qmd、.Rmd)
  • 📊 图表理解(Barchart、Piechart、LinePlot):将其转换为表格或代码,并补充详细描述

即将推出

  • 📝 元数据提取,包括标题、作者、参考文献与语言
  • 📝 复杂化学结构理解(分子结构)

快速开始

1. 安装

pip install docling

注意: docling 2.70.0 版本已移除对 Python 3.9 的支持。请使用 Python 3.10 或更高版本。

可在 macOS、Linux 和 Windows 环境运行,支持 x86_64 与 arm64 架构。

文档中提供了更详细的安装说明。

2. 转换文档(CLI)

docling https://arxiv.org/pdf/2206.01062

这会在当前目录生成一个 .md 文件,其中包含结构化的文档内容。

你也可以通过 Docling CLI 使用 🥚GraniteDocling 及其他 VLM:

docling --pipeline vlm --vlm-model granite_docling https://arxiv.org/pdf/2206.01062

3. Python 用法(推荐)

from docling.document_converter import DocumentConverter

source = "https://arxiv.org/pdf/2408.09869"  # a document via a local path or URL
converter = DocumentConverter()
result = converter.convert(source)
print(result.document.export_to_markdown())  # output: "## Docling Technical Report[...]"

更进阶的用法与配置选项。

文档

请查阅 Docling 的文档,了解安装、用法、 概念、示例配方(recipes)、扩展等详细信息。

示例

动手实践我们的示例, 了解如何使用 Docling 应对不同的应用场景。

集成

为进一步加速你的 AI 应用开发,欢迎了解 Docling 与主流框架和工具的 原生集成。

获取帮助与支持

欢迎通过讨论区与我们联系。

技术报告

如需了解 Docling 内部工作原理的更多细节,请查阅 Docling Technical Report。

参与贡献

请阅读为 Docling 贡献了解详情。

参考文献

如果你在项目中使用 Docling,欢迎引用以下内容:

@techreport{Docling,
  author = {Deep Search Team},
  month = {8},
  title = {Docling Technical Report},
  url = {https://arxiv.org/abs/2408.09869},
  eprint = {2408.09869},
  doi = {10.48550/arXiv.2408.09869},
  version = {1.0.0},
  year = {2024}
}

许可证

Docling 代码库采用 MIT 许可证。 关于各个模型的使用,请参考原始软件包中的模型许可证。

LF AI & Data

Docling 是 LF AI & Data Foundation 旗下的托管项目。

IBM ❤️ 开源 AI

该项目由 IBM Research Zurich 的知识 AI 团队发起。

开源项目docling-project2026-09-19原文

相关内容