首页 > 其他分享 >【文档智能 & RAG】浅看开源的同质化的文档解析框架-Docling

【文档智能 & RAG】浅看开源的同质化的文档解析框架-Docling

时间:2024-08-26 15:22:35浏览次数:12  
标签:RAG 解析 模型 线程 Docling 文档 OCR

前言

RAG的兴起,越来越多的人开始关注文档结构化解析的效果,这个赛道变得非常的同质化。

关于文档智能解析过程中的每个技术环节的技术点,前期文章详细介绍了很多内容:

文档智能结构化解析

下面我们简单的看看Docling这个PDF文档解析框架里面都有什么技术。

方法

Docling pipline

  1. 布局分析模型
    首先,Docling使用一个布局分析模型,这是一个对象检测器,用于预测给定页面图像上各种元素的边界框和类别。其架构源自RT-DETR,并在DocLayNet数据集上重新训练。推理依赖于onnxruntime

    笔者在前面的文章也提到过,版式分析非常依赖于场景数据,因此,该模型仅在DocLayNet数据集上进行训练,无法满足一些常见的中文场景诉求,并且采用RT-DETR进行训练,模型参数较大。这一块的替代可以采用之前开源的轻量版式分析模型。支持包含段落信息等研报、论文等中文场景的细粒度布局检测。

    地址:https://github.com/360AILAB-NLP/360LayoutAnalysis

    论文场景

    研报场景

  2. 表格结构识别模型:其次,Docling使用TableFormer表格结构识别模型模型。它可以根据输入图像预测给定表格的逻辑行和列结构。推理依赖于PyTorch。

  3. OCR文字识别:Docling还提供了可选的OCR支持,例如用于扫描件PDF。默认情况下,Docling使用EasyOCR引擎,该引擎以高分辨率(216 dpi)页面图像进行OCR,以捕获小字体细节。

  4. 处理管道:Docling实现了一个线性处理管道,按顺序对每个文档执行操作。每个文档首先由PDF后端解析,以检索程序化文本标记和渲染每页的位图图像。然后,标准模型管道独立应用于文档中的每一页,以提取特征和内容,如布局和表格结构。最后,所有页面的结果汇总并通过后处理阶段传递,以增强元数据、检测文档语言、推断阅读顺序并最终组装一个可序列化为JSON或Markdown的类型化文档对象。

结果

  • 处理速度:在MacBook Pro M3 Max上,使用4个线程时,Docling的解决方案时间为177秒,吞吐量为每秒1.27页,峰值内存使用量为6.20 GB。使用16个线程时,解决方案时间为167秒,吞吐量为每秒1.34页,峰值内存使用量为未记录。

  • OCR性能:默认情况下,OCR引擎以高分辨率页面图像进行OCR,但运行速度较慢(每页超过30秒)。

  • 资源效率:在Intel Xeon E5-2690上,使用4个线程时,解决方案时间为375秒,吞吐量为每秒0.60页,峰值内存使用量为未记录。使用16个线程时,解决方案时间为244秒,吞吐量为每秒0.92页,峰值内存使用量为6.16 GB。

总结

文档智能解析现在非常同质化,实际上能解决自己场景文档解析的实用工具很少,不过可以参考下Docling工程上的具体优化,如多线程等。结合一些其他较强的开源或者自研的小模型,进行替换,打造自己的文档解析工具。

参考文献

https://github.com/DS4SD/docling

标签:RAG,解析,模型,线程,Docling,文档,OCR
From: https://blog.csdn.net/yjh_SE007/article/details/141555546

