外观
RAG 系统中文档分块(Chunking)策略有哪些?如何选择?
标准回答
常见分块策略有固定长度加重叠、按段落/标题递归切分、按语义边界切分、父子块检索,以及为表格/代码等保留结构。先按文档类型和问题所需证据跨度选择,再比较检索召回、答案正确率、上下文开销;块太小可能丢上下文,太大容易混入无关内容。
通俗例子
退款政策里条件在上一段、例外在下一段,切开后只召回前半就可能答错;按结构分块,并保留父章节或邻近上下文。
深入解释
**为什么文档要分块:**模型输入和检索都有限制,把长文切成较小单元,才能只取与问题有关的部分。每块要带来源和位置,方便回到原文。
**块大小怎么权衡:**过小容易把条件和结论拆开,过大可能把大量无关内容一起送入。优先顺着标题、段落、表格结构切分,再用真实问答检验,而不是只背一个固定字符数。
易混淆点
不存在所有资料通用的最佳 chunk size;切碎表格或跨规则边界会损害理解。
内容来源
- Android · AI Agent 知识手册 · 原条目
ai-Q97