LlamaIndex 介绍
什么是 LlamaIndex?
LlamaIndex(原名 GPT Index)是一个专门为大语言模型(LLM)连接外部数据而设计的开源框架。
如果说:
LangChain 更偏向于 AI 应用流程编排(Workflow)
LangGraph 更偏向于复杂 Agent 状态机
LlamaIndex 则更专注于数据层(Data Layer)
官方将它定位为:
The data framework for your LLM applications.
简单来说,它解决的是:
如何让大模型高效、安全、准确地访问企业知识。
为什么需要 LlamaIndex?
大模型本身存在几个天然问题:
不知道你的私有数据
无法实时获取最新知识
上下文窗口有限
幻觉(Hallucination)
例如:
用户问:
我们公司的请假制度是什么?
GPT 并不知道。
这时候需要:
企业文档
↓
解析
↓
切分 Chunk
↓
Embedding
↓
向量数据库
↓
检索
↓
LLM
这就是 RAG。
而 LlamaIndex 就是整个流程里的数据中间层。
LlamaIndex 的整体架构
User
│
Query Engine
│
Retriever Engine
│
Index(各种索引结构)
│
Document Processing
│
Reader → Parser → Chunk → Metadata
│
PDF Word Excel SQL API Git
│
Enterprise Data
它几乎覆盖了 RAG 的整个数据生命周期。
LlamaIndex 的核心模块
1. Data Connector(数据连接器)
负责读取各种数据源。
支持:
PDF
Word
Excel
Markdown
HTML
SQL
MySQL
PostgreSQL
MongoDB
Notion
Slack
Jira
GitHub
Google Drive
S3
Azure Blob
Elasticsearch
几乎所有主流企业知识库都有对应 Reader。
2. Document Loader
例如:
PDF
↓
Document
↓
Node
Document 会被解析成统一格式。
Node 是后续 Index 的最小单位。
3. Node Parser
最重要的一步。
负责:
文章
↓
Chunk1
Chunk2
Chunk3
Chunk4
支持:
固定长度切分
语义切分
标题切分
Markdown切分
HTML切分
Code切分
甚至支持:
Auto Merging。
4. Metadata
LlamaIndex 很强调 Metadata。
例如:
标题
作者
日期
标签
部门
权限
来源
URL
语言
检索时可以:
部门=研发
AND
年份=2025
AND
作者=张三
这是企业 RAG 非常重要的一部分。
5. Embedding
支持:
OpenAI
Gemini
Voyage AI
BGE
E5
Jina AI
Nomic
HuggingFace
本地模型
Embedding 可以自由替换。
6. Index(索引)
这是 LlamaIndex 最大特色。
不是只有 Vector Index。
支持很多 Index。
例如:
Vector Store Index
最常见。
Document
↓
Embedding
↓
Vector DB
适合:
95% 的 RAG。
Tree Index
Document
↓
Chunk
↓
Summary
↓
Summary
↓
Root
适合:
长文总结。
Keyword Index
关键词倒排索引。
类似:
ElasticSearch
适合:
关键词搜索。
Knowledge Graph Index
以前非常流行。
自动抽取:
人物
地点
组织
关系
形成:
A
↓
works_at
↓
B
不过现在使用率已经下降。
Summary Index
所有 Chunk 顺序扫描。
适合:
生成整体摘要。
Retriever(检索器)
Retriever 是整个系统最重要的部分。
支持:
Top-K
MMR
Hybrid Search
BM25
Dense Retrieval
Sparse Retrieval
Auto Retriever
Router Retriever
Recursive Retriever
Fusion Retriever
例如:
Fusion:
BM25
+
Vector
+
Knowledge Graph
↓
Merge
↓
Rank
↓
LLM
Query Engine
Retriever 的上一层。
负责:
Question
↓
Retrieve
↓
Post Process
↓
Rerank
↓
LLM
↓
Answer
它已经把很多流程封装好了。
Response Synthesizer
负责:
多个 Chunk:
Chunk1
Chunk2
Chunk3
如何生成最终答案。
支持:
Refine
Compact
Tree Summarize
Simple Summarize
Chat Engine
支持:
Memory
+
History
+
Retriever
+
LLM
可以直接做:
聊天机器人。
Agent
新版 LlamaIndex Agent 已经越来越成熟。
支持:
Tool Calling
Workflow
Planning
Reflection
Memory
现在官方也开始重点投入 Agent 能力。
Workflow(新版重点)
近一年 LlamaIndex 的重点方向已经从单纯 RAG 转向 Workflow。
例如:
开始
↓
查询知识库
↓
判断结果
↓
调用SQL
↓
调用API
↓
生成报告
↓
结束
有点类似 LangGraph,但更加轻量。
支持的向量数据库
几乎支持所有主流 Vector Database:
Pinecone
Milvus
Weaviate
Qdrant
Chroma
FAISS
Elasticsearch
PostgreSQL(pgvector)
Redis
Vespa
LlamaIndex 的优势
LlamaIndex 与 LangChain、LangGraph 的区别
适合哪些场景?
LlamaIndex 特别适合以下场景:
企业知识库问答(RAG)
PDF、Office 文档智能检索
私有数据聊天机器人
多源数据统一搜索
法律、金融、医疗等专业知识检索
智能客服
企业文档摘要与报告生成
SQL + 文档混合查询
AI Copilot
总结
LlamaIndex 可以理解为 LLM 应用的数据基础设施。它专注于让大模型高效连接企业数据,提供从数据接入、文档解析、切分、索引、检索到答案生成的完整能力。对于以知识库、RAG 和企业数据为核心的 AI 应用,它通常是最成熟的选择之一;而在需要复杂多智能体协作、长流程编排时,则常与 LangGraph 或 LangChain 结合使用,形成“LlamaIndex 负责数据,LangGraph 负责流程,LLM 负责推理”的组合架构。