相关文章

  • 网站提示507 Insufficient Storage:服务器无法存储完成请求所需的内容怎么办
    当遇到“507InsufficientStorage”错误时,这意味着服务器无法存储完成请求所需的内容,通常是由于磁盘空间不足或资源限制。这种错误通常出现在服务器端,特别是在存储资源有限的环境中。解决方案检查服务器磁盘空间如果你是服务器管理员,检查服务器的磁盘空间。确认是否有足够......
  • JAVA毕业设计|(免费)springboot基于JAVA的社团管理系统的包含文档代码讲解
    收藏点赞不迷路 关注作者有好处编号:springboot270springboot基于JAVA的社团管理系统的开发语言:Java数据库:MySQL技术:Spring+SpringMVC+MyBatis工具:IDEA/Ecilpse、Navicat、Maven1.系统展示2.万字文档展示第5章系统详细设计5.1学生信息管理如图5.1显示的就是学生......
  • JAVA毕业设计|(免费)springboot基于JAVA的社团管理系统的包含文档代码讲解
    收藏点赞不迷路 关注作者有好处编号:springboot270springboot基于JAVA的社团管理系统的开发语言:Java数据库:MySQL技术:Spring+SpringMVC+MyBatis工具:IDEA/Ecilpse、Navicat、Maven1.系统展示2.万字文档展示第5章系统详细设计5.1学生信息管理如图5.1显示的就是学生......
  • 第八期 RAG检索增强生成
    一:RAGvsFine-tuning(一)Fine-tuning(微调)是用一定量的数据集对LLM进行局部参数的调整,以期望LLM更加理解我们的业务逻辑,有更好的zero-shot能力。(二)RAG(检索增强生成)是把企业内部的文档数据先进行embedding,借助检索先获得大致的知识范围答案,再结合prompt给到LLM,让LLM生成最终的答......
  • 效率神器!一款方便、快捷的数据库文档查询、导出工具!
    大家好,我是Java陈序员。之前给大家推荐过一款简洁好用的数据库表结构文档生成器。永不生锈的螺丝钉!一款简洁好用的数据库表结构文档生成器今天,再给大家介绍一款开源的数据库操作工具,功能更加强大!支持文档导出、SQL查询、代码生成...以及十几种实用的工具!关注微信公众号:【Jav......
  • 车企如何实现安全高效的图文档发送,防泄密方案出炉!
    汽车行业是一个涉及多个领域的综合性行业,它不仅包括汽车的生产和销售,还涵盖了与之相关的服务和产业链上下游的各个环节。从20世纪50年代起步至今,中国汽车行业经历了从无到有、从小到大的转变,现已成为国民经济的重要支柱产业之一。车企设计研发部门、技术中心、采购部门、市场营......
  • java毕业设计-基于springboot+vue的在线付费自习室管理系统,基于SpringBoot+Vue的自习
    文章目录前言系统功能演示视频项目架构和内容获取(文末获取)具体实现截图用户前台管理后台架构设计MVC的设计模式基于B/S的架构技术栈具体功能模块设计系统需求分析可行性分析系统测试为什么我?关于我我自己的网站项目开发案例项目相关文件前言博主介绍:✌️码农一枚......
  • 【软件文档大全】软件开发常用文档(程序开发过程-实施-运维-安全-交付-资质-标书)
    软件项目常用文档有哪些?工作安排任务书,可行性分析报告,立项申请审批表,产品需求规格说明书,需求调研计划,用户需求调查单,用户需求说明书,概要设计说明书,技术解决方案,数据库设计说明书,详细设计说明书,单元测试报告,总体测试计划,单元测试计划,产品集成计划,集成测试报告,集成测试计划,系统......
  • 【含文档】基于Springboot+微信小程序的图书借还管理系统(含源码数据库)
    1.开发环境开发系统:Windows10/11架构模式:MVC/前后端分离JDK版本:JavaJDK1.8开发工具:IDEA数据库版本:mysql5.7或8.0数据库可视化工具:navicat服务器:SpringBoot自带apachetomcat主要技术:Java,Springboot,mybatis,mysql,vue2.视频演示地址3.功能这个系......
  • Storage:Keeping memories in the brain(存储:把记忆保存在大脑中)
    Onceyou’veencodedinformation,younowneedtostoreit.Unfortunately,forgettingisamajorpartofhowourbrainswork.Mostofuscan’trememberwhatwehadfordinnerTuesday,threeweeksago.However,wecanallrememberourfirstkiss.一旦完成......