Docling 是一个开源项目,旨在帮助用户将文档解析并导出到所需的格式,以便于与生成式人工智能(gen AI)集成。以下是对该项目的详细介绍:
项目概述
- 名称:Docling
- GitHub 链接:https://github.com/DS4SD/docling
- 开发者:由 IBM 提供支持
功能特点
- 支持文档格式:Docling 能够读取多种流行的文档格式,包括 PDF、DOCX、PPTX、XLSX、图片、HTML、AsciiDoc 和 Markdown,并支持导出为 HTML、Markdown 和 JSON 格式(包括嵌入和引用的图片)。
- PDF 文档理解:提供高级的 PDF 文档理解功能,包括页面布局、阅读顺序和表格结构。
- 统一文档表示:DoclingDocument 提供统一且富有表现力的文档表示格式。
- 集成支持:易于与 LlamaIndex 和 LangChain 集成,为 RAG(Retrieval-Augmented Generation)/QA(Question Answering)应用提供强大支持。
- OCR 支持:支持对扫描的 PDF 文档进行光学字符识别(OCR)。
- 命令行界面:提供简单方便的命令行界面(CLI)。
即将推出
- 公式和代码提取:即将支持提取文档中的公式和代码。
- 元数据提取:包括标题、作者、参考文献和语言在内的元数据提取功能。
- LangChain 扩展:原生支持 LangChain 的扩展。
安装指南
- 安装方法:通过包管理器(如 pip)安装
docling
。 - 支持平台:支持 macOS、Linux 和 Windows 环境,包括 x86_64 和 arm64 架构。
- 详细安装指南:文档中提供了更详细的安装说明。
快速开始
- 文档转换:使用
convert()
函数可以转换单个文档。 示例代码:
from docling.document_converter import DocumentConverter source = "https://arxiv.org/pdf/2408.09869" # 可以通过本地路径或 URL 指定文档 converter = DocumentConverter() result = converter.convert(source) print(result.document.export_to_markdown()) # 输出:"## Docling Technical Report[...]"
- 高级使用选项:文档中提供了更多高级使用选项。