RAG 课程
这是一条从原理走向工程交付的学习路径。每节课只解决一个小问题,并配有一个可验证的练习;课程最终会收敛到一个可以独立完成的 RAG 项目。
课程目标
- 能解释 embedding、相似度、ANN 索引、metadata filter 和 reranker 在链路中的职责。
- 能用 Python 搭建文档解析、切分、向量化、入库、召回、生成和引用的完整链路,并明确每一步处理的对象。
- 能建立离线评测集,用 Recall@k、MRR/nDCG、延迟和答案可引用性定位问题。
- 能针对 chunking、embedding、混合召回、重排、缓存和索引参数进行有证据的优化。
- 能区分标准 RAG 与 Agentic RAG,并把知识库检索封装成可控的 Agent 工具。
- 能独立完成一个有数据、有评测、有日志、可部署的 RAG 项目。
学习路线
| 阶段 | 主题 | 交付物 |
|---|---|---|
| 01 | RAG 请求链路与系统边界 | 能画出一条可调试的请求链路 |
| 02 | 向量数据库原理 | 能解释向量、距离、ANN 和索引的取舍 |
| 03 | 召回单元、Embedding 与数据建模 | 能区分原文档、chunk、候选片段和最终上下文 |
| 04 | Chunking 与 Embedding 优化 | 能用真实 query 评估切分和向量模型 |
| 05 | 标准 RAG 与 Agentic RAG | 能把检索变成按需、多轮、可停止的工具调用 |
| 06 | 召回策略 | 能比较 dense、BM25 和 hybrid retrieval |
| 07 | 重排与上下文组装 | 能降低无关上下文进入 prompt 的比例 |
| 08 | 评测与故障定位 | 能区分召回问题、生成问题和数据问题 |
| 09 | 工程优化 | 能处理延迟、成本、缓存、更新和可观测性 |
| 10 | 独立项目 | 完成一个端到端 RAG 应用并写出技术说明 |
开始学习
- 第 1 课:把 RAG 拆成一条可调试的请求链
- 第 2 课:向量数据库到底在解决什么问题
- 第 3 课:从文档到答案的完整工作原理
- 第 4 课:Chunking 与 Embedding 决定召回上限
- 第 5 课:标准 RAG 与 Agentic RAG
- 第 6 课:召回策略:Dense、BM25 与 Hybrid
- 第 7 课:重排与上下文组装
- 第 8 课:RAG 评测与故障定位
- 第 9 课:RAG 工程优化与生产化
- 第 10 课:独立完成一个 RAG 项目
- RAG 课程速查:链路、指标与故障定位
配套资料见 RESOURCES.md,使命边界见 MISSION.md。
学习方式
默认使用中文讲解,优先采用 Python 和可本地运行的组件。每节课先建立最小模型,再通过提问、代码或小实验确认是否真正掌握;不要把“看过文章”当成“会做项目”。