RAG 分块边界怎么调?标题、列表与表格别拦腰切断
分块边界决定检索到的是「完整意思」还是「半句话」。 固定长度切分实现简单,但对手册、API 文档和表格往往不友好。
坏边界的症状
- 命中块以「如下所示:」结尾,没有下文。
- 表格只剩表头或只剩一行无列名。
- 标题在上一块,要点在下一块,单独检索都不全。
调参思路
- 优先按结构:标题、空行、列表项、代码围栏。
- 块内完整语义:一个操作步骤尽量同块。
- 重叠(overlap):用于段落衔接,不是越大越好。
- 表格:整表一块,或「表头 + 行组」复制表头到每块。
- 元数据:保留
title、section、doc_id便于引用。
简易评测
准备 20 个真实问题,看 Top-k 块是否含答案句。专门加几题「跨标题」和「表格数字」问题。改边界后只看相对变化,不宣称绝对准确率。
与过期文档策略
分块再好,过期政策仍会误导。块的元数据里带 effective_date,检索后过滤,可与过期失效流程配合。
实施顺序建议
先修明显拦腰问题(标题/表),再调大小与重叠,最后才上复杂父子块索引。
落地检查
抽样打开 50 个块,人工打标「语义完整 / 拦腰」。先修标题与表格,再动平均长度。准备跨节与表格题各若干,改边界后看命中是否含答案句,只报告相对变化。元数据补上 section 与 effective_date,便于引用与过期过滤。
不要同时改嵌入模型、分块与重排三个旋钮,否则无法归因。
写完模板后,建议在真实场景试运行一次,把含糊句子改成你们行话,并删掉任何模型编造的数字、法规条款号或保证措辞。把终版存入共享文档并注明适用日期,避免同事继续使用过期口径。
写完模板后,建议在真实场景试运行一次,把含糊句子改成你们行话,并删掉任何模型编造的数字、法规条款号或保证措辞。把终版存入共享文档并注明适用日期,避免同事继续使用过期口径。
写完模板后,建议在真实场景试运行一次,把含糊句子改成你们行话,并删掉任何模型编造的数字、法规条款号或保证措辞。把终版存入共享文档并注明适用日期,避免同事继续使用过期口径。
写完模板后,建议在真实场景试运行一次,把含糊句子改成你们行话,并删掉任何模型编造的数字、法规条款号或保证措辞。把终版存入共享文档并注明适用日期,避免同事继续使用过期口径。
写完模板后,建议在真实场景试运行一次,把含糊句子改成你们行话,并删掉任何模型编造的数字、法规条款号或保证措辞。把终版存入共享文档并注明适用日期,避免同事继续使用过期口径。