工具调用[LlamaIndex检索增强]速答 · 约 5 分钟更新 2026-09-28

LlamaIndex 的高级检索有哪些玩法?索引结构怎么选?

一句话结论

回答分两部分,高级检索主要依靠递归、自动合并、句子窗口和多路复用等机制解决上下文割裂问题;索引结构选型遵循普通问答用向量、全局汇总用树图、复杂文档用路由的原则。

先这样答

LlamaIndex 的高级检索通过解耦块的检索与生成来保留上下文,核心玩法包括递归检索、自动合并检索、句子窗口检索和多路复用。在索引选型上,需根据业务是普通问答、全局汇总还是复杂意图,在向量、树、图或路由索引间做取舍。

高级检索的几种模式各有侧重。递归检索建立父子节点关系,检索小粒度子块,但在生成时回填其所属父块。自动合并检索会在多个相邻小块被命中时触发机制,将其组合成连贯大块。句子窗口检索以单句为单位进行匹配,命中后向前后扩展固定数量的句子作为上下文。这三种方式均用于平衡召回精度与生成语境。多路复用则是将向量与关键词检索混合,通过不同通道相互补充。

索引结构的选型取决于查询目标与文档特征。向量索引是默认结构,适合依靠语义相似度匹配的普通问答。若场景偏向全局汇总或层级问答,需要提炼跨文档观点,树索引通过层次摘要路由的方式更为合适。对于处理明确实体关联的场景,可使用知识图谱索引。当面对结构差异大的文档库,或用户提问意图多样时,可将上述索引组合成路由器,让系统按问题特征动态选择匹配的索引。

在实际工程中,通常以向量索引配合句子窗口为基础方案,遇到长文本理解或多文档复杂查询时,再按需引入路由机制和层次结构。

面试官会怎么追问

  • 「如果文档里既有产品手册又有财务报表,路由索引具体是怎么工作的?」 路由索引会在底层建立多个子索引,比如为产品手册建立向量索引,为财务报表建立树索引。顶层部署路由器,当用户提问时,路由器分析问题特征,将普通查询分配给向量索引,将汇总数据的查询分配给树索引。
  • 「句子窗口和自动合并检索在应用场景上有什么区别?」 句子窗口适合事实类问答,以单句为核心,命中后向外扩展少量句子,提供精准局部上下文。自动合并检索适合理解段落逻辑的场景,当多个相邻小块命中时合并成大块。前者控制粒度细,后者整合分散信息能力强。
  • 「什么时候必须用树索引而不能只用向量索引?」 当查询涉及全局摘要或跨越多个章节的总结时,必须使用树索引。向量索引仅针对局部相似度匹配,难以拼接全局视角的完整信息。树索引通过构建层次化摘要节点,能够自上而下路由查询,适合处理宏观视角提问。

回答的坑

  • 认为所有检索只能依赖向量索引,正确方向是说明在全局汇总等场景下需结合树索引、知识图谱或路由机制。
  • 将高级检索等同于增加召回数量,正确方向是强调其核心在于解耦匹配与生成,在保证小粒度命中的同时补全上下文。
—— 本题完 ——