学习记录:RAG学习记录笔记
【学习记录】RAG学习记录笔记
前言
近期在学习与AI相关的一些核心理论,感受到现阶段RAG(Retrieval-Augmented Generation,检索增强生成) 已成为解决模型“幻觉”和“知识滞后”问题的首选架构。因此整理了自己的学习笔记/相关基础知识,期待一起学习与进步~
视频学习参考:
【RAG 工作机制详解——一个高质量知识库背后的技术全流程】https://www.bilibili.com/video/BV1JLN2z4EZQ?vd_source=5ad88c34d8895798685be888fefe121d
RAG学习记录
一、 RAG 知识全景架构图 (Architecture)
为了清晰展示 RAG 的完整链路,结合所学梳理出了以下数据流转架构图。从左至右,涵盖了离线数据处理到在线问答生成的全过程。
(注:左侧流程决定了知识库的质量,右侧流程决定了回答的精准度)
二、 业务实例:RAG 是如何工作的?
为了通俗理解,我们以企业 HR 政策咨询机器人为业务模型:
- 场景设定:公司有 500 页复杂的《员工手册》,用户提问:“北京出差餐补标准是多少?”
- 检索 (Retrieval):系统不依赖模型内置记忆,而是将问题转化为向量(Vector),在数学空间中寻找距离最近的信息。
- 定位 (Match):系统召回了 3 个相关片段(如:一类城市定义、餐补金额表、职级对应表)。
- 增强 (Augment):系统将这些片段填入预设的 Prompt 模板中:“请严格基于以下资料:[片段A, B, C] 回答用户问题。”
- 生成 (Generate):LLM 进行逻辑推理后输出:“根据手册,北京属一类城市,餐补为 100 元/天。”
三、 核心技术栈选型(2025 年版参考)
如果需要参与技术选型评估。那么以下是目前的业界标准配置参考(如有误欢迎指正交流):
1. Embedding 模型(数据的“翻译官”)
Embedding 的质量直接决定了“能不能通过语义搜到”。
- 评估标准:参考 MTEB (Massive Text Embedding Benchmark) 排行榜。
- 主流选择:
- OpenAI (text-embedding-3):闭源,效果好,适合快速验证 MVP。
- BGE (BAAI General Embedding):北京智源开源,中文语义理解极佳,国内企业落地首选。
- Jina AI:支持 8k 长文本,适合处理法律文档、财报等长内容。
2. 向量数据库(RAG 的“外挂硬盘”)
- Milvus:开源界的“老大哥”,功能强大,适合大规模数据私有化部署,金融、国企大厂常用。
- Pinecone:云原生 (SaaS),开箱即用,对开发者极度友好,适合海外业务。
- Elasticsearch (ES):传统搜索霸主,最新版已支持向量搜索,优势在于原生支持混合检索。
3. 应用编排框架
- LangChain:最流行的大模型应用开发框架,组件丰富,但学习曲线稍陡。
- LlamaIndex:专注于数据索引和检索 (Data-centric),在处理复杂数据结构(如表格、层级文档)时,RAG 效果往往优于 LangChain。
四、 补充:决定 RAG 效果的关键细节
1. 切片策略 (Chunking Strategy)
文档怎么切,直接决定了答案的完整性。
- 固定大小切分:每 500 字切一段。简单但容易切断语义。
- 语义切分:按句号、段落或 Markdown 标题切分,保证语义完整。
- 重叠切分 (Overlap):在切片之间保留 10%-20% 的重叠内容,确保上下文连贯。
2. 混合检索 (Hybrid Search) —— 解决“偏科”问题
- 痛点:向量检索擅长语义理解(搜“苹果”能关联到“水果”),但不擅长精确匹配(搜产品型号“X-2024”可能搜不到)。
- 解决方案:向量检索 (Vector Search) + 关键词检索 (BM25),再通过 RRF (Reciprocal Rank Fusion) 算法融合排名。
| 检索方式 | 原理 | 优势 | 劣势 | 适用场景 |
|---|---|---|---|---|
| 关键词检索 (Keyword) | BM25 / 倒排索引 | 精确匹配专有名词、人名、型号 | 无法理解语义(搜“苹果”搜不到“水果”) | 查型号、查具体人名、查错误码 |
| 向量检索 (Vector) | Embedding / 语义相似度 | 语义理解能力强,支持模糊搜索 | 对精确数字、生僻词匹配效果差 | 开放式问答、意图识别、语义搜索 |
| 混合检索 (Hybrid) | 向量 + 关键词 + RRF重排 | 取长补短,准确率最高 | 系统复杂度高,资源消耗略大 | 绝大多数生产环境的 RAG 系统 |
3. 策略博弈:召回 vs 重排 (Retrieval vs Reranking)
- Step 1 召回:先快速捞出 50 条相关内容(速度快,精度中)。
- Step 2 重排:引入 Cross-Encoder 模型,对这 50 条进行精细打分,选出最准的 3 条(速度慢,精度高)。
- PM 决策点:在响应速度 (Latency) 与 回答准确率 (Accuracy) 之间找平衡点。
4. 前沿视野:GraphRAG(知识图谱 + RAG)
传统的 RAG 将文档切片后,片段之间是独立的。面对“跨文档推理”或“全局性问题”(如:总结全书的主旨),传统 RAG 表现不佳。
GraphRAG 通过提取实体(Entity)和关系(Relation)构建知识图谱,能让大模型理解数据之间的关联性。
五、 职位思考:AI-PM 权衡三角 (Trade-offs)
与研发不同,PM 需要在业务约束下做决策。在 RAG 项目中,存在一个“不可能三角”:
- 成本 (Cost):
- Token 消耗:召回的片段越多(Top K 越大),Prompt 越长,调用 GPT-4 等模型的费用越高。
- 优化策略:使用缓存 (Caching),或对常见问题使用小模型。
- 延迟 (Latency):
- Reranking(重排)虽然准,但会增加 200ms-500ms 的延迟。
- 优化策略:在实时性要求高的 C 端场景,可能需要牺牲一部分重排精度。
- 质量 (Quality):
- 更复杂的切片和更深的模型能提升质量,但会推高成本和延迟。
六、 RAG 效果评估体系 (Evaluation)
如何判断 RAG 做得好不好?不能只靠人工看。业界主流使用 Ragas 或 TruLens 框架进行量化评估:
- 信实度 (Faithfulness):生成的答案是否完全基于检索到的上下文?(有没有瞎编?)
- 答案相关性 (Answer Relevance):答案是否回答了用户的问题?(有没有答非所问?)
- 上下文召回率 (Context Recall):检索到的内容是否包含了回答问题所需的所有信息?
思考与总结
RAG 像是通过“外挂知识库”让大模型具备了垂直领域的专业能力。
1. 决策逻辑::某些场景下,为什么选 RAG 而不是微调 (Fine-tuning)?
比如自己博客的例子:在面对企业私有知识库(如 500 页员工手册)时,为什么不是“把数据喂给大模型训练”?通过学习发现,比如在 B 端业务中,RAG 往往是比微调更优的 ROI(投资回报率)选择,核心逻辑不在于节省 Token,而在于以下三点:
-
知识的时效性 (Freshness):
-
微调:模型训练是静态的。一旦手册中的差旅标准从 100 元改为 120 元,微调模型需要重新训练,成本高且周期长。
-
RAG:只需更新向量数据库中的切片,毫秒级生效,完美适配动态业务。
-
可解释性与溯源 (Grounding):
-
微调:大模型是一个“黑盒”,可能会产生幻觉(一本正经地胡说八道),且很难给出信息来源。
-
RAG:可以明确告知用户“答案引用自手册第 12 页”,在 HR、法律、金融等严肃场景中,这种有据可依是上线的前提。
-
能力解耦:
-
结论:“微调学说话,RAG 学知识”。 学会利用大模型的强逻辑推理能力(Processor),配合 RAG 的动态知识库(Database),才是目前最优的架构组合。
2. 排查心法:如果大模型回答出错时,如何快速定责?
当 RAG 系统回答错误(例如用户问“北京餐补”,模型答“不知道”或答错)时,可以直接检查连接检索与生成的桥梁——最终 Prompt (Context)。
排查路径图解:
核心逻辑解析:
- Step 1:看 Prompt(黄金检查点)
这是检索系统提交给大模型的“最终试卷”。如果 Prompt 里已经包含了“北京餐补 100 元”的信息,说明检索全链路(切片+向量+重排)都是工作的。 - Step 2:定责
- 如果 Prompt 里有答案,但模型答错:说明是**大模型(生成层)**理解能力不足或指令干扰,应优化 Prompt 或升级模型。
- 如果 Prompt 里没答案:说明是检索层把信息弄丢了。此时才需要深入去查“是粗排没捞到?还是重排误删了?还是切片把关键信息切碎了?”。
总结:不要从源头(数据库)开始查,要从交接点(Prompt)开始查。这能将排查效率提升 50% 以上。
更多推荐



所有评论(0)