LlamaIndex 源码学习
20 天 · 每天 30 分钟 · 逐层读懂 LlamaIndex——最流行的 RAG(检索增强生成)与智能体应用框架(Python)。它帮你把"私有数据 + 大模型"接起来:读数据 → 切块 → 向量化 → 建索引 → 检索 → 喂给 LLM 生成回答。核心是 llama-index-core + 300+ 集成插件。
开篇 · 这是个什么项目
LlamaIndex(README.md:"an open-source framework to build agentic applications")是构建 RAG 和智能体应用的开源框架。最经典的用途:让大模型"读懂你的私有文档"——把 PDF/网页/数据库喂进去,就能基于它们问答。新版还把 Workflow(事件驱动)作为 Agent 的底座。
🎯 一句话:LlamaIndex = 数据摄入(读取+切块+向量化) + 索引与存储(向量库+文档库) + 检索与查询(找相关片段+合成答案) + Agent/Workflow(让 LLM 用工具、多步推理)。它把"RAG 全流程"封装成可组合的模块。
数据摄入
读文档 → 切成 Node → 嵌入向量。
索引与存储
VectorStoreIndex + docstore/vector_store。
检索与查询
Retriever 找片段 + 合成答案。
Agent/Workflow
事件驱动的多步智能体。
llama-index-core/llama_index/core/(几十个子模块)。架构全景(动起来看)
下图那颗发光小球是"你的文档变成可问答知识、再回答问题"的旅程。从上到下:原始数据 → 摄入 → 索引存储 → 检索生成。
最经典的 RAG 心智模型是"读 → 切 → 嵌 → 存 → 检 → 答":
怎么用这份教程
每天 30 分钟
一天一个独立页面,跟着"今日小结 + 动手"收尾。
零基础友好
不假设你懂 RAG/向量/嵌入,术语首次出现都有大白话解释。
精确到行号
关键代码标 文件:行号,可在真源码里跳转对照。
llama-index-core(框架骨架),集成插件(300+)用到时点名。项目全景(RAG 框架)
LlamaIndex 是什么、RAG、core+integrations、和 LangChain 对比。
核心数据结构 Node
Document/TextNode/BaseNode、schema、关系。
读取数据 Reader
SimpleDirectoryReader、生成 Document。
切块 NodeParser
SentenceSplitter、chunk/overlap、metadata。
摄入管道 Ingestion
IngestionPipeline、transformations、缓存。
嵌入 Embeddings
BaseEmbedding、向量与相似度。
索引 Index
BaseIndex、VectorStoreIndex 构建。
存储 StorageContext
docstore/index_store/vector_store 三件套。
向量存储 VectorStore
SimpleVectorStore、query 相似度检索。
其他索引类型
Summary/KeywordTable/PropertyGraph 概览。
检索器 Retriever
BaseRetriever、VectorIndexRetriever、retrieve。
查询引擎 QueryEngine
RetrieverQueryEngine、query 端到端。
响应合成 Synthesizer
refine/compact/tree_summarize 模式。
后处理 + 提示词
postprocessor 重排/过滤 + prompts 模板。
LLM 抽象
BaseLLM、chat/complete、流式。
Workflow 引擎
事件驱动、@step、Event、Context。
Agent 智能体
FunctionAgent/ReActAgent、tools、基于 workflow。
聊天引擎 + 记忆
chat_engine、memory 多轮对话。
可观测 + 评估
callbacks/instrumentation + evaluation。
部署与收官串讲
core vs integrations + RAG 全景 + 框架对比。
✅ 全部 20 天已就绪。零基础也能跟——每个 RAG/向量/智能体概念都有大白话铺垫。