Day 20 / 共 20 天 · 第 4 周 Agent/Workflow/生态
部署与收官串讲
恭喜读完 LlamaIndex!今天讲部署、回顾四周主线、总结设计智慧、给出 RAG 调优清单、和你学过的其他框架对比,画上圆满句号。
📍 你在整条链的位置:全部走完 🎉
读切嵌存 ✅→
检索合成 ✅→
Agent/Workflow ✅→
收官串讲
L01
core vs integrations
💡 生产应用 = core + 你选的几个 integration
回顾 Day 01:
llama-index-core(骨架 + 抽象接口,本课主角)+ 300+ integrations(各家具体实现)。📝 一个真实项目的配方
→ 想换通义?只改中间两行,业务代码不动。
core + llms-openai + embeddings-openai + vector-stores-qdrant + readers-file→ 想换通义?只改中间两行,业务代码不动。
"学骨架而非记 API"的价值
core 定义了所有抽象接口和主流程——把 core 吃透,300 个集成一通百通(它们只是"填空"某个抽象)。这就是本课只读 core 的原因。
L02
部署形态
- 脚本/Notebook:原型(Simple* 内存后端,Day 08)。
- API 服务:FastAPI 包成 HTTP 服务,向量库换 Qdrant/Chroma 持久化。
- llama_deploy / LlamaAgents:把 Workflow/Agent 部署成微服务。
- LlamaCloud / LlamaParse:官方托管平台(企业级解析/索引)。
读法:从 Notebook 原型到生产服务,主要变化是"换持久化后端 + 包成服务"——代码逻辑不变(Day 08 的可插拔后端)。
L03
RAG 全链路回顾
RAG 全链路:离线建库(W1-2) + 在线查询(W3) + 进阶智能体(W4)。每格标了教学日——和 Day 01 的图首尾呼应。
L04
四周主线
- W1 RAG 全景与摄入:RAG 五步 → Node → Reader → 切块 → Ingestion 管道
- W2 索引/嵌入/存储:嵌入(向量) → VectorStoreIndex → 三件套 → 向量检索 → 其他索引
- W3 检索与查询:Retriever → QueryEngine → 合成 → 后处理/提示词 → LLM
- W4 Agent/Workflow/生态:Workflow → Agent → 聊天记忆 → 可观测评估
L05
设计智慧(可迁移到你的项目)
- 一切皆 Node + 统一 TransformComponent:数据用 Node 表达,处理步骤都是"输入 Node、输出 Node",可任意组合成管道。
- 接口统一、实现可换:Reader/Embedding/VectorStore/Retriever/LLM 都是抽象接口 + 多实现——换后端只换一行。
- 两阶段思想:离线建库 + 在线查询分离;粗检索 + 精排(rerank)分离。
- 版本化缓存:用内容 hash 做键,变了才失效——省嵌入/LLM 钱。
- Workflow 事件驱动:把复杂控制流(Agent 多步循环)表达成事件流。
和你学过的项目一脉相承
"统一接口+可插拔"你在 APISIX/Higress/wasm-go 都见过;"缓存换性能""事件驱动"和 langgraph 呼应。好框架的设计原则是相通的——抽象稳定接口、把变化关进插件、用缓存换性能、用统一数据模型串流程。
L06
和其他框架对比
| 框架 | 定位 | 和你学过的关系 |
|---|---|---|
| LlamaIndex | 数据+RAG 专精,Agent 用 Workflow | 本课 |
| LangChain | 通用 LLM 编排,全 | Day 01 对比过 |
| langgraph | 图编排(对标 Workflow) | 你做过 20 天 |
| crewAI | 多智能体协作(对标 AgentWorkflow) | 你做过 20 天 |
跨框架的心智模型才最值钱
不管哪个框架,核心都是那几样:数据接入、检索、LLM 调用、多步编排、Agent、记忆、可观测。名字/API 不同,概念一致。你学了这么多项目,已建立"跨框架心智模型"——看新框架能快速映射到已知概念。这比记住某个 API 值钱得多。
L07
RAG 调优清单(最实用的一页)
RAG 效果不好时,按这个顺序排查(对应本课各天):
- 切块(D4):chunk_size/overlap 合适吗?切碎了语义?
- 嵌入模型(D6):适合你的语言/领域吗?
- 检索(D9/11):top_k 够吗?要不要混合检索/rerank(D14)?
- 提示词(D14):QA 提示引导对了吗?加"没有就说不知道"?
- 合成模式(D13):compact/tree_summarize 选对了?
- 用评估验证(D19):分段测检索/生成,定位哪弱。
💡 经验法则
检索质量 > 提示词 > 合成/模型——先保证"检索到对的内容"(切块+嵌入+检索+rerank),再优化"怎么用内容答"(提示词+合成)。用评估客观验证每次改动。
L08
毕业 + 动手
🎓 20 天后,你已经能
- 说清 RAG 全链路(读→切→嵌→存→检→答)的每一步和源码实现。
- 看穿"5 行 RAG"背后的所有机制,并替换其中任何一环。
- 理解 Node/Index/Retriever/QueryEngine/Synthesizer/LLM 的抽象设计。
- 掌握 Workflow/Agent,把 RAG 升级为智能体应用。
- 知道怎么可观测、评估、按清单调优一个生产级 RAG。
✋ 毕业动手:不用糖,显式搭一遍 RAG
cd /Users/bitmart/work/codes/github/llama_index
ls llama-index-core/llama_index/core/{readers,node_parser,indices,retrievers,query_engine}
# 挑战:不用 from_documents 语法糖,用显式组件搭一遍:
# Reader(D3) → SentenceSplitter(D4) → Embedding(D6) → VectorStoreIndex(D7)
# → as_retriever(D11) → RetrieverQueryEngine(D12) → query(D13)
# 你会发现每一步都能对应到本课某一天,"5 行 RAG"彻底透明了
🎉 LlamaIndex 20 天完成!你已通读一个 RAG/智能体框架的完整设计。结合你学过的 langgraph/crewAI/APISIX/Higress 等,你已建立跨框架的工程心智。感谢跟到最后!