RAGFlow 系列教程 第15课:RAPTOR -- 递归抽象树检索
系列: RAGFlow v0.25.0 深度解读
作者: 耿雨飞
前置知识: 第10课(文档解析)、第12课(混合检索)、第14课(GraphRAG)
导读
在前面的课程中,我们学习了 RAGFlow 的分块策略和混合检索引擎。标准 RAG 管线将文档切分为相对独立的分块,然后通过向量相似度或全文匹配来检索最相关的分块。这种方式在回答"某段落提到了什么"这类局部问题时效果良好,但遇到"请总结这篇文档的核心观点"或"A 和 B 两个章节的结论有何矛盾"这类需要跨多个分块综合信息的问题时,单分块检索就显得力不从心了。
RAPTOR(Recursive Abstractive Processing for Tree-Organized Retrieval)通过对文档分块进行层次化聚类和递归摘要,构建从原始分块到高层抽象的摘要树。查询时,RAPTOR 生成的摘要分块与原始分块一起参与检索,使系统能够同时命中细节级和主题级的信息。
本课将深入分析 RAGFlow 中 RAPTOR 的完整实现,包括核心算法(UMAP 降维 + GMM 聚类 + BIC 最优聚类数选择)、LLM 递归摘要生成、两种作用域模式(file/kb),以及与 GraphRAG 的互补关系。
学习目标
- 理解 RAPTOR 算法解决的问题:跨分块综合信息检索的局限性
- 掌握 RAPTOR 的核心算法流程:UMAP 降维 → GMM 聚类 → BIC 选择最优 K → LLM 摘要 → 递归
