LlamaIndex 系列【17】检索器(Retriever)
文章目录1. 概述2. 基础案例2.1 快速入门2.2 高层 API2.2.1 选择检索器2.2.2 配置检索器2.3 底层组装 API3. 检索器模式retriever_mode3.1 向量索引Vector Index3.2 摘要索引Summary Index3.3 树形索引Tree Index3.4 关键词表索引Keyword Table Index3.5 知识图谱索引Knowledge Graph Index3.6 文档摘要索引Document Summary Index4. 官方指南4.1 索引检索器4.2 检索器综合指南4.2.1 高级检索与搜索4.2.2 自动检索4.2.3 知识图谱检索器4.2.4 组合检索器4.2.5 托管检索服务4.2.6 其他检索器1. 概述在RAG检索增强生成体系中检索模块是整个链路的基石其核心目标是从海量知识库中精准召回和用户问题相关的文档片段。检索技术包含关键词检索、语义检索、元数据过滤、混合检索等多种技术形态。不同检索技术有着各自适用场景、优势与短板工程落地时需要结合业务特征灵活选型、组合使用。2. 基础案例2.1 快速入门从索引获取检索器实例retrieverindex.as_retriever()根据问题检索相关上下文nodesretriever.retrieve(星云科技)print(nodes)代码输出示例[NodeWithScore(nodeTextNode(id_eb52a0de-80f5-43ed-9ec3-ad02e31b38d4,embeddingNone,metadata{file_path:D:\\java\\ai\\rag-demo\\data\\公司介绍.md,file_name:公司介绍.md,file_type:text/markdown,file_size:757,creation_date:2026-08-28,last_modified_date:2026-08-28},excluded_embed_metadata_keys[file_name,file_type,file_size,creation_date,last_modified_date,last_accessed_date],excluded_llm_metadata_keys[file_name,file_type,file_size,creation_date,last_modified_date,last_accessed_date],relationships{NodeRelationship.SOURCE:1:RelatedNodeInfo(node_id1c0ee83d-04ef-4e60-a9c0-13948a19f51b,node_type4,metadata{file_path:D:\\java\\ai\\rag-demo\\data\\公司介绍.md,file_name:公司介绍.md,file_type:text/markdown,file_size:757,creation_date:2026-08-28,last_modified_date:2026-08-28},hashad89a0a6542bc42c1af986925d02bef6e43d7714af37ec1ea4d10dcc6376fcac)},metadata_template{key}: {value},metadata_separator\n,text# 星云科技公司介绍\n\n星云科技成立于 2018 年,mimetypetext/plain,start_char_idx0,end_char_idx282,text_template{metadata_str}\n\n{content}),score0.7606410984653479),NodeWithScore(nodeTextNode(id_6cbd5a6a-bab0-4d56-a952-173a01c5c5b8,embeddingNone,metadata{file_path:D:\\java\\ai\\rag-demo\\data\\星云知识库产品说明.md,file_name:星云知识库产品说明.md,file_type:text/markdown,file_size:1045,creation_date:2026-08-28,last_modified_date:2026-08-28},excluded_embed_metadata_keys[file_name,file_type,file_size,creation_date,last_modified_date,last_accessed_date],excluded_llm_metadata_keys[file_name,file_type,file_size,creation_date,last_modified_date,last_accessed_date],relationships{NodeRelationship.SOURCE:1:RelatedNodeInfo(node_id88ac31e9-6a9b-4d14-a39c-9dec99ca3793,node_type4,metadata{file_path:D:\\java\\ai\\rag-demo\\data\\星云知识库产品说明.md,file_name:星云知识库产品说明.md,file_type:text/markdown,file_size:1045,creation_date:2026-08-28,last_modified_date:2026-08-28},hash23b6ca127ceb53cdd3399f5a3b5d9d7603330f15ceac63da063c821547b2d3da)},metadata_template{key}: {value},metadata_separator\n,text# 星云知识库产品说明,mimetypetext/plain,start_char_idx0,end_char_idx434,text_template{metadata_str}\n\n{content}),score0.6833575732977293)]2.2 高层 API2.2.1 选择检索器可以通过retriever_mode选择索引对应的专用检索器类。以摘要索引SummaryIndex为例retrieversummary_index.as_retriever(retriever_modellm,)该代码会基于摘要索引创建 SummaryIndexLLMRetriever。所有索引专属的检索模式及其映射的检索器类详见[检索器模式]。2.2.2 配置检索器同理可以传入关键字参数对选中的检索器进行配置。注意可前往对应检索器类的API文档查看构造函数支持的合法参数列表。例如选用llm检索模式时可以如下配置retrieversummary_index.as_retriever(retriever_modellm,choice_batch_size5,)2.3 底层组装 API如果你需要更精细化的控制可以使用底层组装API。想要实现和上面完全一致的效果可以直接导入并实例化目标检索器类fromllama_index.core.retrieversimportSummaryIndexLLMRetriever retrieverSummaryIndexLLMRetriever(indexsummary_index,choice_batch_size5,)3. 检索器模式retriever_mode本文展示retriever_mode配置与实际生效检索器类之间的映射关系。注意对于不同索引类型retriever_mode的含义各不相同。3.1 向量索引Vector Index设置retriever_mode不会生效静默忽略。vector_index.as_retriever(...)始终返回VectorIndexRetriever。3.2 摘要索引Summary IndexdefaultSummaryIndexRetrieverembeddingSummaryIndexEmbeddingRetrieverllmSummaryIndexLLMRetriever3.3 树形索引Tree Indexselect_leafTreeSelectLeafRetrieverselect_leaf_embeddingTreeSelectLeafEmbeddingRetrieverall_leafTreeAllLeafRetrieverrootTreeRootRetriever3.4 关键词表索引Keyword Table IndexdefaultKeywordTableGPTRetrieversimpleKeywordTableSimpleRetrieverrakeKeywordTableRAKERetriever3.5 知识图谱索引Knowledge Graph IndexkeywordKGTableRetrieverembeddingKGTableRetrieverhybridKGTableRetriever3.6 文档摘要索引Document Summary IndexllmDocumentSummaryIndexLLMRetrieverembeddingDocumentSummaryIndexEmbeddingRetrievers4. 官方指南我们正在持续新增更多专用检索教程。在此期间可查阅 API参考文档。4.1 索引检索器如需了解如何从各类索引获取检索器请参考检索器模式。如果需要直接导入对应检索器类请查看 API参考文档。4.2 检索器综合指南这里包含各类检索模块的完整教程其中大量内容覆盖高级能力自动检索、路由检索、集成检索等。4.2.1 高级检索与搜索本小节包含各类高级检索技术既有关键词检索/混合检索、重排等通用方案也有面向LLMRAG链路的大小检索、自动合并检索等专项方案。自定义检索器BM25 混合检索器基础查询融合互易重排融合自动合并检索器元数据替换可组合检索器4.2.2 自动检索这类检索技术支持半结构化查询融合语义检索与结构化过滤能力。自动检索Pinecone自动检索Lantern自动检索Chroma自动检索BagelDB自动检索Vectara多文档自动检索4.2.3 知识图谱检索器知识图谱RAG检索器4.2.4 组合检索器基于其他检索能力封装实现提供层级检索、查询拆解等高阶能力。查询融合递归表格检索递归节点检索Braintrust示例路由检索器集成检索器多文档自动检索4.2.5 托管检索服务GoogleVectaraVideoDBAmazon Bedrock4.2.6 其他检索器不属于上述分类但值得重点关注的教程多文档混合检索You 检索器文本转SQLDeepMemory (Activeloop)Pathway