点击上方蓝字关注我们
IT 咖啡馆,探索无限可能!
恭喜你发现了这个宝藏,这里你会发现优质的开源项目、IT知识和有趣的内容。
现在的工作中会涉及到很多的文件格式,常见的比如word、pdf、ppt等,但在面对程序时,时常需要装文件内容快速转换给程序使用。
今天我们分享的开源项目,它是一个可爱的小鸭子,可以高效的解析各种类型的文件,并转换成markdown或JSON。它就是:Docling
Docling 是什么?
Docling是来自IBM的开发者们带来了一个名为Docling的新工具,这个库专为处理文档而生,它能高效解析PDF、DOCX、PPTX等格式,并导出为Markdown和JSON格式。
它不仅支持多种文档格式的转换,如PDF、DOCX、PPTX等,还能处理图像、HTML及Markdown等格式,将这些转换为易于处理的Markdown或JSON格式。
产品的功能特性包括了以下:
🗂️ 读取流行的文档格式(PDF、DOCX、PPTX、图像、HTML、AsciiDoc、Markdown)并导出为 Markdown 和 JSON
📑 高级 PDF 文档理解,包括页面布局、阅读顺序和表格结构
🧩 统一、富有表现力的DoclingDocument表示格式
🤖 轻松与 LlamaIndex 🦙 和 LangChain 🦜🔗 集成,打造强大的 RAG / QA 应用程序
🔍 支持扫描 PDF 的 OCR
💻 简单方便的 CLI
安装和使用 Docling
安装 Docling 非常简单,pip install 一下就好:
pip install docling
Docling适用于 macOS、Linux 和 Windows 环境。x86_64 和 arm64 架构。
代码使用
代码使用
然后用 Python 写几行代码,就能体验它的神奇之处,以下就是一个最简单的示例:
from docling.document_converter import DocumentConverter
source = "<https://arxiv.org/pdf/2408.09869>" # document per local path or URL
converter = DocumentConverter()
result = converter.convert(source)
print(result.document.export_to_markdown()) # output: "## Docling Technical Report[...]"
CLI使用
您还可以直接从命令行使用 Docling 来转换单个文件(本地文件或通过 URL)或整个目录。
一个简单的例子如下:
docling https://arxiv.org/pdf/2206.01062
更多详细的使用参数,可以参考文档来使用。
Docling 的技术
Docling 背后集成了 Unstructured、PDFminer、LayoutParser、Tesseract OCR 等多个强大的库,提供统一的接口,让文档处理变得如此简单!
Docling 实现了线性操作管道,该操作在每个给定文档上顺序执行。每个文档首先由 PDF 后端解析,该后端检索由字符串内容及其在页面上的坐标组成的编程文本标记,并且还呈现每个页面的位图图像以支持下游操作。然后,标准模型管道在文档中的每个页面上独立应用一系列人工智能模型,以提取特征和内容,例如布局和表格结构。最后,所有页面的结果被聚合并通过后处理阶段,该阶段会增强元数据、检测文档语言、推断阅读顺序并最终组装一个可以序列化为 JSON 或 Markdown 的类型化文档对象。
Docling中还包括了两个功能强大的人工智能模型,第一个模型是布局分析模型,是页面元素的精确对象检测器。第二个模型是 TableForme,是一种最先进的表结构识别模型。
总结
将 PDF 文档转换回机器可处理的格式一直是一个重大挑战,因为它们格式的巨大变化、标准化薄弱以及打印优化的特性会丢弃大多数结构特征和元数据。随着LLMs和检索增强生成 (RAG) 等流行应用模式的出现,利用 PDF 中嵌入的丰富内容变得越来越重要。Docling可以方便的解决这方面的需求极大的帮助了开发人员,而且从它快速上升的热度也能看出使用者对于它的认可程度,如果有相关的使用需要可以尝试一下。
项目信息
项目名称:Docling
GitHub 链接:https://github.com/DS4SD/docling
Star 数:9K