【大模型应用】4.分块之六大策略

分块之6 大策略

下面总结 RAG 系统 中常见的文本分块策略,快速掌握核心要点。


常见 6 种策略

在 RAG 系统中,文本分块是连接「文档解析」和「向量检索」的关键环节,直接影响检索精度和模型回答质量。常见的分块策略有以下 6 种:

1. 自然结构分块

核心逻辑按文档现成的格式切(Markdown 按标题、普通文档按空行)。

  • 优点:语义完整,符合人类阅读习惯。
  • 缺点:太依赖格式,遇到长段落文档会切得不均匀。
  • 通俗易懂按章节切书,不会把一个段落拆碎。

2. 固定大小分块

核心逻辑不管内容,按 token 数硬切(比如每 500 tokens 一块)。

  • 优点:极快,实现简单,适合非结构化文本(网页)。
  • 缺点:完全不管语义,一句话可能被拦腰截断。
  • 通俗易懂像切蛋糕,按重量平均切,容易把水果切烂(语义断裂)。

3. 滑动窗口分块

核心逻辑固定分块 + 重叠机制相邻块保留 10%-20% 重叠内容)。

  • 优点:保护上下文关联,关键信息不会卡在分界线上。
  • 缺点:存储量增加,重叠部分要重复存。
  • 通俗易懂翻书留几行,上一页的最后几行带到下一页,避免断句。

4. 递归分块

核心逻辑分层拆解(先按章节粗分,太长再按段落细分,直到达标)。

  • 优点:适配嵌套格式的复杂文档(学术论文、长文),兼顾结构和大小。
  • 缺点:配置稍复杂,需要定义多层分隔符。
  • 通俗易懂剥洋葱,先剥大层(章节),再剥小层(句子),层层细化。

5. 语义分块(精度最高)

核心逻辑用 NLP 模型算相似度,相似度高的放一起,突降的地方切开。

  • 优点:语义最完整,检索精度最高,不会生硬截断。
  • 缺点计算成本极高,耗资源,慢。
  • 通俗易懂让 AI 判边界,它判断完一个话题就切开,保证每块都是完整的 "故事"。

6. 混合分块(生产环境最常用)

核心逻辑多种策略组合(先结构粗筛,再用语义精修;或先固定分块,再对超长块处理)。

  • 优点效率最高、效果最稳,兼顾速度和精度。
  • 缺点:逻辑稍复杂,需要针对不同文档做适配。
  • 通俗易懂先粗筛再精修,先快速拆大块,再对重要的部分精细化处理,是最实用的方案。

追问

1. 实际项目中怎么选择分块策略?

回答 :看文档类型业务需求

  • 结构化文档(技术文档、法律合同):优先自然结构分块,能保证章节完整。【通俗易懂理解】:有标题、章节的文档,按看书的方式拆最省心。
  • 非结构化文本(网页、聊天记录):用固定大小+滑动窗口,简单高效。【通俗易懂理解】:没格式的文本,按固定长度切,加一点重叠保上下文。
  • 对检索精度要求极高的场景(医疗问答、金融分析):上语义分块。【通俗易懂理解】:要保证每个块是完整语义,不能断章取义。
  • 生产环境:一般是混合策略,先结构分块粗筛,再语义分块精修。【通俗易懂理解】:先快速拆大块,再对重要块做精细优化,效率和精度都要。

2. 分块大小和重叠比例怎么调优?

回答:没有银弹,得根据检索效果迭代。

  • 起点:一般是 300~500 tokens ,重叠 10%~20%

    • 通俗易懂理解】:先定一个中间值,别太大也别太小。
  • 迭代:跑一批测试 query,看召回率和答案质量

    • 召回的块经常不完整 → 说明块太小或重叠太少。
    • 通俗易懂理解】:关键信息被切碎了,要调大块或增加重叠。
    • 召回的块经常混入无关内容 → 说明块太大。
    • 通俗易懂理解】:一块里塞了太多内容,模型分不清重点,要调小块。
  • 分类配置:FAQ 类要细,长文章类要粗,不同类型文档最优参数不一样

    • 通俗易懂理解】:短问答拆碎点,长文章拆大块点,适配不同场景。

3. 语义分块的计算成本怎么控制?

回答:全量语义分块确实贵,每对相邻句子都要过 embedding 模型算相似度,优化思路有 4 个:

  1. 用轻量模型 :比如 all-MiniLM-L6-v2BERT-large 快很多但效果够用。
  • 通俗易懂理解 】:用小模型算相似度,速度快,效果也能满足业务。
  1. 先粗分再精分:用固定分块快速切成大块,只对大块内部做语义细分。
  • 通俗易懂理解】:先把大文档拆成大块,再对大块做精细语义拆分,减少计算量。
  1. 缓存:同一份文档分块结果存起来,不用每次重算。
  • 通俗易懂理解】:分好的块存数据库,下次再处理同一份文档直接用,不用重新算。
  1. 设相似度阈值:连续几个句子相似度都高就直接合并,不用逐句计算。
  • 通俗易懂理解】:发现连续几句话都是同一个话题,直接合并成一块,不用挨个算相似度。

总结

文本分块的核心是在「语义完整性」「块大小均匀」「计算效率」三者之间找平衡

  • 追求效率:选固定大小/滑动窗口
  • 追求语义完整:选自然结构/语义分块
  • 生产环境:优先混合分块,兼顾效率和精度。

在 RAG 系统中,分块策略没有绝对的最优解,需要根据文档类型、业务需求和检索效果不断迭代。掌握这 6 种策略和调优思路,不管是项目落地还是面试,都能从容应对。

相关推荐
码喽7号1 小时前
Springboot学习六:MybatisPlus的多表查询以及分页查询
java·spring boot·学习
那我掉的头发算什么2 小时前
【博客系统】基于Spring全家桶的博客系统(下)
java·后端·spring·mybatis·开发
齐齐大魔王2 小时前
虚拟机网络无法连接
linux·网络·c++·python·ubuntu
ycjunhua2 小时前
Notebooklm for windows本地安装使用
python·webstorm
曲辕RPA2 小时前
GEO技术解析:RPA在生成引擎优化中的角色与应用
python·ai·rpa
独自破碎E2 小时前
【面试真题拆解】Spring中的注解
数据库·spring·面试
不吃香菜学java2 小时前
苍穹外卖-新增菜品需求分析
java·spring boot·spring·tomcat·maven·ssm
2401_894241922 小时前
实战:用OpenCV和Python进行人脸识别
jvm·数据库·python
Jordannnnnnnn2 小时前
复试day27
数据结构·c++·算法