该框架可以使模型访问超出其训练数据范围之外的信息使得模型每次生成时可以利用检索提供外部更专业、更准确的知识从而更好地回答用户问题。下面直接把汪鹏《大模型 RAG 实战RAG 原理、应用与系统构建》里的第 2 章 语言模型基础、** 第 3 章 语言召回模型文本向量化与检索** 按原书结构帮你完整整理成一份清晰笔记适合跟着Karpathy 网课对照学习。Karpathy就是那个开发出GPT的人他最近在YouTube上开课了RAGRetrieval-Augmented Generation检索增强生成正式诞生于 2020 年标志性事件是 Meta原 Facebook AI Research团队在 NeurIPS 2020 发表的论文《Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks》。所以这是一项非常年轻的技术几乎是伴着我大学毕业至今一直在成长的技术。第 2 章 语言模型基础Transformer、BERT、GPT 系2.1 Transformer 基础RAG 的底层骨架Transformer 是当前所有大模型BERT/GPT/LLaMA的基础架构RAG 的 “向量化”“语义匹配” 全依赖它。2.1.1 词嵌入Embedding把离散单词 → 连续向量语义相近的词向量距离近作用让模型能计算语义相似度RAG 召回核心维度常见 512/768/1024 维2.1.2 编码器EncoderBERT 类结构N 层通常 12/24 层每层包含多头自注意力Multi-Head Attention让每个词 “看” 句子里所有词捕捉上下文依赖例“它” 指代前面的 “猫”前馈神经网络Feed-Forward非线性变换增强表达输出上下文相关的词向量同词不同义向量不同用途理解、编码、召回RAG 的 embedding 模型2.1.3 解码器DecoderGPT 类结构N 层除了自注意力还有掩码自注意力只能看前面词特点自回归生成一个词一个词输出用途生成答案RAG 的 LLM 部分2.1.4 解码头LM Head把解码器输出向量 → 词汇表概率取概率最大的词作为下一个输出2.2 自动编码器Encoder-onlyELMo、BERT这类模型只用电编码器擅长理解 / 分类 / 匹配 / 召回。2.2.1 ELMo早期上下文向量双向 LSTM输出上下文相关向量缺点特征提取弱、并行差被 BERT 取代2.2.2 BERT双向编码器RAG 召回模型主力核心双向 Transformer 编码器预训练任务MLM掩码语言建模随机遮词预测被遮词 → 强语义理解NSP下一句预测判断两句是否连续 → 句子关系理解输出句子 / 文本的稠密向量Dense EmbeddingRAG 中的角色文档向量化、查询向量化、语义召回2.3 自回归模型Decoder-onlyGPT、LLaMA这类模型只用解码器擅长生成 / 续写 / 问答RAG 的 “生成端”。2.3.1 GPT 系列OpenAIGPT-112 层 Transformer 解码器自回归预训练GPT-2更大参数无监督续写零样本能力GPT-3175B 参数in-context learning提示词学习核心上下文学习 自回归生成RAG 角色接收检索结果 问题 → 生成答案2.3.2 LLaMA开源 GPT 类RAG 常用Meta 开源7B65B 参数结构同 GPTDecoder-only优势开源、可本地部署、适配中文RAG 角色替代 GPT 作为本地生成引擎2.4 本章小结RAG 视角EncoderBERT→ 负责理解与召回把文档 / 问题变成向量DecoderGPT/LLaMA→ 负责生成与回答把检索结果 问题变成答案RAG BERT 类召回模型 GPT 类生成模型的组合系统第 3 章 语言召回模型RAG 核心文本向量化 检索原书第 3 章RAG 中的文本向量化与检索模型3.1 召回模型的核心任务给定查询 Query从知识库 Document中找出Top-K 最相关片段本质文本相似度计算 高效检索3.2 文本向量化模型Embedding Model把变长文本 → 定长稠密向量保证语义相似 → 向量距离近。3.2.1 稀疏向量模型传统检索如 TF-IDF、BM25特点基于词频、无语义理解、速度快原理词出现次数越高权重越大不考虑上下文缺点无法理解同义词 / 多义词如 “电脑”≈“计算机”稀疏模型不匹配RAG 角色基础召回、速度快、作为混合搜索的一路3.2.2 稠密向量模型Dense EmbeddingRAG 主流基于BERT/RoBERTa/SimBERT等 Encoder 模型输出上下文相关稠密向量。训练目标语义相似度最大化输入(Query, 正相关 Doc, 负相关 Doc)损失让 Query 与正 Doc 向量距离 与负 Doc 距离代表模型BERT-base768 维通用强all-MiniLM轻量、快、适合本地text-embedding-ada-002OpenAI 闭源效果好RAG 优势理解语义、匹配同义词、召回更准3.2.3 混合检索Sparse Dense工业界最优同时用BM25稀疏 稠密向量Dense两路召回融合分数最终相似度 α・BM25 分数 β・Dense 相似度效果兼顾速度、语义、关键词匹配解决单一模型短板3.3 向量检索引擎Vector Database稠密向量召回必须依赖专用向量库普通数据库无法高效算相似度。3.3.1 核心原理近似最近邻ANN问题100 万 768 维向量暴力算相似度太慢O (N)解决ANN 算法如 FAISS、IVF、HNSW先聚类分桶 → 只在相似桶内搜索 → 速度提升 10100 倍牺牲极小精度换百万级向量毫秒级召回3.3.2 主流开源向量库RAG 常用FAISSMetaCPU/GPU 高效适合小规模MilvusZilliz分布式、高可用、工业级Chroma轻量、本地部署、适合原型PGVectorPostgreSQL 插件适合已有 PG 栈3.4 召回模型评估指标RecallK前 K 个结果中包含正确文档的概率RAG 优先看召回率PrecisionK前 K 个结果中相关文档的比例MRR正确文档在结果列表中的平均排名3.5 本章小结RAG 实战要点稀疏召回BM25快、关键词准、无语义稠密召回BERT 类慢一点、语义准、理解上下文工业级 RAGBM25 稠密向量 向量库 ANN 检索的混合方案可以直接对照 Karpathy 网课的部分Karpathy 讲Transformer/BERT/GPT 架构→ 对应本书第 2 章Karpathy 讲Embedding / 向量检索 / 语义匹配→ 对应本书第 3 章RAG 整体 Encoder召回 Decoder生成的流水线TIPS:Karpathy相关GitHubhttps://gist.github.com/karpathyhttps://gist.github.com/karpathy/442a6bf555914893e9891c11519de94fYouTubehttps://www.youtube.com/AndrejKarpathy/videos