笔记 · Bilibili / 费曼学徒冬瓜

RAG 入门课程笔记

从索引、检索、生成到评估和模块化 RAG,整理面向初学者的完整知识主线。

来源
原始内容
整理日期
2026-08-31

来源:原始内容 整理日期:2026-08-31

基于 BibiGPT ASR 字幕(906 条 cue,覆盖 00:15–01:09:51)精校,参考本人观看笔记 本地观看笔记 与 10 张关键截图。

视频速览

一句话结论

RAG = 检索 + 生成:先从知识库检索出相关参考内容,再让大模型基于这些内容回答,从而解决大模型“无法回答私域问题”的缺陷。课程金句——“上手只要一星期,上线要一年”:基础流程一周能跑通,但真正的工程优化点极多,这才是 RAG 的难点。

课程主线

视频分两大部分:基础 RAG 流程(索引→检索→生成)和 优化方案(检索优化 5 种 + 生成优化 + 提问改写 + 元数据),最后讲评估RAG vs 微调模块化 RAG,并站在项目经理视角给出落地建议。


第一部分:RAG 基础

1. RAG 是什么、为什么用

2. RAG 简易流程与三阶段

RAG 简易流程

RAG 简易流程:离线建库 + 在线检索生成

RAG 三阶段

RAG = 索引(离线)+ 检索(在线)+ 生成(在线)

3. 知识收集

在切分之前,先按应用场景收集知识:

4. 文档切分(chunking)

方法 做法 特点
固定大小切分 按字符数 / token 数切 最简单,但会切碎句子,效果最差
按标点符号切 按句子 / 换行符切 保证完整句子不被切开,稍好
按文档结构切 按标题 / 章节切 利用文档潜在语义结构
按语义切 先按句子,再按相关性整合 语义独立 + 完整,最优

5. 文本向量:稀疏 vs 稠密

稀疏向量 vs 稠密向量对比

6. 向量数据库

7. 检索:相似度 + 关键词

7.1 基于文本相似度

7.2 基于关键词

基于关键词的检索

基于关键词的检索:构建(分词去重、tfidf、nltk)→ 抽取关键词 → 匹配文档

7.3 两种方法的区别

8. 生成:提示词 + 模型选择

开源 闭源
安全/隐私 好(数据不出门) 差(连外网,常成否决项)
硬件投入 需自备(投入大) 无需维护
能力 相对较低 较高、一键调用
代表 Ollama、HuggingFace 官方 App、各类框架

模型强大是做 RAG 的前提——模型不行,RAG 就失去意义。


第二部分:检索优化(5 种)

9. small-to-big:小检索、大生成

思路:检索阶段用小文本块(粒度细、准),生成阶段用大文本块(上下文全、质量好)。三种方法:

9.1 摘要检索(Summary Retrieval)

small-to-big 摘要检索

摘要检索:检索小粒度(摘要),再回原大粒度(chunk)

9.2 子问题检索(Question Generation)

9.3 句子窗口检索(Sentence Window Retrieval)

句子窗口检索

句子窗口检索:检索最小语义文档 → 前后文拼接 → 生成

10. 多路召回 + 平滑指数

11. Rerank(重排序)


第三部分:生成优化 + 其他优化

12. refine 模式(“葫芦娃救爷爷”)

13. tree_summarize(树形汇总)

tree_summarize

tree_summarize:并行 → 逐层合并 → 最终答案

14. 问题改写(Query Rewrite)

15. 元数据(Metadata)


第四部分:评估 RAG

16. 评估指标

评估指标

RAG 评估:准确率 + 忠实度 + 召回/精确/F1

17. 评估方法


第五部分:选型与延伸

18. RAG vs 微调:怎么选

对比项 RAG 微调
技术难度 较低(工程问题,门槛不高) 较高(需算法功底)
回答质量 较低 上限较高(知识内化)
投入成本 较低 较高(人才 + 硬件)
响应速度 较慢(要先检索) 较快(知识已内化)
知识更新 快(重检索/重索引) 慢(要重新微调)
可解释性 强(能给出答案来源) 无(黑盒)

RAG vs 微调

RAG vs 微调对比

19. RAG 三阶段:基础 / 进阶 / 模块化

RAG 范式的演进分三个阶段(视频给出简化版,源自 Gao et al., 2023 综述):

本课程至少覆盖了基础 + 进阶

模块化 RAG

模块化 RAG:基础 RAG → 进阶 RAG → 模块化 RAG

19.1 模块化 RAG 详解(背景补充)

视频对模块化 RAG 只给了定义和一张图,以下内容为背景补充(源自 RAG 权威综述 Gao et al., 2023《Retrieval-Augmented Generation for Large Language Models: A Survey》),帮你把这张图看懂。

核心思想:不再是一条写死的线性流水线,而是把 RAG 拆成一堆可插拔的模块,按场景自由编排。这也是视频里“上线要一年”的深层原因——模块多、组合多、调优空间就大。

可拆分的模块(按流水线阶段归类):

阶段 模块 说明
索引 Indexing 分块 Chunking 固定大小 / 句子 / 结构 / 语义切分
向量化 Embedding 稀疏 / 稠密 / 混合向量
索引结构 向量索引、倒排索引、图索引(HNSW)
检索前 Pre-Retrieval 查询改写 Rewriting 口语化、指代 → 规范化检索 query
查询扩展 Expansion 同义词、多 query 增强召回
查询路由 Routing 不同问题路由到不同检索源
检索 Retrieval 稀疏检索 BM25 关键词匹配
稠密检索 向量相似度匹配
混合检索 Hybrid 稀疏 + 稠密结果融合
检索后 Post-Retrieval 重排序 Rerank 精选,把最相关的顶到前面
过滤 / 压缩 去噪、压缩上下文长度
生成 Generation 生成器 换模型 / Prompt 工程
编排 Orchestration 路由 Router 决定走哪条链路
记忆 Memory 多轮上下文、长期记忆
融合 Fusion 多路结果合并

常见组合模式(Patterns)

模块化的优势

代价

一句话总结:Naive RAG 是“一根固定管子”,Advanced RAG 是“加了几个阀门的管子”,Modular RAG 是“一箱可以任意拼接的乐高”。

20. 项目经理视角(落地建议)


前置知识

实操价值