首页/AI/RAG 与向量库速查/切片断裂问题的处理

切片断裂问题的处理

切片断裂表现为答案缺主语、条件或结论:调整切分粒度和重叠、按标题层级切、对超长表格与小节做保底合并;入库前用抽样脚本检查块首尾完整性。

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

结构感知切分(示意)

结构感知切分(示意)
from langchain_text_splitters import MarkdownHeaderTextSplitter, RecursiveCharacterTextSplitter

headers = [("#", "h1"), ("##", "h2"), ("###", "h3")]
md_splitter = MarkdownHeaderTextSplitter(headers_to_split_on=headers)
sections = md_splitter.split_text(md_text)
recursive = RecursiveCharacterTextSplitter(chunk_size=400, chunk_overlap=80)
chunks = [c for s in sections for c in recursive.split_text(s.page_content)]

抽样检查首尾

抽样检查首尾
for c in random.sample(chunks, 20):
    print(repr(c.text[:60]), "...", repr(c.text[-60:]))
    # 人工确认没有以半个句子/半个表格开头结尾
标题与页码写入元数据:即使块被切开,引用与阅读上下文仍可恢复。

易错点

  • 按固定长度硬切使条件与结论分属两块,问答缺前提
  • 重叠过大让相邻块高度重复,检索命中冗余内容

数据来源与参考

  • LangChain 官方文档(MarkdownHeaderTextSplitter / RecursiveCharacterTextSplitter)
  • Anthropic, Contextual Retrieval(切分与上下文)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