19.5K Star 万物皆可JSON!为生成式AI准备文档的绝佳神器!

点击上方“蓝色字体”关注我,每天推送“实用有趣的项目”!

 

随着生成式AI的快速发展,如何将大量的文档内容高效转换并集成到AI系统中,成为开发者们的一大挑战。

无论是PDF、Word文档,还是PPT、Excel表格,如果有一款能够快速准确地将这些格式转换成适用于生成式AI的结构化数据,那将是非常的方便。

而今天的主角:Docling,专为此类需求而生。

它能够高效地解析和转换多种文档格式,将文档内容以HTML、Markdown和JSON等格式呈现,并支持OCR识别和表格结构的解析。

当然最重要的是,它可以与主流的生成式AI框架(如LangChain、LlamaIndex等)无缝集成,为AI应用提供强大的文档处理支持。

项目简介

Docling 是开源的一个多功能的文档解析与转换工具。

它能够处理多种常见文档格式(包括PDF、DOCX、PPTX、XLSX、HTML和Markdown等),并通过简洁易用的CLI工具帮助用户快速转换和解析文档。

此外,Docling原生集成了生成式AI框架,如LangChain和LlamaIndex,使其在AI文档处理方面更具优势。它的智能化处理能力,尤其是在OCR和表格结构识别方面,特别适用于那些需要快速提取信息并进一步处理的场景。

主要功能

1、多格式支持,快速转换

Docling支持解析并转换多种文档格式,包括但不限于:

  • • PDF、DOCX、PPTX、XLSX、HTML、Markdown等主流格式

  • • 能够从这些格式中提取内容并导出为HTML、Markdown或JSON,方便与其他系统和应用集成。

2、高级PDF理解

在PDF处理方面具有强大的功能,不仅支持基本的文本提取,还能深入理解文档的页面布局、阅读顺序以及表格结构。

这些高级特性使得它能够处理更为复杂的PDF文档,特别是包含表格和复杂排版的文件。

3、支持OCR与表格结构识别

内置OCR功能,能够识别扫描文档中的文本,帮助用户提取图像中的信息,并且可以准确识别文档中的表格结构并转换为可用的格式,使得数据的处理更加便捷。

4、AI框架集成,智能文档处理

Docling原生集成了LangChain、LlamaIndex等主流生成式AI框架,为AI应用开发提供了完美的支持。

通过这些框架,用户可以更轻松地将文档内容与AI系统连接,并执行智能任务,如信息抽取、内容生成等。

5、简单易用的CLI工具

提供了便捷的命令行界面(CLI)工具及API,开发者可以通过几行代码轻松完成文档格式转换和处理。

无论是批量处理文档,还是自动化脚本的编写,都极大地提升了开发效率。让开发者可以专注于更高层次的AI应用开发。

安装与使用

要使用 Docling,只需从 Python 包管理器(例如 pip)安装 docling。

pip install docling

要转换单个 PDF 文档,可以使用 convert()

from docling.document_converter import DocumentConverter

source = "https://arxiv.org/pdf/2408.09869"  # PDF path or URL
converter = DocumentConverter()
result = converter.convert(source)
print(result.document.export_to_markdown())

还可以直接从命令行使用 Docling 来转换单个文件(无论是本地文件还是按 URL 文件)或整个目录。

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

可以通过参数限制每个文档应允许处理的文件大小和页数。

from pathlib import Path
from docling.document_converter import DocumentConverter

source = "https://arxiv.org/pdf/2408.09869"
converter = DocumentConverter()
result = converter.convert(source, max_num_pages=100, max_file_size=20971520)

从二进制 PDF 流转换。

from io import BytesIO
from docling.datamodel.base_models import DocumentStream
from docling.document_converter import DocumentConverter

buf = BytesIO(your_binary_stream)
source = DocumentStream(name="my_doc.pdf", stream=buf)
converter = DocumentConverter()
result = converter.convert(source)

应用场景

  • • 智能文档解析

  • • 生成式AI应用开发

  • • 批量文档处理

  • • OCR与表格数据提取

写在最后

Docling 是一个强大而灵活的开源工具,它不仅简化了文档的解析与转换,还通过与生成式AI框架的集成,为开发者提供了无限的可能性。

它支持OCR识别、表格结构解析以及与生成式AI框架的深度集成,为开发智能文档应用提供了完美的支持。无论是需要处理大量文档、开发智能文档应用,还是与AI结合进行更深层次的分析,Docling都能大大提升工作效率。

GitHub 项目地址:https://github.com/DS4SD/docling

 

● 一款改变你视频下载体验的神器:MediaGo

● 新一代开源语音库CoQui TTS冲到了GitHub 20.5k Star

● 最新最全 VSCODE 插件推荐(2023版)

● Star 50.3k!超棒的国产远程桌面开源应用火了!

● 超牛的AI物理引擎项目,刚开源不到一天,就飙升到超9K Star!突破物理仿真极限!

(文:开源星探)

欢迎分享

发表评论