什么是文档切分 Chunking:RAG 里最容易被做坏的一步
切分是把长文档切成小段供检索使用。切得好,检索准、答案有据;切得不好,句子被拦腰截断,模型就顺着残渣瞎编。
「第二教育网」是一个专注于优质教育资源导航与学习方法分享的第三方平台。本文将从方法、工具与实操几个角度,帮你把这件事一次看明白。
文档切分(Chunking)是把长材料切成若干小段,供后续检索和作答使用。这一步看着不起眼,却常常决定知识库好不好用:切得太碎,段落没了主语和前提;切得太粗,检索回来一堆无关内容。把切分做对,比换更贵的模型更划算。
切得太碎会怎样
- 句子脱离上下文,模型读不懂指代关系。
- 命中片段语义不完整,答案自然残缺。
- 片段数量暴涨,检索和调用都变慢变贵。
切得太粗会怎样
- 一段里混进多个主题,相关性被稀释。
- 关键结论被算法砍到边界外,干脆搜不到。
- 检索回来的内容太长,挤占回答空间。
四种常用策略
- 固定长度:按字符数切,实现简单,适合结构规整的材料。
- 按标题切:以章节、小节为天然边界,保留语义完整性,教材最适用。
- 语义切分:先用模型把相近内容归组,再切片,效果好但成本略高。
- 小到大索引:先用小节做检索单元,返回后再把所在大段一起交给模型。
重叠为什么要留一点
相邻片段之间留一小段重叠,能救回被截断的跨句信息。但重叠太多又会让同样内容重复出现、拉高成本。一般情况下少量重叠就够,具体比例靠检索层的去重和重排来兜底。
三个落地检查点
- 每段的开头是否写清了身份,比如本段出自第几章。
- 跨段引用的内容能否通过相邻段拼回原意。
- 拿真题目试:查得到的答案是否都能在片段里找到依据。
一句话总结
切分的目标不是切得整齐,而是切得可检索、可引用、可追溯。把单元定在能独立回答一个问题这样的粒度,知识库才算真的能用。
还有一条维护经验:材料更新后要重建切分,否则旧片段还留在库里,检索会优先命中过时的段落。重建时保留一份旧切片对照着跑几道老题,能看出新版切分有没有把常用查法照顾到。
最后一条实操建议:切片入库前先给每份材料加一个简短的版本说明,标明学年、教材版本和章节范围。这样检索到旧版内容时,你能一眼判断要不要用新版覆盖,避免把过期答案当成现行结论。
常见问题(FAQ)
一个文档应该切成多长一段
没有统一数值。经验上以能独立支撑一个问题为宜,既要包含完整结论,又别把无关主题裹进来。教材按小节切往往最好用,长论文可按章节加小结来切。
片段之间要不要留重叠
建议留一点,避免跨段信息被硬生生切开。重叠太多会重复计费并干扰排序。更精细的做法是返回时把相邻段一起给模型,由它自行拼回语境。
切分不好会有什么后果
最典型的是检索到半句话,模型顺着残缺信息补全,于是开始编。表现是答案看着专业却找不到出处。修法优先调切分粒度,其次换嵌入模型或加重排。
本文由「第二教育网」整理发布,内容仅供参考,不构成专业建议。如有具体学业或教学问题,建议咨询相应的专业机构或老师。