Ch02: 阅读路线图与前置知识
Part 1: 导读总纲 前置章节:Ch01: 为什么需要 RAG——当大模型开始”说谎” 后续章节:Ch03: RAG 技术演进——从朴素管线到 Agent 自主检索
这本导读有 15 章、约 19 万字符。如果从头到尾顺序读完,需要三四周。但大多数读者不需要、也不应该这样做。本章的任务是:帮你选一条适合自己的路线,检查一下前置知识是否就位,然后用最短的时间进入正题。
结论先行:你只需要做三件事——选路线、查清单、开始读。
一、三条阅读路径:选对路线比读得快更重要
想象你要从北京去上海。你可以坐高铁(4.5 小时直达),可以自驾走高速(边走边看沿途城市),也可以坐绿皮火车慢慢晃(把每一站都逛一遍)。这三种方式没有高下之分,只取决于你的目的:赶时间交付、按需实践、还是系统学习。
本导读同样提供三条路线。它们覆盖的章节不同、节奏不同、适合的人也不同。
路线 A:竞赛路径(1 周冲刺)
适合谁:正在准备犀牛鸟 2026 开源竞赛、以 WeKnora 为目标项目的同学。你的核心诉求是”用最短时间搞清楚 RAG 是什么、WeKnora 怎么贡献、如何评估效果”。
章节序列:Ch01 → Ch03 → Ch04 → Ch06 → Ch08 → Ch10 → Ch14
逐日安排:
| 天数 | 章节 | 阅读重点 | 预计时长 |
|---|---|---|---|
| Day 1 | Ch01 为什么需要 RAG | 理解幻觉问题和 RAG 的核心价值,不需要记住所有细节,抓住”检索增强生成”这个核心概念即可 | 1-1.5h |
| Day 2 | Ch03 RAG 技术演进 | 重点看三代 RAG 架构的演进脉络(Naive → Advanced → Modular),理解当前主流方案处于哪个阶段 | 2-2.5h |
| Day 3 | Ch04 检索三路军 | 集中精力理解向量检索和 BM25 的互补关系,知识图谱部分可以快速浏览,混合检索(Hybrid Retrieval)是重点 | 2-2.5h |
| Day 4-5 | Ch06 WeKnora 架构深度剖析 | 这是竞赛路径的核心章节。Day 4 读架构设计和核心模块,Day 5 读源码导览和可贡献的切入点。建议边读边对照 WeKnora 仓库源码 | 3-4h x2 |
| Day 6 | Ch08 评估方法论 | 掌握 RAGAS 四指标(忠实度、答案相关性、上下文精度、上下文召回),理解如何证明你的贡献”有效” | 2h |
| Day 7 | Ch10 竞赛贡献路径 | 直接对接行动:选题、提 PR 的策略、评审标准、常见坑 | 1.5-2h |
| Day 8 | Ch14 动手实验室 | Docker 跑通 WeKnora + 可选 80 行最小 RAG;产出环境截图或实验笔记 | 2-3h |
跳过了什么:Ch02(本章,你正在读)、Ch05(文档解析——竞赛初期不需要深入)、Ch07(其他四个平台——竞赛聚焦 WeKnora 即可)、Ch09(选型与生产化——竞赛阶段用不到)。
关键提醒:这条路线跳过了 Ch05 文档解析,但 WeKnora 的一些贡献方向(比如 PDF 解析优化、表格抽取)需要 Ch05 的知识。如果你选了这类方向,请在 Day 4-5 之间补读 Ch05 的相关小节。
路线 B:全景学习路径(3 周系统学习)
适合谁:想系统性地理解 RAG 技术栈全貌的同学。你不赶时间,希望把每个环节都搞清楚,建立完整的知识体系。这也是最适合”第一次接触 RAG”的零基础读者的路线。
章节序列:Ch01 → Ch02 → Ch03 → Ch04 → Ch05 → Ch06 → Ch07 → Ch08 → Ch09 → Ch10 → Ch11 → Ch12 → Ch13 → Ch14 → Ch15(顺序通读)
逐周安排:
| 周次 | 章节 | 本周目标 |
|---|---|---|
| 第 1 周 | Ch01-Ch04 | 建立基础框架。读完后你应该能回答:RAG 解决什么问题?三代架构有什么区别?向量检索和关键词检索各有什么优缺点? |
| 第 2 周 | Ch05-Ch07 | 深入实现细节。读完后你应该能回答:一份 PDF 怎么被切成 chunk?WeKnora 的架构设计哲学是什么?五大平台各自的定位和取舍? |
| 第 3 周 | Ch08-Ch10 | 闭环评估与实践。读完后你应该能回答:怎么量化 RAG 系统的好坏?团队该选哪个平台?犀牛鸟竞赛怎么贡献? |
| 第 4 周 | Ch11-Ch15 | 进阶专题。Graph RAG、Agentic 编排、多模态解析、动手实验、Memory 边界 |
每日节奏建议:每天投入 1.5-2 小时,先读一个章节的主体内容,再回顾前一章的笔记。第 1 周结束时做一次小复盘:用自己的话画一张 RAG 管线的流程图,如果画不出来,说明需要回头补课。
这条路线的优势:知识点之间的关联会自然串起来。比如读完 Ch04(检索策略)再读 Ch05(文档解析),你会自然理解”为什么分块方式会影响检索质量”——这种跨章节的因果关系在跳读路线中容易丢失。
路线 C:生产实践路径(5 天密集)
适合谁:有一定工程基础的开发者,需要在一周内完成一个 RAG 系统的技术选型并推动落地。你关心的不是理论深度,而是”我明天要部署,该选哪个平台、怎么处理文档、怎么上生产”。
章节序列:Ch01 → Ch04 → Ch05 → Ch07 → Ch09
逐日安排:
| 天数 | 章节 | 阅读重点 | 预计时长 |
|---|---|---|---|
| Day 1 | Ch01 为什么需要 RAG | 快速浏览即可,重点看 RAG 管线的整体流程图,建立心智模型 | 1h |
| Day 2 | Ch04 检索三路军 | 重点看混合检索的实现方式和调参策略,BM25 和向量检索的配比如何影响效果 | 2-2.5h |
| Day 3 | Ch05 文档解析与分块 | 生产环境最头疼的部分。重点看不同文档格式(PDF、Word、扫描件)的解析方案,以及分块策略对检索质量的影响 | 2-2.5h |
| Day 4 | Ch07 四大平台速览 | 对比 Dify、RAGFlow、FastGPT、AnythingLLM 的架构差异、部署复杂度、社区活跃度,为选型做准备 | 2h |
| Day 5 | Ch09 选型决策与生产化 | 核心章节。选型决策树、生产化 checklist、性能调优、监控告警 | 2-2.5h |
跳过了什么:Ch03(技术演进——你需要的是实操而非历史)、Ch06(WeKnora 深度剖析——除非你选了 WeKnora)、Ch08(评估方法论——可以后补)、Ch10(竞赛路径——不参赛可跳过)。
关键提醒:如果你的生产场景涉及 WeKnora,请把 Day 4 的 Ch07 替换为 Ch06。
路线 D:进阶专题路径(1 周)
适合谁:已读完 Ch01–Ch06 或 Ch04,想深化 Graph RAG、Agentic 编排、多模态解析,或准备 WeKnora 解析/图谱/Agent 向 issue 的同学。
章节序列:Ch04 → Ch11 → Ch12 → Ch13 → Ch14(可选 Ch15 + AI 记忆导读 Ch06)
逐日安排:
| 天数 | 章节 | 重点 |
|---|---|---|
| Day 1 | Ch04 复习 + Ch11 Graph RAG | PMI、RRF、建图策略对比 |
| Day 2 | Ch12 Agentic RAG | 半 Agentic、成本护栏、MCP |
| Day 3 | Ch13 多模态 RAG | 表格/OCR、DeepDoc vs IMA |
| Day 4 | Ch14 动手实验室 | Docker WeKnora + 最小 RAG 脚本 |
| Day 5 | Ch15 Memory vs RAG | 跨赛道边界;可选读 AI 记忆 Ch06 |
路线 E:大师路径(30 天 · 主推荐)
适合谁:目标是从零到 能读 WeKnora 源码、能提 PR、能设计 RAG 系统——即本站默认路径。
等级序列(详见 guide/README · 大师成长路径):
| 周 | 等级 | 章节 |
|---|---|---|
| W1 | L0–L1 | Ch01–05 + Ch14 |
| W2 | L2–L3 | Ch06–08, Ch11–Ch13 |
| W3 | L3–L4 | Ch15–20, Ch16–17 |
| W4 | L5 | Ch21–Ch32 + 实战包 + 1 PR |
| W5–W6 | L6(可选) | Ch33–Ch47 + lab 实验(见下表) |
L6 架构师 14 天(Ch33–Ch47)
| 天 | 内容 |
|---|---|
| 1–2 | Ch33–Ch34 Dify + RAGFlow 源码 |
| 3–4 | Ch35–Ch36 FastGPT + AnythingLLM |
| 5–7 | Ch37 五平台实验 + 填 lab/results-smoke-template |
| 8–10 | Ch38–Ch41 + Ch41 选 3 条挑战 |
| 11–14 | 深读 Ch42–Ch47 + benchmark/smoke-10 基线 |
通关清单:Ch32 大师通关。
四条路线的选择速查
你的主要目标是什么?
├── 参加犀牛鸟竞赛
│ └── 路线 A:竞赛路径(1 周 + 动手日)
│ Ch01→Ch03→Ch04→Ch06→Ch08→Ch10→Ch14
│
├── 系统学习 RAG 技术
│ └── 路线 B:全景学习路径(3–4 周)
│ Ch01 → Ch02 → ... → Ch15 顺序通读
│
├── 部署生产 RAG 系统
│ └── 路线 C:生产实践路径(5 天)
│ Ch01→Ch04→Ch05→Ch07→Ch09
│
└── 成为 RAG 大师(默认)
└── 路线 E:大师路径(30 天 + 可选 L6)
L0→L5 Ch01–Ch32 + 实战 + PR
L6 +Ch33–47 架构师
选不出来?默认选路线 B。它最稳妥,而且读到任何一个节点都可以停下来,切换到路线 A 或路线 C。
二、前置知识检查清单:你需要带什么上路
在开始阅读之前,有几个基础概念需要确认你已经了解。这些概念会在后续章节中反复出现,如果你完全没接触过,建议先花几个小时补一下。如果你只是模糊地知道”好像有这么个东西”,其实就够了——后续章节会在用到时再展开解释。
这就像出门旅行前检查行李:护照、钱包、手机——不是每样都需要精通怎么用,但得确认带上了。
2.1 向量(Vector)
一句话说清楚:向量就是一组有序的数字,可以理解为一个点在多维空间中的坐标。
为什么 RAG 需要它:RAG 系统的核心能力是”找到和问题最相关的文档片段”。怎么找?先把每段文字变成一个向量(一组数字),再比较哪些向量和问题的向量”距离最近”。这就是向量检索。向量可以把”语义相似”这种模糊的人类直觉变成精确的数学计算。
你需要知道的程度:理解”向量就是一组数字”即可。不需要会手算矩阵乘法,不需要理解线性代数。
如果完全不了解:推荐看 3Blue1Brown 的《线性代数的本质》系列视频的前两集(”向量究竟是什么”和”线性组合、张成的空间与基”),中文字幕版在 B 站可以找到,总共约 30 分钟。
2.2 余弦相似度(Cosine Similarity)
一句话说清楚:余弦相似度衡量的是两个向量”方向”有多接近,而不关心它们的”长度”。
直觉:想象你站在原点,伸出两根手指分别指向两个方向。如果两根手指指向几乎相同的方向(夹角接近 0 度),余弦相似度接近 1,说明这两个向量非常”相似”;如果两根手指成 90 度,余弦相似度为 0,说明完全无关;如果两根手指方向相反(180 度),余弦相似度为 -1。
公式:
A · B a1*b1 + a2*b2 + ... + an*bn
cos(theta) = ————————————— = ——————————————————————————————————————
|A| * |B| sqrt(a1^2+...+an^2) * sqrt(b1^2+...+bn^2)
分子是两个向量的点积(对应位置相乘再求和),分母是两个向量的长度之积。结果范围在 -1 到 1 之间。
为什么 RAG 用余弦而不是欧氏距离:因为文本的语义比较关心的是”方向”而非”大小”。一段长文本和一段短文本可能表达完全相同的意思,它们的 Embedding 向量长度不同,但方向一致。余弦相似度不受长度影响,正好适合这个场景。
如果完全不了解:回顾高中数学的”向量点积”部分,或者搜索”余弦相似度 直觉解释”,10 分钟的文章就能理解。
2.3 Embedding(文本嵌入)
一句话说清楚:Embedding 是把文本(词、句子、段落)转化成一个固定长度的向量的过程。
类比:想象你给每个城市分配一个 GPS 坐标。北京是 (39.9, 116.4),上海是 (31.2, 121.5),通过坐标就能算出两个城市的距离。Embedding 做的事情类似:它给每段文字分配一个”语义坐标”。意思接近的文本,坐标也接近。
具体来说:一个 Embedding 模型(比如 OpenAI 的 text-embedding-3-small)接收一段文字,输出一个 1536 维的向量。”今天天气真好”和”今日阳光明媚”会被映射到非常接近的位置,而”量子力学基本原理”会被映射到一个很远的位置。
为什么 RAG 离不开它:RAG 的检索阶段需要把用户的问题和知识库中的所有文档片段进行”语义匹配”。Embedding 就是把文字变成可以做数学计算的向量的那一步,没有它,语义检索无从谈起。
如果完全不了解:推荐阅读 Jay Alammar 的《The Illustrated Word2Vec》一文,中文翻译版搜索”图解 Word2Vec”即可。这篇文章用大量可视化解释了词向量的直觉,大约 30 分钟能读完。虽然 Word2Vec 已经不是最新技术,但核心直觉完全适用。
2.4 Transformer
一句话说清楚:Transformer 是当前几乎所有大语言模型(GPT、Claude、Llama 等)背后的神经网络架构。
你需要知道的程度:只需要知道”它存在”以及”它是大模型的底层架构”。本导读不会要求你理解 Attention 机制的数学推导或者 Multi-Head Attention 的实现细节。当后续章节提到”Transformer-based 模型”时,你只需要理解为”用当前主流架构训练出来的大模型”。
一个粗略的类比:如果大语言模型是一辆汽车,Transformer 就是发动机的类型(比如”涡轮增压发动机”)。你开车不需要知道发动机内部的每个零件怎么运转,但需要知道你的车用的是什么类型的发动机,这样在讨论性能、油耗、适用场景时才不会迷路。
如果想更深入了解:Jay Alammar 的《The Illustrated Transformer》是公认最佳入门材料,中文搜索”图解 Transformer”。但再次强调:读本导读不需要深入理解 Transformer 内部机制。
2.5 Python 基础
你需要的程度:能看懂伪代码和简短的 Python 代码片段即可。本导读中的代码示例主要用于说明概念(”这段代码在做什么”),而不是要求你从零写出来。
具体来说,你需要认识这些:
# 变量赋值和基本类型
text = "你好世界"
numbers = [1, 2, 3, 4, 5]
config = {"model": "gpt-4", "temperature": 0.7}
# 函数定义和调用
def search(query, top_k=5):
results = retriever.search(query)
return results[:top_k]
# 列表推导
chunks = [split(doc) for doc in documents]
# 基本的库导入
from langchain import VectorStore
如果你看到上面这些代码没有明显的不适感,Python 基础就够了。
如果完全不了解 Python:推荐先花 2-3 小时过一遍 Python 的基础语法。网上有大量”Python 30 分钟入门”类的教程,任选一个即可。本导读的代码示例不会超出入门教程的范围。
前置知识自检小测
回答以下 5 个问题,测试一下自己是否准备好了。不需要答得很精确,能说出大意就行。
Q1:一个 3 维向量 [1, 2, 3] 和一个 3 维向量 [2, 4, 6] 的方向相同吗?余弦相似度是多少?
参考答案
方向相同。[2, 4, 6] 就是 [1, 2, 3] 的 2 倍,方向完全一致,余弦相似度为 1。这说明余弦相似度只关心方向,不关心长度。Q2:Embedding 模型的输入是什么?输出是什么?
参考答案
输入是一段文本(可以是一个词、一个句子、一个段落),输出是一个固定长度的向量(一组浮点数)。比如输入 "机器学习入门",输出可能是一个 768 维或 1536 维的向量。Q3:为什么两段意思相近的文本,用 Embedding 转化后的向量会”距离很近”?
参考答案
因为 Embedding 模型在训练时就是被教导"把语义相似的文本映射到相近的位置"。模型见过大量的文本数据,学会了哪些词、句子在语义上是接近的。这不是巧合,而是模型训练的目标。Q4:Transformer 和 GPT 是什么关系?
参考答案
Transformer 是一种神经网络架构(2017 年由 Google 提出),GPT(Generative Pre-trained Transformer)是基于 Transformer 架构训练出来的一系列大语言模型。换句话说,Transformer 是蓝图,GPT 是按照这个蓝图造出来的产品。Q5:看下面这段 Python 代码,说说它在做什么?
results = []
for chunk in chunks:
score = cosine_similarity(query_vec, chunk.embedding)
if score > 0.8:
results.append(chunk)
参考答案
遍历所有文档片段(chunks),计算每个片段的 Embedding 和查询向量的余弦相似度,把相似度超过 0.8 的片段收集到结果列表中。这就是一个最简单的向量检索过程。评估标准:5 题中答对 3 题以上,可以直接开始阅读。答对 1-2 题,建议先补前面列出的推荐材料。0 题全不会,也没关系——回到每个概念的”如果完全不了解”部分,花半天时间集中补一下。
三、章节依赖关系:哪些章节必须按顺序读
不是所有章节都必须按顺序阅读。有些章节之间存在强依赖(不读前一章,后一章就看不懂),有些则相对独立。理解这些依赖关系,你就可以根据自己的需要灵活组合。
核心依赖链
本导读中有一条主干依赖链,后续章节的理解建立在前面章节的基础上:
Ch01(为什么需要 RAG)
│
▼
Ch03(RAG 技术演进) ← 需要 Ch01 的 RAG 基本概念
│
▼
Ch04(检索三路军) ← 需要 Ch03 的架构框架来定位检索在管线中的位置
│
▼
Ch06(WeKnora 深度剖析) ← 需要 Ch03 的架构词汇 + Ch04 的检索概念
这条链是本导读的骨架。不管你选哪条路线,Ch01 → Ch03 → Ch04 这三章的顺序不要打乱。
相对独立的章节
以下章节只需要读过 Ch01(理解 RAG 是什么),就可以独立阅读:
Ch05 文档解析与分块:这章讨论的是 RAG 管线的”输入端”——怎么把原始文档变成可检索的片段。它和 Ch04(检索策略)是并行关系而非前后关系。你可以先读 Ch05 再读 Ch04,也可以反过来。
Ch08 评估方法论:这章讨论的是如何衡量 RAG 系统的效果。只要你理解了 Ch01 中 RAG 管线的基本流程(检索 → 生成),就可以直接读这章。不需要先理解具体的检索实现或平台架构。
有条件依赖的章节
Ch07 四大平台速览:最好在读过 Ch03(了解 RAG 架构的演进)之后再读。虽然不是硬性依赖,但了解三代架构的演进会帮助你理解每个平台的设计取舍。
Ch09 选型决策与生产化:依赖 Ch07(或 Ch06)——你需要先了解至少一个平台的架构,才能理解选型决策的维度。同时建议先读 Ch08(评估方法论),因为选型的一个关键输入就是”怎么衡量好坏”。
Ch10 竞赛贡献路径:强依赖 Ch06(WeKnora 架构),建议在读完 Ch06 之后再读。
依赖关系总览
Ch01 (RAG 基础)
┌──────┼──────────────────┐
▼ ▼ ▼
Ch03 Ch05 Ch08
(演进) (解析/分块) (评估)
│ │
▼ │
Ch04 │
(检索) │
┌──┴──┐ │
▼ ▼ ▼
Ch06 Ch07 Ch09
(WeKnora)(其他平台) (选型/生产化)
│
▼
Ch10
(竞赛)
“如果你只读 3 章”推荐
如果时间极度有限,以下三章能让你获得最大信息密度:
第一章读 Ch01——建立 RAG 的基本心智模型,理解它解决什么问题。
第二章读 Ch04——理解 RAG 系统的核心:检索是怎么做的。向量检索、BM25 关键词检索、混合检索——这三种策略覆盖了绝大多数 RAG 系统的检索层实现。
第三章读 Ch06(如果参赛)或 Ch09(如果做工程)。前者帮你理解一个真实 RAG 平台的架构设计,后者帮你做选型决策和生产化落地。
这三章加起来大约需要 6-8 小时的阅读时间,能让你从”完全不懂 RAG”变成”能参与技术讨论、能做基本的架构评审”。
四、本章小结
本章只做了三件事:
第一,给出三条阅读路线。竞赛路径(1 周,聚焦 WeKnora 和犀牛鸟)、全景学习路径(3 周,顺序通读建立完整知识体系)、生产实践路径(5 天,面向工程部署和技术选型)。选不出来就选全景路径,它最灵活,随时可以切换。
第二,列出了前置知识检查清单。向量、余弦相似度、Embedding、Transformer、Python 基础——这五项不需要精通,但需要”知道是什么”。如果自检小测答对不到 3 题,建议先花半天时间补课。
第三,梳理了章节依赖关系。核心链是 Ch01 → Ch03 → Ch04 → Ch06,Ch05 和 Ch08 相对独立可以灵活插入。如果只读 3 章,选 Ch01 + Ch04 + Ch06(或 Ch09)。
下一章(Ch03: RAG 技术演进——从朴素管线到 Agent 自主检索)将正式进入技术内容。我们会从 2020 年最早的”朴素 RAG”讲起,看它如何一步步演进到今天的 Agentic RAG——大模型不再被动等待检索结果,而是自己决定”什么时候搜、搜什么、搜到的够不够用”。这是理解所有现代 RAG 平台设计决策的关键背景。
选好你的路线了吗?翻到下一章,开始吧。
导读目录:README.md 上一章:Ch01: 为什么需要 RAG——当大模型开始”说谎” 下一章:Ch03: RAG 技术演进——从朴素管线到 Agent 自主检索