【大模型应用】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 种策略和调优思路,不管是项目落地还是面试,都能从容应对。

相关推荐
xieliyu.11 小时前
Java算法精讲:双指针(三)
java·开发语言·算法
love530love11 小时前
LiveTalking 数字人项目 Windows 部署完全指南(EPGF 架构)
人工智能·windows·python·架构·livetalking·epgf
遇事不決洛必達11 小时前
【Python基础】GIL 锁是什么及其对爬虫的影响
爬虫·python·线程·进程·gil锁
星辰徐哥11 小时前
Spring Boot 微服务架构设计与实现
spring boot·后端·微服务
星辰徐哥11 小时前
Spring Boot 数据导入导出与报表生成
spring boot·后端·ui
明夜之约11 小时前
Spring Boot 自动装配源码
java·spring boot·后端
Leaton Lee11 小时前
Spring Boot分层架构详解:从Controller到Service再到Mapper的完整流程
java·spring boot·后端·架构
Micro麦可乐11 小时前
Spring Boot 实战:从零设计一个短链系统(含完整代码与数据库设计)
数据库·spring boot·后端·哈希算法·雪花算法·短链系统
Jinkxs11 小时前
Resilience4j- 与 Spring Boot 快速集成:自动配置与基础注解使用
java·spring boot·后端
毕设源码_郑学姐11 小时前
计算机毕业设计springboot网络相册设计与实现 基于Spring Boot框架的在线相册管理系统开发与应用 Spring Boot驱动的网络影集设计与实践
spring boot·后端·课程设计