Appearance
6.4 大文档与复杂知识场景
这一节要讨论的是检索链路里一个很常见的升级点:
- 当知识库开始出现长文档、多文档和复杂结构时,简单的
top-k chunk检索为什么经常不够用
前面的检索设计大多还可以先把问题理解成:
- 找到相关 chunk
- 把 chunk 送给后续链路
但一旦进入这些场景,问题就会明显复杂起来:
- 一篇文档很长,答案散在多个段落
- 一个问题需要先找文档,再找文档内部片段
- 一个答案要跨多个文档才能拼出来
这时系统往往就不能再只靠一轮平面检索,而要考虑:
- 分层检索
- 递归检索
- 多级粒度的召回组织
学这一节时,最值得先建立的判断
- 大文档问题常常不是“相关 chunk 不存在”,而是“相关信息被分散在多个层级”
- 简单
top-k chunk在长文档场景里经常会顾此失彼 - 分层检索更像“先找范围,再找细节”
- 递归检索更像“根据当前结果继续往下追”
这一节会回答什么问题
- 为什么大文档场景下,分层检索通常比直接 top-k chunk 更稳?
- 什么是分层检索(Hierarchical Retrieval)?
- 什么是递归检索(Recursive Retrieval)?
- 长文档、多文档、跨文档问题分别有什么不同?
读完这一节后,你最好能更稳地判断:
- 什么时候该先找文档,再找 chunk
- 什么时候问题需要递归追踪,而不是一次召回完
- 为什么长文档、多文档、跨文档问题不能都用同一种平面检索方法处理