Docling:开源的文档解析工具,支持多种格式的解析和转换,可与其他 AI 工具集成

❤️ 如果你也关注大模型与 AI 的发展现状,且对大模型应用开发非常感兴趣,我会快速跟你分享最新的感兴趣的 AI 应用和热点信息,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦


🚀 快速阅读

  1. Docling 是一个开源的文档解析工具,支持多种格式的文档解析和转换。
  2. 支持高级 PDF 理解、OCR 功能,并且易于与其他 AI 工具集成。
  3. 提供简洁的命令行界面,方便用户快速处理文档。

正文(附运行示例)

Docling 是什么

在这里插入图片描述

Docling 是一个开源的文档解析和转换工具,能高效地将多种格式的文档(包括 PDF、DOCX、PPTX、图片和 HTML)解析,导出为 Markdown 或 JSON 格式。Docling 支持高级 PDF 理解、OCR 功能,能与 LlamaIndex 和 LangChain 等工具集成,增强文档的检索和问答能力。Docling 提供一个简洁的命令行界面,方便用户快速处理文档。

Docling 的主要功能

  • 多格式支持:Docling 能读取和解析多种流行的文档格式,包括 PDF、DOCX、PPTX、图像、HTML、AsciiDoc 和 Markdown,支持将文档导出为 Markdown 和 JSON 格式。
  • 高级 PDF 理解:Docling 具备对 PDF 文档的高级理解能力,包括页面布局、阅读顺序和表格结构的识别。
  • 统一文档表示:基于DoclingDocument格式,Docling 提供一个统一且富有表现力的文档表示格式,表达文档中的文本、表格、图片等内容,及文档的层次结构。
  • OCR 支持:Docling 支持光学字符识别(OCR),能识别扫描 PDF 中的文字,让 Docling 能处理扫描或手写的文档。
  • 工具集成:Docling 易于与 LlamaIndex 和 LangChain 等工具集成,为 RAG(Retrieval-Augmented Generation)/QA(Question Answering)应用提供支持。

Docling 的技术原理

  • 文档解析:Docling 用专门的解析器读取和解析不同格式的文档,将文档内容转换为内部数据结构。
  • 布局和结构识别:对于 PDF 等格式,Docling 基于布局分析技术识别页面上的元素位置和阅读顺序,及表格和文本的结构。
  • 内容提取:Docling 从文档中提取文本、表格、图片等元素,转换为统一的DoclingDocument格式。
  • OCR 技术:对于图像或扫描的 PDF 文档,Docling 用 OCR 技术将图像中的文字转换为机器可读的文本。
  • 数据结构和 JSON 指针DoclingDocument用 JSON 指针引用父项和子项,构建文档的层次结构和内容关系。
  • 输出格式化:将解析后的数据结构格式化为 Markdown 或 JSON,便于进一步的处理和分析。

如何运行 Docling

首先,安装 Docling:

pip install docling

接下来,使用如下代码示例将文档转换为 Markdown 格式:

from docling.document_converter import DocumentConvertersource = "https://arxiv.org/pdf/2408.09869"  # 可以是本地路径或URL
converter = DocumentConverter()
result = converter.convert(source)
print(result.document.export_to_markdown())  # 输出: "## Docling Technical Report[...]"

资源

  1. 项目官网:https://ds4sd.github.io/docling/
  2. GitHub 仓库:https://github.com/DS4SD/docling
  3. arXiv 技术论文:https://arxiv.org/pdf/2408.09869

❤️ 如果你也关注大模型与 AI 的发展现状,且对大模型应用开发非常感兴趣,我会快速跟你分享最新的感兴趣的 AI 应用和热点信息,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/5076.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

学习笔记:Spring框架源码Part.2——核心

学习视频链接:https://www.bilibili.com/video/BV1zd4y1L7YD Spring学习笔记——核心 前言第三章 容器和上下文一、认识bean工厂1、基础能力2、更强的枚举能力3、灵活的分层能力4、构建和自动装配的能力5、更强的配置能力6、更多配置项7、工厂的生命周期 二、bean工…

linux守护进程与后台进程的区别

