当前位置: 首页 > news >正文

RAGflow图像解析与向量化分析

RAGflow图像解析与向量化分析

注:需要提前部署好ragflow,才方便一 一对应代码,部署教程:rag部署教程,这样才会方便后续更改

1. 图像解析流程

RAGflow通过多种解析器处理不同类型的文档,其中图像解析是一个重要组成部分。以下是RAGflow处理图像的主要流程:

1.1 PDF文档中的图像处理

PDF文档中的图像处理主要通过RAGFlowPdfParser类实现,流程如下:

  1. 图像提取:通过__images__方法从PDF文件中提取页面图像

    # 来源: deepdoc/parser/pdf_parser.py 中 RAGFlowPdfParser 类
    self.__images__(filename, zoomin, from_page, to_page, callback)
    
  2. OCR处理:使用OCR技术识别图像中的文本

    # 来源: deepdoc/parser/pdf_parser.py 中 RAGFlowPdfParser 类
    # 在__ocr方法中进行OCR处理
    def __ocr(self, img, page_num):# 检测图像中的文本框# 将字符合并到相应的文本框中# 对没有文本的区域进行文本识别
    
  3. 布局识别:通过_layouts_rec方法识别文本的布局类型

    # 来源: deepdoc/parser/pdf_parser.py 中 RAGFlowPdfParser 类
    self._layouts_rec(zoomin)
    
  4. 表格处理:通过_table_transformer_job方法识别表格结构

    # 来源: deepdoc/parser/pdf_parser.py 中 RAGFlowPdfParser 类
    self._table_transformer_job(zoomin)
    
  5. 表格和图片提取:通过_extract_table_figure方法提取表格和图片

    # 来源: deepdoc/parser/pdf_parser.py 中 RAGFlowPdfParser 类
    tbls, figures = self._extract_table_figure(True, zoomin, True, True, True)
    

1.2 视觉增强处理

RAGflow支持使用视觉模型增强图像和表格提取:

# 来源: rag/app/naive.py 中 chunk 函数
# 初始化视觉模型
vision_model = LLMBundle(kwargs["tenant_id"], LLMType.IMAGE2TEXT)# 来源: deepdoc/parser/figure_parser.py 中 VisionFigureParser 类
# 创建视觉图像解析器
pdf_vision_parser = VisionFigureParser(vision_model=vision_model, figures_data=figures, **kwargs)# 增强图像提取
boosted_figures = pdf_vision_parser(callback=callback)

1.3 Word文档中的图像处理

Word文档中的图像处理通过Docx类实现:

# 来源: rag/app/naive.py 中 Docx 类
def get_picture(self, document, paragraph):# 从
http://www.xdnf.cn/news/1089523.html

相关文章:

  • 基于模板设计模式开发优惠券推送功能以及对过期优惠卷进行定时清理
  • 文献学习|全面绘制和建模水稻调控组景观揭示了复杂性状背后的调控架构。
  • 【洛谷题单】--顺序结构(一)
  • MyBatis-Plus:深入探索与最佳实践
  • 《UE5_C++多人TPS完整教程》学习笔记42 ——《P43 瞄准(Aiming)》
  • 【Linux服务器】-安装ftp与sftp服务
  • JavaScript基础篇——第二章 类型转换与常见错误解析
  • openEuler2203sp4-vg磁盘组中剔除磁盘
  • 11款常用C++在线编译与运行平台推荐与对比
  • 【PyTorch】PyTorch中torch.nn模块的激活函数
  • 初识mysql(一)
  • Spring Bean 的生命周期
  • Python入门Day5
  • 数据结构*搜索树
  • CI/CD — DevOps概念之实现k8s持续交付持续集成(一)
  • Maven 打包排除特定依赖的完整指南(详细方法 + 示例)
  • -温差双八无碳小车cad【14张】+三维图+设计说明书+总装配图+绛重
  • 高版本的MacOS如何降级?
  • Qt:图片切割
  • numpy数据分析知识总结
  • 使用Node.js搭建Web应用有哪些注意事项?
  • LocalStorage和SessionStorage的区别和应用
  • 零基础 Qt 6 在线安装教程
  • C++11 算法详解:std::copy_if 与 std::copy_n
  • 基于物联网架构的温室环境温湿度传感器节点设计
  • C++ 遍历可变参数的几种方法
  • Android Jetpack Compose状态管理与状态提升
  • Spring Batch终极指南:原理、实战与性能优化
  • 从单体到微服务:Spring Cloud 开篇与微服务设计
  • 【王树森推荐系统】召回12:曝光过滤 Bloom Filter