RAG 文档切分核心思路

RAG 文档切分核心思路

文档切分的核心逻辑是「先保语义,再控大小,最后补细节」,全程遵循「3 步核心流程」,所有操作都围绕「不破坏语义、适配检索」展开,具体步骤如下。

第一步:先做「语义分层」(最核心,避免切碎知识点)

无论什么类型的文档,先不考虑长度,优先按「文档本身的语义边界」拆分,这是 RAG 切分的核心原则------语义完整永远比"凑长度"更重要。

  • 核心逻辑:找到文档的「天然语义边界」(标题、章节、段落、条款、对话轮次),按边界拆分,确保每个拆分后的单元能独立表达一个完整的意思(比如一个章节、一个步骤、一个条款、一轮对话)。
  • 关键动作:先识别文档结构(是否有标题、条款、表格、代码块),再按结构拆分,不盲目按字符数切割。
第二步:再做「长度优化」(适配模型,不超限制)

语义拆分后,通常会出现两种情况:① 单个语义单元过长(超过模型输入限制);② 单个语义单元过短(碎片化,检索无意义)。此时进行针对性优化:

  • 超长处理:对超过模型适配长度的语义单元,进行「递归切分」(按更小的语义边界,比如段落→句子→标点),不硬断句子、不破坏逻辑。
  • 过短处理:对过短的语义单元(如单个句子、零散短语),在「同语义层级」内合并(比如同一章节下的短段落合并),避免碎片化。

具体切割大小,根据不同的文档类型有差距,会在后续章节单独说明。

第三步:最后补「细节保障」(落地性、可追溯)

长度优化后,补充 2 个关键细节,确保切分结果可落地、可调试:

  • 重叠设置:相邻 Chunk 保留一定重叠(5%~10%),避免关键信息(如步骤、参数、条款)落在切口上,导致检索漏招。
  • 元数据补齐:给每个 Chunk 添加元数据(标题、父标题、文件名、块序号),便于后续检索溯源、问题定位。
相关推荐
猫猫不是喵喵.1 天前
从0到1创建一个微服务项目
java·数据库·微服务·1024程序员节
fish_zzzz4 天前
笔记-论数据结构2
1024程序员节
普通人65 天前
PHP文件读写完全指南
开发语言·php·1024程序员节
Martina_03215 天前
AI生成3D场景从白模换成精模后镜头全偏了?用6步检查单位、枢轴与层级替换
图像处理·人工智能·3d·ai·自然语言处理·材质·1024程序员节
星云_byto6 天前
CSS布局
人工智能·机器学习·目标跟踪·1024程序员节
张小姐的猫9 天前
【MySQL】访问 & 数据流动原理
android·数据库·mysql·adb·1024程序员节
工业HMI实战笔记10 天前
印刷电路板HMI:SMT贴装的元件定位界面
制造·设计规范·设计语言·1024程序员节
Martina_032110 天前
AI生成3D模型一合并网格,材质就串色?用6步检查材质槽、UV与图集重映射
图像处理·人工智能·3d·材质·uv·游戏策划·1024程序员节
橙光成长10 天前
android-ad-cleaner:android免 Root 批量关闭系统开屏与营销推送
android·1024程序员节