LlamaIndex 全面学习提纲
依据 LlamaIndex 官方文档(developers.llamaindex.ai/python/framework)整理,按「认知 → 核心组件 → 高级能力 → 生产落地 → 生态扩展」递进编排。每个模块标注官方文档路径,可对照原文学习。
学习主线:先用 5 行代码跑通 RAG → 逐层拆解六大核心组件 → 进阶 Agent/Workflow → 学会评估与部署 → 扩展到 LlamaCloud 与生态。
阶段 0|入门准备(Getting Started)
- 0.1 理解 LlamaIndex 定位
- Context-Augmented LLM Applications(上下文增强)框架:把「你的数据」通过索引/检索交给 LLM
- 三大核心概念:Agents(LLM 驱动的知识助手)、Workflows(事件驱动多步骤流程)、Context Augmentation(RAG 是其中最流行的一种)
- 官网给出的能力清单:Data Connectors、Data Indexes、Engines(Query/Chat)、Agents、Observability/Evaluation、Workflows
- 0.2 高层概念(High-Level Concepts)
- 必懂术语:Document、Node、Index、Retriever、QueryEngine、ChatEngine、Agent、Workflow、Settings
- 文档路径:developers.llamaindex.ai/python/fram…
- 0.3 安装与配置
pip install llama-index(核心包)、按需安装llama-index-llms-openai等集成包- 环境变量:
OPENAI_API_KEY等
- 0.4 5 行代码入门(Starter Tutorial)
- 用 OpenAI 的快速入门:加载文档 → 建索引 → 查询
- 用本地 LLM(Ollama / llama.cpp)的快速入门
- 0.5 阅读文档的方法与 FAQ
- 先看「Building an LLM application」系列,再看 Component Guides 查细节
- 常见问题速查
- 0.6 Python 异步编程基础(Async Programming)
- LlamaIndex 大量使用 async/await,需掌握事件循环与并发写法
阶段 1|核心概念与整体架构(Understanding)
- 1.1 RAG 五阶段全景(Introduction to RAG)
- Loading(加载):从文件/API/数据库把数据取进系统
- Indexing(索引):构建便于 LLM 查询的数据结构
- Storing(存储):向量库/文档库/索引元数据持久化
- Querying(查询):检索 + 合成答案
- Evaluating(评估):衡量准确率/相关性/忠实度
- 1.2 使用 LLM(Using LLMs)
- 远程 API 与本地模型两种路线
- 数十种受支持 LLM 一览
- 1.3 构建 Agent(Building Agents)
- 单 Agent:FunctionAgent 快速上手
- 使用现成工具(Tools)
- 状态维护(State)
- 流式输出与事件(Streaming)
- 人在回路(Human-in-the-loop)
- 多智能体协作(AgentWorkflow / Multi-agent)
- 1.4 构建 Workflow(Building Workflows)
- 简单 Workflow:
Workflow类 +@step+StartEvent/StopEvent - 循环与分支(Looping and Branching)
- 并发执行(Concurrent Execution)
- 流式事件(Streaming Events)
- 有状态 Workflow(Stateful Workflows)
- 可观测性(Observability)
- 简单 Workflow:
- 1.5 给 Agent 加 RAG
- 加载与摄入(Ingestion)、索引与嵌入(Embedding)、存储、查询
- 与阶段 3/4/5 联动理解
- 1.6 结构化数据抽取(Structured Data Extraction)
- 使用结构化 LLM、结构化预测、底层抽取
- 1.7 追踪调试与评估
- Tracing and Debugging、Evaluating、Cost Analysis
- 1.8 组装完整应用(Putting It All Together)
- Full-Stack Web App、Chatbot、Q&A、Structured Data
- 1.9 隐私与安全(Privacy and Security)
阶段 2|模型层:LLM / Embeddings / Prompts(Models)
- 2.1 LLM 使用
- 独立使用 LLM(
llm.complete()/llm.chat()) - 在 LlamaIndex 抽象中自定义/切换 LLM(
Settings.llm) - 本地模型:Ollama、LlamaCPP、llamafile、LM Studio 等
- 主流集成:OpenAI、Anthropic、Gemini、Azure OpenAI、Bedrock、Groq、DeepSeek、Mistral、LiteLLM、OpenRouter 等
- 独立使用 LLM(
- 2.2 Embeddings
- 概念与使用(
Settings.embed_model) - 集成:OpenAI、HuggingFace、Ollama、VoyageAI、Cohere、Jina 等
- 自定义 Embedding
- 概念与使用(
- 2.3 多模态模型(Multi-modal Models)
- 图像/音频等非文本输入处理
- 2.4 Prompts
- 默认提示词模板结构(QA、Refine、Summary 等)
- Prompt 自定义与模板变量
- 使用模式:developers.llamaindex.ai/python/fram…
- 2.5 Rerankers(重排序模型)
- 用于查询后精排检索结果,提升精度
阶段 3|数据加载与摄入(Loading / Ingestion)
- 3.1 Documents 与 Nodes
- Document 定义、元数据(metadata)与自定义
- Node 定义与自定义
- 文档:developers.llamaindex.ai/python/fram…
- 3.2 SimpleDirectoryReader
- 最常用的本地文件加载器(txt/md/pdf/docx 等)
- 3.3 Data Connectors(数据连接器)
- LlamaHub 数百个连接器:数据库、API、云存储、SaaS 等
- 使用 LlamaParse 解析复杂文档
- 3.4 Node Parsers / Text Splitters(切分器)
- SentenceSplitter、TokenTextSplitter 等
- 按语义/结构切分文档成 Node
- 模块列表:developers.llamaindex.ai/python/fram…
- 3.5 Ingestion Pipeline(摄入管道)
- Transformations:加载 → 解析 → 切分 → 嵌入 → 入库的端到端流水线
- 增量摄入与缓存
- 3.6 从 LlamaCloud 加载(Loading from LlamaCloud)
阶段 4|索引与存储(Indexing & Storing)
文档路径:
- Indexing: developers.llamaindex.ai/python/fram…
- Storing: developers.llamaindex.ai/python/fram…
- 4.1 Index 类型与原理(How Each Index Works)
- VectorStoreIndex(向量索引,最常用,重点掌握)
- SummaryIndex(摘要索引)
- TreeIndex(树索引)
- KeywordTableIndex(关键词索引)
- PropertyGraphIndex(属性图索引 / GraphRAG)
- KnowledgeGraphIndex(知识图谱索引)
- 4.2 文档管理(Document Management)
- 插入、删除、更新文档;增量索引维护
- 4.3 元数据抽取(Metadata Extraction)
- 用 LLM 自动抽取文档元数据(标题、实体、关键词等)
- 4.4 Vector Stores(向量数据库)
- 常用:Chroma、Pinecone、Qdrant、Weaviate、Milvus、PGVector、FAISS、Elasticsearch 等
- 自定义向量存储
- 使用指南:developers.llamaindex.ai/python/fram…
- 4.5 其他存储
- Document Stores(文档存储)、Index Stores(索引元数据)、Key-Value Stores、Chat Stores(聊天记忆)
- 4.6 持久化与加载(Persisting & Loading)
index.storage_context.persist()与重建索引
阶段 5|查询与检索(Querying)
- 5.1 Retriever(检索器)
- 概念与 Retriever Modes(不同索引对应的检索模式)
- 常用模块:VectorIndexRetriever、SummaryRetriever、BM25Retriever、GraphRetriever 等
- 5.2 Query Engine(查询引擎)
- RetrieverQueryEngine 基础用法
- 高级引擎:RouterQueryEngine(路由)、SubQuestionQueryEngine(子问题)、SQLQueryEngine(SQL)、JSONQueryEngine 等
- Response Modes(refine / compact / tree_summarize 等)
- Streaming(流式输出)
- 5.3 Node Postprocessors(后处理器)
- 相似度过滤、TopK 截断、Rerank(CohereRerank、LLMRerank 等)
- 5.4 Response Synthesizers(响应合成器)
- 如何把检索结果 + 提示词合成最终答案
- 5.5 Chat Engine(聊天引擎)
- 多轮对话、上下文记忆
- Chat Store 与 Memory
- 5.6 Structured Outputs(结构化输出)
- Pydantic Program 定义输出 Schema
- Output Parsing 模块
- 使查询结果可直接进 API/数据库
- 5.7 Text-to-SQL 与表格查询
- 用自然语言查数据库 / CSV / Excel
阶段 6|Agent 智能体(核心进阶)
文档路径:
- 6.1 Agent 类型与选择
- FunctionAgent:函数/工具调用型单 Agent
- AgentWorkflow:多 Agent 编排器(handoff 机制)
- 底层 AgentRunner(可选深挖)
- 6.2 Tools(工具)
- FunctionTool:把任意 Python 函数变成工具
- QueryEngineTool:把 RAG/查询引擎封装成工具
- 内置工具集与自定义工具
- 模块指南:developers.llamaindex.ai/python/fram…
- 6.3 Memory(记忆)
- 对话记忆管理:ChatMemoryBuffer、向量记忆等
- 6.4 状态与流式
- Agent 状态维护、Streaming 输出与事件
- 6.5 人在回路(Human-in-the-loop)
- InputRequiredEvent 等机制让 Agent 向用户请求输入
- 6.6 多智能体模式(Multi-agent)
- 多 Agent 协作、任务分发、结果汇聚
- 官方示例:多 Agent 报告生成、Weaviate QueryAgent 等
阶段 7|Workflow 工作流(底层编排)
文档路径:
- 7.1 Workflow 核心机制
- Event(事件)、Step(步骤)、Context(上下文)
StartEvent/StopEvent、@step装饰器、类型注解驱动路由
- 7.2 控制流模式
- 循环(Reflection 反思模式)、分支、条件路由
- 并行执行(多个事件同时触发多个 step)
- 7.3 状态管理
Context与ctx.store共享数据
- 7.4 流式事件与可观测性
- 向用户推送流式事件;Workflow 的 tracing/debugging
- 7.5 实战 Workflow 示例
- Function Calling Agent Workflow、RAG with Reranking Workflow、Workflows Cookbook
- 7.6 为什么用 Workflow 而非 DAG
- 对比理解:循环/分支/数据传递的天然表达
阶段 8|评估、成本与可观测性(Evaluation & Observability)
文档路径:
- Evaluation: developers.llamaindex.ai/python/fram…
- Observability: developers.llamaindex.ai/python/fram…
- 8.1 评估体系
- 评估维度:Correctness(正确性)、Relevancy(相关性)、Faithfulness(忠实度)等
- Evaluators 使用(LLM 作为裁判)
- 检索评估(Retrieval Evaluation)与响应评估(Response Evaluation)
- 8.2 LlamaDatasets(标准化数据集)
- LabelledRagDataset / LabelledEvaluatorDataset
- 用开源数据集做基准测试
- 8.3 成本分析(Cost Analysis)
- Token 用量统计、调用成本估算、Usage Pattern
- 8.4 追踪与调试(Tracing & Debugging)
- 集成:Arize Phoenix、OpenTelemetry、AgentOps、Langfuse 等
- 8.5 Instrumentation 与 Callbacks
- 埋点、事件回调、Token 计数迁移指南
阶段 9|实战用例与生产落地(Use Cases / Production)
文档路径:
- Use Cases: developers.llamaindex.ai/python/fram…
- Putting It All Together: developers.llamaindex.ai/python/fram…
- 9.1 典型用例逐个实现
- 问答(RAG)系统、Chatbot、Agents
- 结构化数据抽取、多模态应用
- 图查询(Querying Graphs)、Text-to-SQL、CSV 查询、表格图表解析
- 微调(Fine-tuning)提升效果、Prompting 优化
- 9.2 全栈 Web 应用
- create-llama 脚手架
- FastAPI/后端 + 前端集成
- 9.3 部署(Deploying)
- Agentic Workflow 部署为微服务
- 生产环境注意事项(安全、隐私、性能)
- 9.4 隐私与安全
- 数据隔离、权限控制、合规处理
阶段 10|LlamaCloud 托管服务
- 10.1 LlamaParse(文档解析)
- 企业级文档解析:复杂表格、图表、扫描件 → Markdown/结构化数据
- 10.2 LlamaExtract(结构化抽取)
- 按 Schema 从任意文档抽取结构化数据
- 10.3 LlamaClassify(文档分类)
- 10.4 LlamaCloud Index(托管 RAG)
- 免运维摄入管道、可扩展检索;
LlamaCloudIndex+LlamaCloudRetriever接入开源框架
- 免运维摄入管道、可扩展检索;
- 10.5 LlamaAgents(托管 Agent)
- 云端部署与运行 Agentic 应用
阶段 11|高级主题与生态(Advanced & Ecosystem)
- 11.1 Settings 全局配置
- 从 ServiceContext 迁移到 Settings;统一配置 llm / embed_model / 回调
- 文档:developers.llamaindex.ai/python/fram…
- 11.2 MCP(Model Context Protocol)
- 用 LlamaIndex Workflows/Tools 对接 MCP
- 使用 MCP 工具、转换现有工具为 MCP
- 文档:developers.llamaindex.ai/python/fram…
- 11.3 Llama Packs(即用模板包)
- 一键加载完整应用模板:developers.llamaindex.ai/python/fram…
- 11.4 自定义组件
- 自定义 Reader / Retriever / LLM / Embedding / Node Parser
- 11.5 社区资源
- Full-Stack Projects、Integrations 目录、GitHub 开源仓库
- 11.6 版本与迁移
- 关注 Release Notes 与 Deprecation(如 ServiceContext → Settings、旧 Agent API 迁移)
建议学习路线(速查)
| 阶段 | 主题 | 目标产出 |
|---|---|---|
| 0-1 | 概念 + 5 行代码 | 跑通第一个 RAG 问答 |
| 2 | 模型层 | 能自由切换 LLM/Embedding |
| 3-4 | 加载 + 索引 + 存储 | 建出可复用的知识库 |
| 5 | 查询 | 掌握检索→重排→合成全链路 |
| 6 | Agent | 做出能调用工具的助手 |
| 7 | Workflow | 编排多步骤复杂应用 |
| 8 | 评估 | 学会量化改进效果 |
| 9-10 | 实战 + LlamaCloud | 交付生产级应用 |
| 11 | 生态扩展 | 按需深入 |
学习提示:每个阶段配一个最小可运行示例,先「照着跑通」再「拆开理解」,最后「改造成自己的场景」。