点击上方“蓝色字体”关注我,每天推送“实用有趣的项目”!
随着生成式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!突破物理仿真极限!
(文:开源星探)