docling-project/docling
GitHub: docling-project/docling
Docling 是一款将多种格式的文档高效解析并转化为结构化数据的工具,专为生成式 AI 应用的文档预处理环节而设计。
Stars: 63167 | Forks: 4460
# Docling
[](https://arxiv.org/abs/2408.09869)
[](https://docling-project.github.io/docling/)
[](https://pypi.org/project/docling/)
[](https://pypi.org/project/docling/)
[](https://github.com/astral-sh/uv)
[](https://github.com/astral-sh/ruff)
[](https://pydantic.dev)
[](https://pypi.org/project/prek/)
[](https://opensource.org/licenses/MIT)
[](https://pepy.tech/projects/docling)
[](https://apify.com/vancura/docling)
[](https://app.dosu.dev/097760a8-135e-4789-8234-90c8837d7f1c/ask?utm_source=github)
[](https://docling.ai/discord)
[](https://www.bestpractices.dev/projects/10101)
[](https://lfaidata.foundation/projects/)
## 什么是 Docling ?
Docling 通过解析多种格式(包括深度的 PDF 理解)并提供与生成式 AI 生态系统的无缝集成,简化了文档处理流程。
## 功能
- 🗂️ 解析[多种文档格式][supported_formats],包括 PDF、DOCX、PPTX、XLSX、HTML、EPUB、WAV、MP3、WebVTT、Box Notes、邮件格式(EML、MSG)、图像(PNG、TIFF、JPEG 等)、LaTeX、DocLang、纯文本等
- 📑 深度的 PDF 理解,包括页面布局、阅读顺序、表格结构、代码、公式、图像分类等
- 🧬 统一且富有表现力的 [DoclingDocument][docling_document] 表示格式
- ↪️ 各种[导出格式][supported_formats]和选项,包括 Markdown、HTML、WebVTT、DocLang、[DocTags](https://arxiv.org/abs/2503.11576) 和无损 JSON
- 📜 支持多种特定应用的 XML schema,包括 [DocLang](https://doclang.ai)、[USPTO](https://www.uspto.gov/patents) 专利、[JATS](https://jats.nlm.nih.gov/) 文章和 [XBRL](https://www.xbrl.org/) 财务报告。
- 🔒 支持本地执行,适用于敏感数据和气隙隔离环境(air-gapped)
- 🤖 开箱即用的[集成][integrations],包括用于 Agentic AI 的 LangChain、LlamaIndex、Crew AI 和 Haystack
- 🔍 对扫描版 PDF 和图像提供广泛的 OCR 支持
- 👓 支持多种视觉语言模型(VLM),例如 ([GraniteDocling](https://huggingface.co/ibm-granite/granite-docling-258M))
- 🎙️ 结合自动语音识别(ASR)模型的音频支持
- 🔌 使用 [MCP server](https://docling-project.github.io/docling/usage/mcp/) 连接到任何 agent
- 🌐 通过 [API server](https://docling-project.github.io/docling/usage/api_server/) (docling-serve) 将 Docling 作为服务运行
- 💻 简单便捷的 CLI
### 最新动态
- 📄 解析 ODF (OpenDocument Format) 文件,支持文本文档 (`.odt`)、电子表格 (`.ods`) 和演示文稿 (`.odp`)
- 💼 解析用于财务报告的 XBRL (eXtensible Business Reporting Language) 文档
- 📧 解析邮件文件 (`.eml`, `.msg`)
- 📚 解析用于电子书的 EPUB (Electronic Publication) 文件
- 📝 解析纯文本文件 (`.txt`, `.text`) 和 Markdown 超集 (`.qmd`, `.Rmd`)
- 📊 图表理解(柱状图、饼图、折线图):将其转换为表格或代码,并添加详细描述
### 即将推出
- 📝 元数据提取,包括标题、作者、引用和语言
- 📝 复杂的化学结构理解(分子结构)
## 快速开始
### 1. 安装
```
pip install docling
```
适用于 macOS、Linux 和 Windows 环境,支持 x86_64 和 arm64 架构。
文档中提供了更详细的[安装说明](https://docling-project.github.io/docling/getting_started/installation/)。
## 2. 转换文档 (CLI)
```
docling https://arxiv.org/pdf/2206.01062
```
这会在当前目录下生成一个 .md 文件,其中包含结构化的文档内容。
你也可以通过 Docling CLI 使用 🥚[GraniteDocling](https://huggingface.co/ibm-granite/granite-docling-258M) 和其他 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[...]"
```
更高级的[用法](https://docling-project.github.io/docling/usage/)和[配置](https://docling-project.github.io/docling/getting_started/installation/)选项。
## 文档
请查看 Docling 的[文档](https://docling-project.github.io/docling/),了解有关
安装、用法、概念、方案、扩展等详细信息。
## 示例
请通过我们的[示例](https://docling-project.github.io/docling/examples/)进行实践操作,
演示如何使用 Docling 解决不同的应用用例。
## 集成
为了进一步加速你的 AI 应用开发,请查看 Docling 与流行框架
和工具的原生[集成](https://docling-project.github.io/docling/integrations/)。
## 获取帮助与支持
请随时通过[讨论区](https://github.com/docling-project/docling/discussions)与我们联系。
## 技术报告
有关 Docling 内部工作原理的更多详细信息,请查看 [Docling 技术报告](https://arxiv.org/abs/2408.09869)。
## 参考文献
如果你在你的项目中使用了 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](https://lfaidata.foundation/projects/) 中的一个项目。
### IBM ❤️ 开源 AI
该项目由 IBM 苏黎世研究院的 AI for knowledge 团队发起。
标签:OCR, Python, 人工智能, 数据解析, 文档处理, 文档结构分析, 无后门, 用户模式Hook绕过, 逆向工具