RAG综述阅读笔记

论文链接:https://arxiv.org/abs/2312.10997 [[RAG survey.pdf|RAG综述]] 近期更新:2025.12.15,更新次数:1 1.RAG 1.1 什么是RAG 全称:检索增强生成(Retrieval-Augmented Generation)。 1.2 RAG作用阶段 RAG可作用于LLM生命周期的如下位置 预训练:需要自行训练 微调:需要本地部署 推理:这是RAG最早被应用的LLM生命阶段,也是我唯一能够执行操作的阶段 RAG技术早期注重于推理阶段应用,而后逐渐转向微调阶段和预训练阶段 1.3 RAG常见范式 Naive RAG Naive RAG只有indexing, retrieval和generation三个步骤,是一个线性的过程。 indexing: 包含数据预处理(PDF, markdown, etc. $\rightarrow$ txt),分块,获取嵌入向量 retrieval: 用相同的嵌入模型嵌入用户查询,然后检索文件块 generation: 用文件块扩充查询,让LLM生成答复 特别注意:文档嵌入是离线的,用户输入嵌入是在线的 该方法弊端: 检索部分在精确率和召回率存在不足 模型或将遭遇幻觉,导致输出不存在内容 强化存在障碍:输出不连贯、相似检索导致重复响应 Advanced RAG 该范式主要基于Naive RAG增加了预处理、后处理手段: 预强化(pre-retrieval):用于强化indexing和用户查询的效用,这是可操作的部分之一。包含如下方法 Query Routing: 要求某个查询使用指定的检索范围 Query Rewriting: 重写查询 Query Expansion: 扩展查询以具体化检索目标,防止找不到先验知识 后强化(post-retrieval):对查询进行进一步处理。这一步已经被主流RAG框架实现了,无需重新搓轮子。主要包含如下步骤 Rerank: 重排序文件块 Summary: 压缩文件块内容 Fusion: 组合多查询(包括不同的查询策略)整合文件块 Modular RAG 这是一种更优秀,更复杂的RAG范式。论文介绍了如下模块(有一部分是对Advanced RAG中改良方法的封装) 模块名 作用 Search 场景针对性、多数据源 Fusion 多查询策略,可并行 Memory 强化对话/文档上下文,无界记忆池 Routing 多数据源,更优查询路径 Predict 以LLM直接预测相关内容,降噪 Task Adapter 对下流任务定制retrieval方案 注:DeepSeek R1 使用的是全强化学习+GRPO,而非类似于Modular RAG + RL的过程 ...

2025年12月11日 · 2 分钟