首页/AI/RAG 与向量库速查/切片重叠(overlap)的取值
本包目录(229 条)

切片重叠(overlap)的取值

overlap 让相邻切片共享边界文本,避免答案恰好被切在切口处;经验上取 chunk_size 的 10%-20%,过大会带来重复检索与成本上升。

RAG 与向量库速查AI更新于 2026-10-12

不同重叠的切片数量对比

不同重叠的切片数量对比
def chunk(text, size, overlap):
    step = size - overlap
    return [text[i:i + size] for i in range(0, len(text), step)]

text = open("doc.txt", encoding="utf-8").read()
print("无重叠:", len(chunk(text, 500, 0)))
print("10% 重叠:", len(chunk(text, 500, 50)))
print("20% 重叠:", len(chunk(text, 500, 100)))
边界问题更彻底的解法是让切片尽量对齐句子/段落边界,overlap 只作兜底。

易错点

  • overlap 接近 chunk_size 时重复内容占比过高,检索结果几乎都是重叠片段
  • 重叠只是缓解手段:结构化文档优先用标题与句子边界对齐

数据来源与参考

  • LangChain 官方文档(chunk_overlap 参数说明)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