守护进程与后台进程有以下区别: 1. 概念与定义 后台进程: 是指在操作系统后台运行的进程,它不与用户直接交互(没有连接到用户的终端)。用户在终端中启动一个程序并让其在后台运行(如通过在命令后加“&…

【360】基于springboot的志愿服务管理系统

摘 要 传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装志愿服务管理系统软件来发挥其高效地信息处理的作用&#x…

【LLM Agents体验】Dify框架的安装指南

Dify简介: 核心功能‌12 ‌Dify是一款开源的大语言模型(LLM)应用开发平台,融合了后端即服务(Backend as a Service, BaaS)和LLMOps的理念,使开发者可以快速搭建生产级的生成式AI应用。LLMOps涵盖了大型语言模型的开发、…

TODO Error occurred while trying to proxy:【】

文章目录 场景异常解决 场景 使用 Ant Disign Pro 连接本地接口。 异常 Error occurred while trying to proxy: localhost:8000/api/login/account?token%20%20123[HPM] Error occurred while proxying request localhost:8000/api/login/account?token%20%20123 to http…

Linux 文件基本属性

1.Linux 文件基本属性 Linux 系统是一种典型的多用户系统,不同用户处于不同地位,拥有不同的权限。为了保护系统的安全性,Linux 系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。Linux 通常使用以下两…

数据结构-归并排序笔记

【数据结构】八大排序(超详解附动图源码)_数据结构排序-CSDN博客 看这个学思路 一 归并排序介绍: 归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解&#xf…

关于使用python pptx生成或“复制”PPT页面的问题

先说两个结论: 对于主题不完全相同的页面,pptx 无法完全复制PPT页面,文字图片可以复制,但是背景之类的无法复制pptx 无法直接在指定页码或者指定页面后插入页面 今天做项目的时候,需要根据PPT模板使用python生成相应…

Uniapp底部导航栏设置(附带PS填充图标教程)

首先需要注册和登录ifconfont官网,然后创建项目添加需要的图标 创建和添加图标库请参考:Uniapp在Vue环境中引入iconfont图标库(详细教程) 打开iconfont官网,找到之前添加的图标库,下载png图片 如果需要的…

算法——双指针

目录 前言一、什么是双指针二、算法特点三、算法实现步骤四、常见形式五、应用场景与示例六、优势与注意事项七、双指针算法动态图解八、经典例题[1. 回文判定](https://www.lanqiao.cn/problems/1371/learning/?page1&first_category_id1&name%E5%9B%9E%E6%96%87%E5%…

L6.【LeetCode笔记】合并两个有序链表

1.题目 https://leetcode.cn/problems/merge-two-sorted-lists/ 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1: 输入:l1 [1,2,4], l2 [1,3,4] 输出:[1,1,2,3,4,4]示例 2&…

类的加载机制

一、类的生命周期 类从被加载到虚拟机内存中开始到卸载出内存为止,它的整个生命周期可以简单概括为 7 个阶段: 加载(Loading)验证(Verification)准备(Preparation)解析&#xff08…

接口测试用例设计的关键步骤与技巧解析

接口测试是确保系统组件之间高效、稳定交互的重要环节。然而,设计出合理的接口测试用例,并不是一件轻而易举的事。如何通过高质量的测试用例揭示潜在问题?今天带你深度解析接口测试用例设计的关键步骤和实用技巧,助你在测试领域更…

Java线程6种生命周期及转换

多线程技术是我们后端工程师在面试的时候必问的一个知识点,今天就来盘点一下多线程的相关知识, 先来说下进程,线程及线程的生命周期: 进程:进程就是正在进行中的程序,是没有生命的实体,只有在运…

柯桥学英语|老外说“You‘re cheap”,不是“你真便宜”!真正的意思是什么?

在跨文化交流中,误解常常源于对语言字面意义的直接翻译。今天,我们就来揭开一个常见的误解——“Youre cheap”的真实含义,并探讨与之相关的英文表达。 “Youre cheap”的真实含义 当老外对你说“Youre cheap”,千万别以为他们在…

IDEA构建JavaWeb项目,并通过Tomcat成功运行

目录 一、Tomcat简介 二、Tomcat安装步骤 1.选择分支下载 2.点击下载zip安装包 3.解压到没有中文、空格和特殊字符的目录下 4.双击bin目录下的startup.bat脚本启动Tomcat 5.浏览器访问Tomcat 6.关闭Tomcat服务器 三、Tomcat目录介绍 四、WEB项目的标准结构 五、WEB…

电商行业企业员工培训的在线知识库构建

在电商行业,员工的培训和发展对于保持竞争力至关重要。随着电子商务的兴起和消费者行为的变化,电商行业需要不断适应新的市场趋势。在线培训知识库作为一种有效的培训工具,可以帮助企业提升员工技能,优化客户服务,增强…

参数跟丢了之JS生成器和包装器

如需转载请注明出处.欢迎小伙伴一起讨论技术. 逆向网址:aHR0cHM6Ly91bmlvbi5qZC5jb20vcHJvTWFuYWdlci9pbmRleD9wYWdlTm89MQ 跟踪接口:aHR0cHM6Ly9hcGkubS5qZC5jb20vYXBp 跟踪参数:h5st 本文目标:记录学习下自定义的生成器和包装器,不做具体的参数加密逻辑分析 直接启动器进…

信息学奥赛一本通 1395:烦人的幻灯片(slides)

【题目链接】 ybt 1395:烦人的幻灯片(slides) 【题目考点】 1. 图论:拓扑排序 【解题思路】 先理解题意: 如图,每张幻灯片是一个矩形,在该矩形范围内有一个位置写了这张幻灯片的编号。但实际情况是幻灯片是透明…

SpringBoot框架学习总结 及 整合 JDBC Mybatis-plus JPA Redis 我的学习笔记

SpringBoot框架学习总结 及 整合 JDBC Mybatis-plus JPA Redis 我的学习笔记 一、SpringBoot概述二、创建SpringBoot程序1. 使用maven方式创构建2. 使用Spring Initializr构建3. SpringBoot热部署4. SpringBoot的跨域处理 三、基础配置1.配置文件的作用2.配置文件格式2.yaml3.S…