Fork me on GitHub

你的AI为何答非所问?解密RAG文档解析与知识切分(Chunking)的核心挑战

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

  • 🚀 魔都架构师 | 全网30W技术追随者
  • 🔧 大厂分布式系统/数据中台实战专家
  • 🏆 主导交易系统百万级流量调优 & 车联网平台架构
  • 🧠 AIGC应用开发先行者 | 区块链落地实践者
  • 🌍 以技术驱动创新,我们的征途是改变世界!
  • 👉 实战干货:编程严选网

1 开源解析和拆分文档

第三方工具去对文件解析拆分,提取文件内容,并将文档内容拆分成一个小chunk。

PDF、word、markdown、JSON、HTML等都有很好的模块执行提取。

1.1 优势

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

但有时效果很差,内容跟原文件差别大。

2 PDF格式多样性

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

3 复杂文档格式解析问题

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

3.1 内容不完整

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

3.2 内容错误

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

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

3.3 文档格式

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

3,4 边界场景

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

4 PDF内容提取流程

5 为啥解析文档后,要做知识片段拆分?

5.1 Token限制

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

5.2 效果影响

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

5.3 成本控制

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

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

6.1 Chunk太长

信息压缩失真。

6.2 Chunk太短

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

6.3 Chunk跨主题

内容关系脱节。

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

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

干扰信息

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

主题和关系丢失

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

7 改进知识的拆分方案

8 商用向量数据库AI套件

Vector DB AI套件:

posted @ 2024-04-11 22:13  公众号-JavaEdge  阅读(345)  评论(0)    收藏  举报