LlamaIndex 高级 RAG:实现“递归检索”与“文档层级索引”,解决长文档问答的精度丢失问题

标签:#LlamaIndex #RAG #NLP #向量数据库 #递归检索 #架构设计


📉 前言:Naive RAG 的“断章取义”之痛

基础 RAG(Naive RAG)最大的问题在于“检索单元 = 生成单元”
你为了检索精准,把 Chunk 切得很小(比如 256 tokens)。但当这些碎片喂给 LLM 时,它们就像拼图的碎片,失去了原本的层级关系父级上下文

LlamaIndex 的解法是解耦:

  • 检索时:用小切片(精度高)。
  • 生成时:给 LLM 看大切片或父文档(上下文全)。

这就是Advanced RAG的核心。


🏗️ 一、 架构原理:从小到大的“递归”

我们要构建一种Parent-Child(父子节点)的索引结构。

  1. 层级索引 (Hierarchical Indexing):将文档切成不同层级。例如,一级节点是“整章”,二级节点是“段落”,三级节点是“句子”。
  2. 递归检索 (Recursive Retrieval):检索时先找到最匹配的“子节