跳到正文
SGSteven Guan

原子概念

结构切块与父子段

结构边界、token上限、overlap、parent-child与按文档类型策略。

要解决的问题切多大才能既检索精准又保留完整语义?

检索别名:chunking · parent-child retrieval · 切块

BLUEPRINT局部蓝图

01 输入

  1. 带结构的解析文档
  2. 文档类型与token预算
→

02 处理机制

  1. 按语义结构确定边界
  2. 保存父子段与定位
  3. 用分层query比较粒度和overlap
→

03 输出与证据

  1. 可定位chunk集合
  2. 可补齐的父段关系

切块同时影响召回和理解

过大的chunk把多个主题混在同一向量里,过小的chunk又可能只剩代词、数值或没有定义的条款。切块应先尊重标题、段落、表格、列表与代码边界,再用token上限约束,而不是把全部文档机械地按相同字符数截断。

建议为chunk保留源版本、章节路径、页码、父段、语言、token数及必要的前置定义。小块用于定位,父段或原页用于理解;parent-child结构允许查询命中精确段后,再按预算读取完整语义范围,而不是无限增加overlap。

不同资料采用不同策略

FAQ可按问答对切分,法规条款要保留适用条件,表格按语义行组携带表头,代码按符号与依赖关系组织,聊天记录则需要发言人、时间和线程。原生段落很短时强行补到固定长度,也可能合并本无关联的内容。

Anthropic的Contextual Retrieval文章说明孤立chunk容易丢失全文背景,并提出索引前补充解释。切块与这种增强可组合,但增强文本应标识为派生说明,原文仍是证据。不能因更长context改善检索,就把生成摘要当作正式条款。

用真实问题选择粒度

可比较256、512、1024 token及若干overlap比例,这些只是实验点。固定embedding和检索参数,分别测证据召回、重复率、最终token量与答案支持度。中文和英文的token分布不同,必须使用实际tokenizer计数。

失败诊断应区分:原始解析已经丢字,块边界切掉限定条件,召回到了错误块,或证据组装没有补回父段。只提高top-k常会增加重复,无法修复边界错误。验收还应确保引用能回到正确版本与页段,而非只定位到整份文件。

RELATIONSHIP MAP

与其他节点的关系

箭头从本节点指向目标;关系是工程分析映射,不代表厂商合作或已披露的内部实现。

哪些节点指向本页 · 2

PRIMARY SOURCES

来源与阅读边界

来源按研究截止日整理。官方文档说明能力和约束,代码只证明对应版本,论文与讲座不自动证明生产效果。 资料截止:2026-10-15。

  1. Anthropic:Contextual Retrieval ↗官方文档 / 声明
  2. Docling:结构化文档 ↗公开代码