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 全链路回顾

离线建库(W1-2) 读 D3 切 D4 嵌 D6 存索引 D7-9 在线查询(W3) 检索 D11 精排 D14 合成 D13 ✅答案 进阶(W4):Workflow D16 编排 → Agent D17 用工具(RAG 成为工具)→ 多轮记忆 D18 → 观测评估 D19
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

设计智慧(可迁移到你的项目)

  1. 一切皆 Node + 统一 TransformComponent:数据用 Node 表达,处理步骤都是"输入 Node、输出 Node",可任意组合成管道。
  2. 接口统一、实现可换:Reader/Embedding/VectorStore/Retriever/LLM 都是抽象接口 + 多实现——换后端只换一行。
  3. 两阶段思想:离线建库 + 在线查询分离;粗检索 + 精排(rerank)分离。
  4. 版本化缓存:用内容 hash 做键,变了才失效——省嵌入/LLM 钱。
  5. 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 效果不好时,按这个顺序排查(对应本课各天):

  1. 切块(D4):chunk_size/overlap 合适吗?切碎了语义?
  2. 嵌入模型(D6):适合你的语言/领域吗?
  3. 检索(D9/11):top_k 够吗?要不要混合检索/rerank(D14)?
  4. 提示词(D14):QA 提示引导对了吗?加"没有就说不知道"?
  5. 合成模式(D13):compact/tree_summarize 选对了?
  6. 用评估验证(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 等,你已建立跨框架的工程心智。感谢跟到最后!
← Day 19 返回总目录 →