RAG应用开发实战(01)-RAG应用框架和解析器

1 开源解析和拆分文档

第三方的工具去对文件解析拆分,去将我们的文件内容给提取出来,并将我们的文档内容去拆分成一个小的chunk。常见的PDF word mark down, JSON、HTML。都可以有很好的一些模块去把这些文件去进行一个东西去提取。

优势

  • 支持丰富的文档类型
  • 每种文档多样化选择
  • 与开源框架无缝集成

但有时效果非常差,来内容跟原始的文件内容差别大。

2 PDF格式多样性

复杂多变的文档格式,提高解析效果十分困难

3 复杂文档格式解析问题

文档内容质量将很大程度影响最终效果,文档处理过程涉及问题:

内容不完整

对文档的内容进行提取的时候,可能会发现提取出来的文档它的内容是会被截断的。跨页形式,提取出来它的上下页其实两部分内容就会被截断,导致文档内部分内容丢失,我们去解析图片或者是说双栏复杂的这种格式。它会有一部分内容的丢失。

内容错误

同一页PDF文件可能存在文本、表格、图片等混合。

PDF解析过程中,同一页它不同段落其实会也会有不同标准的一些格式。按通用格式去提取解析就遇到同页不同段落格式不标准情况。

文档格式

像常见PDF md文件,需要去支持把这些各类型的文档格式的文件都给提取。

边界场景

代码块还有单元格这些,都是我们去去解析一个复杂文档格式中会遇到一些问题。

4 PDF内容提取流程

5 为什么解析文档后需要做知识片段拆分

Token限制

  • 绝大部分开源限制 <= 512 Tokens
  • bge_base、e5_large、m3e_base、text2vector_large_chinese、multilingnal-e5-base..

效果影响

  • 召回效果:有限向量维度下表达较多的文档信息易产生失真
  • 回答效果:召回内容中包含与问题无关信息对LLM增加干扰

成本控制

  • LLM费用:按照Token计费
  • 网络费用:按照流量计费

6 Chunk拆分对最终效果的影响

Chunk太长

信息压缩失真

Chunk太短

表达缺失上下文;匹配分数容易变高

Chunk跨主题

内容关系脱节

原文连续内容(含表格)被截断

单个Chunk信息表达不完整,或含义相反

干扰信息

如空白、HTML、XML等格式,同等长度下减少有效信息、增加干扰信息

主题和关系丢失

缺失了主题和知识点之间的关系

7 改进知识的拆分方案

8 腾讯云向量数据库 AI****套件

关注我,紧跟本系列专栏文章,咱们下篇再续!

作者简介:魔都技术专家,多家大厂后端一线研发经验,在分布式系统、和大数据系统等方面有多年的研究和实践经验,拥有从零到一的大数据平台和基础架构研发经验,对分布式存储、数据平台架构、数据仓库等领域都有丰富实践经验。

各大技术社区头部专家博主。具有丰富的引领团队经验,深厚业务架构和解决方案的积累。

负责:

  • 中央/分销预订系统性能优化
  • 活动&优惠券等营销中台建设
  • 交易平台及数据中台等架构和开发设计
  • 车联网核心平台-物联网连接平台、大数据平台架构设计及优化

目前主攻降低软件复杂性设计、构建高可用系统方向。

参考:

本文由博客一文多发平台 OpenWrite 发布!

热门相关:遥望行止   机器人8号   首辅娇娘   如意小郎君   惊悚乐园