Docling:一个基于AI驱动的免费文档解析工具
一个基于 Python 开发、用于解析各种文档(PDF、DOCX、PPTX、XLSX、图片、音频等)的免费工具,支持与生成式 AI 生态进行无缝集成。
·
Docling 一个基于 Python 开发、用于解析各种文档(PDF、DOCX、PPTX、XLSX、图片、音频等)的免费工具,支持与生成式 AI 生态进行无缝集成。
Docling 项目由 IBM 维护并开源,代码托管在 GitHub,目前已经获得了 36.5K Stars:
https://github.com/docling-project/docling
功能特性
Docling 的主要功能特性如下:
- 🗂️支持解析主流文档格式,包括 PDF、DOCX、PPTX、XLSX、PNG、TIFF、JPEG、WEBP、HTML、WAV、MP3 等;
- 📑提供高级 PDF 文档理解功能,包括页面布局、阅读顺序、表格结构、代码、公式、图片分类等。
- 🧩采用统一的、富有表达力的 DoclingDocument 表示格式,以及一套文档构建 API;
- ↪️支持各种导出格式和选项,包括 HTML、Markdown、Doctags 以及无损 JSON;
- 🔒允许本地运行,适用于敏感数据和网络隔离环境;
- 🤖集成各种 AI 平台,包括 LangChain、LlamaIndex、Crew AI、Haystack 等;
- 🔍对扫描式 PDF 和图片提供广泛的 OCR(EasyOCR、Tesseract、RapidOCR、Mac OCR)支持;
- 👓支持视觉语言模型 SmolDocling,用于解析图片文件;
- 🎙️通过自动语音识别(ASR)模型解析音频文件;
- 💻提供简单易用的命令行工具。
目前正在开发中的功能包括:
- 📝元数据提取,包括标题、作者、参考文献以及文本语言;
- 📝 图表理解(条形图、饼图、折线图等);
- 📝 复杂化学理解(分子结构)。
系统架构
Docling 的架构如下图所示:
对于每种文档格式,文档转换器知道要使用哪个特定格式的后端模块来解析文档,以及使用哪个 pipeline 来协调执行,以及任何相关的选项配置。
Docling 允许通过第三方插件进行功能扩展。
下载安装
如果你已经安装了 Python 环境,可以使用包管理器进行安装。例如:
pip install docling
这种方式支持 macOS、Linux 以及 Windows 系统,包括 x86_64 和 arm64 架构。
以下是一个解析 PDF 文件的 Python 代码示例,输出格式为 Markdown:
from docling.document_converter import DocumentConverter
source = "https://arxiv.org/pdf/2408.09869" # file path or URL
converter = DocumentConverter()
doc = converter.convert(source).document
print(doc.export_to_markdown()) # output: "### Docling Technical Report[...]"
另外,也可以直接从命令行使用 Docling:
docling https://arxiv.org/pdf/2206.01062
官方文档:
更多推荐
所有评论(0)