LlamaIndex 支持的索引类型
根据 LlamaIndex 框架的文档和最新版本,主要支持以下几大类索引类型:
1. 基础索引类型
| 索引类型 | 说明 |
|---|---|
| VectorStoreIndex(向量存储索引) | 最核心、最常用的索引类型。将文档拆分为节点(Node)后,通过嵌入模型将节点转为向量,存入向量数据库,查询时基于语义向量相似度检索。支持对接 Chroma、Qdrant、Pinecone、Weaviate、Milvus 等多种向量数据库。 |
| SummaryIndex(摘要索引) | 原名 ListIndex,将所有节点按顺序视为一个列表。查询时遍历节点列表,适合需要对所有文档内容进行全局汇总的场景。 |
| TreeIndex(树索引) | 采用树状层次结构组织文档。将文档节点自底向上逐层构建摘要,查询时从根节点向叶子节点遍历,适合大规模文档的分层检索。 |
| KeywordTableIndex(关键词表索引) | 从每个节点提取关键词,建立"关键词 → 节点"的映射表。查询时先匹配关键词,再检索对应节点,适合精确关键词匹配的场景。 |
2. 高级索引类型
| 索引类型 | 说明 |
|---|---|
| KnowledgeGraphIndex(知识图谱索引) | 从文档中提取(实体, 关系, 实体)三元组,构建知识图谱。查询时支持图谱遍历和推理,适合关系密集型问答。 |
| PropertyGraphIndex(属性图索引) | 在知识图谱基础上支持节点和边上附加属性信息,更加灵活,适合复杂实体关系建模。 |
| DocumentSummaryIndex(文档摘要索引) | 为每篇文档生成摘要嵌入,先基于摘要做粗筛,再针对匹配的文档做细粒度检索,适合长文档的高效检索。 |
| MultiModalVectorStoreIndex(多模态向量索引) | 支持文本和图像的跨模态检索。文本和图像分别嵌入后存入同一向量空间,实现以文搜图、以图搜文等能力。 |
3. 专用索引类型
| 索引类型 | 说明 |
|---|---|
| SQL Index(SQL 索引) | 将自然语言查询转为 SQL,对接结构化数据库,实现 NL2SQL 功能。 |
| ComposableGraph(可组合图) | 允许在已有索引之上构建新的索引,形成多级索引结构。例如先用 KeywordTableIndex 做路由,再在匹配的分支上用 VectorStoreIndex 做精细检索。 |
4. 索引选择建议
场景 推荐索引
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
通用语义搜索 → VectorStoreIndex
全局摘要 / 邮件汇总 → SummaryIndex (ListIndex)
大规模文档分层检索 → TreeIndex
关键词精确匹配 → KeywordTableIndex
关系推理 / 知识问答 → KnowledgeGraphIndex
长文档高效检索 → DocumentSummaryIndex
图文跨模态检索 → MultiModalVectorStoreIndex
结构化数据库查询 → SQL Index
多级路由检索 → ComposableGraph
Agent 工具/函数检索 → ObjectIndex
⚠️ 版本注意事项
随着 LlamaIndex 版本迭代(尤其是 v0.10+ 大版本重构后),部分索引类的导入路径和使用方式有所变化。例如:
ListIndex→ 更名为SummaryIndexGPTSimpleKeywordTableIndex→ 简化为KeywordTableIndexGPTTreeIndex→ 简化为TreeIndex
建议始终参考你当前使用版本的官方文档 API 来确认正确的类名和导入路径。
评论区