Skip to content

RAG 切分:先保住完整证据,再调长度 ​

切分参数的目标是让需要的证据能被一起找到,而不是把所有文档切成一样长。本文讨论调试过程;RAG 的概念解释 由 Wiki 维护。

用一个退款条款做检查 ​

假设原文是:“签收七天内可以申请退款,仅适用于未拆封商品。”这是教学示例,不是任何公司的实际规则。

如果两个条件被切进不同片段,召回“七天内”仍可能让回答漏掉“未拆封”。因此先观察切分后的文本,再观察召回,最后观察生成回答;不能只看最终答案是否流畅。

从结构切分起步 ​

先按标题、段落和条款切分,超长单元再细分。表格保留表头、单位与行列关系;代码尽量保留函数边界。固定字符长度可以控制大小,但字符不是 Token,没有通用的最佳长度或重叠比例。

观察到的问题优先检查可以比较的调整
条件被截断片段正文和边界保留完整条款、读相邻片段
相关词很多但答案不相关片段是否混合多个主题缩小结构单元
上下文重复重叠范围及返回结果合并相邻片段或去重
表格内容无法解释解析是否保留表头与单位先修解析,重叠不能补回丢失内容

一次只改变一个因素 ​

固定问题、所需证据和检索/生成模型,比较切分变化。记录证据覆盖、片段数、上下文重复和费用,不能用教学演示分数直接选择生产参数。

每段至少关联文档、位置、标题路径、版本和权限。重新切分后同步更新索引,引用应能回到对应版本。

参考:LangChain TextSplitter。本文为工程建议,整理与来源复核:2026-10-14。

基于 VitePress 构建