LlamaIndex 检索器模式详解
在 LlamaIndex 中,检索器模式(retriever_mode)是一个重要的配置选项,它决定了如何从索引中检索数据。不同的索引类型支持不同的检索器模式,本文将详细介绍各种索引类型及其对应的检索器模式。
向量索引(Vector Index)
对于向量索引,指定 retriever_mode
没有任何效果,会被 silently ignored。无论你如何配置,vector_index.as_retriever(...)
总是返回一个 VectorIndexRetriever
。
vector_retriever = vector_index.as_retriever()
摘要索引(Summary Index)
摘要索引支持多种检索器模式:
- default: 使用
SummaryIndexRetriever
- embedding: 使用
SummaryIndexEmbeddingRetriever
- llm: 使用
SummaryIndexLLMRetriever
summary_retriever_default = summary_index.as_retriever(retriever_mode="default")
summary_retriever_embedding = summary_index.as_retriever(retriever_mode="embedding")
summary_retriever_llm = summary_index.as_retriever(retriever_mode="llm")
树索引(Tree Index)
树索引支持以下几种检索器模式:
- select_leaf: 使用
TreeSelectLeafRetriever
- select_leaf_embedding: 使用
TreeSelectLeafEmbeddingRetriever
- all_leaf: 使用
TreeAllLeafRetriever
- root: 使用
TreeRootRetriever
tree_retriever_select_leaf = tree_index.as_retriever(retriever_mode="select_leaf")
tree_retriever_select_leaf_embedding = tree_index.as_retriever(retriever_mode="select_leaf_embedding")
tree_retriever_all_leaf = tree_index.as_retriever(retriever_mode="all_leaf")
tree_retriever_root = tree_index.as_retriever(retriever_mode="root")
关键词表索引(Keyword Table Index)
关键词表索引支持以下几种检索器模式:
- default: 使用
KeywordTableGPTRetriever
- simple: 使用
KeywordTableSimpleRetriever
- rake: 使用
KeywordTableRAKERetriever
keyword_retriever_default = keyword_table_index.as_retriever(retriever_mode="default")
keyword_retriever_simple = keyword_table_index.as_retriever(retriever_mode="simple")
keyword_retriever_rake = keyword_table_index.as_retriever(retriever_mode="rake")
知识图谱索引(Knowledge Graph Index)
知识图谱索引支持以下几种检索器模式:
- keyword: 使用
KGTableRetriever
- embedding: 使用
KGTableRetriever
- hybrid: 使用
KGTableRetriever
kg_retriever_keyword = kg_index.as_retriever(retriever_mode="keyword")
kg_retriever_embedding = kg_index.as_retriever(retriever_mode="embedding")
kg_retriever_hybrid = kg_index.as_retriever(retriever_mode="hybrid")
文档摘要索引(Document Summary Index)
文档摘要索引支持以下几种检索器模式:
- llm: 使用
DocumentSummaryIndexLLMRetriever
- embedding: 使用
DocumentSummaryIndexEmbeddingRetrievers
doc_summary_retriever_llm = doc_summary_index.as_retriever(retriever_mode="llm")
doc_summary_retriever_embedding = doc_summary_index.as_retriever(retriever_mode="embedding")
总结
通过本文的介绍,你应该对 LlamaIndex 中不同索引类型的检索器模式有了清晰的了解。根据你的具体需求选择合适的检索器模式,可以大大提高数据检索的效率和准确性。希望这些信息对你在使用 LlamaIndex 时有所帮助!
如果你有任何问题或需要进一步的帮助,请随时在评论区留言。