RAG 解决了哪些问题?
大模型项目中 RAG 的实际效果与提升,含检索与生成优化
原题:请阐述您对RAG(检索增强生成)技术的理解,并说明在您的大模型项目中,RAG技术解决了哪些具体问题以及带来的效果提升。
评估与监控 · 美团真题
30 秒回答
- 清晰阐述RAG的核心原理(检索+生成两阶段流程)
- 说明至少2个具体解决的问题(如幻觉、时效性、领域知识)
- 结合实际项目描述效果提升(量化指标更佳)
- 体现对RAG局限性的认知(如检索质量依赖、上下文长度限制)
回答与解析
答案要点
- 清晰阐述RAG的核心原理(检索+生成两阶段流程)
- 说明至少2个具体解决的问题(如幻觉、时效性、领域知识)
- 结合实际项目描述效果提升(量化指标更佳)
- 体现对RAG局限性的认知(如检索质量依赖、上下文长度限制)
RAG核心原理
RAG = 检索(Retrieval)+ 生成(Generation),本质是给大模型外挂一个可动态更新的知识库:
- 离线阶段:文档切分 → Embedding模型编码 → 存入向量数据库
- 在线阶段:用户Query向量化 → Top-K相似度检索 → 拼接Prompt上下文 → LLM生成答案
关键优势:知识可实时更新,无需重新训练模型。
我项目中解决的3个核心问题
| 问题 | 具体场景 | RAG解决方案 | 效果 |
|---|---|---|---|
| 知识幻觉 | 客服系统回答产品参数错误 | 强制从官方文档检索生成 | 事实准确率从72% → 94% |
| 时效性 | 政策解读系统需跟进最新法规 | 增量索引新文件,无需微调 | 新法规上线当天可用 |
| 领域知识 | 医疗问诊需专业医学知识 | 构建医学知识库作为外部记忆 | 专业术语理解准确率提升35% |
关键工程实践
- 召回策略:向量检索 + 关键词BM25混合,解决语义漂移问题
- 重排序:Cross-Encoder精排Top-20,提升相关性
- 上下文压缩:检索结果摘要后再输入LLM,控制Token消耗
局限认知:检索质量是天花板,若文档切分不当或Query与文档表述差异大,容易"检索到了但没用"。
口语版讲法(约4分钟)
- RAG本质是给模型外挂知识库,解决静态知识问题
- 业务场景:客服系统用RAG提升事实准确率
- 落地关键:混合检索+重排序+上下文压缩
- 风险:检索质量是天花板,文档切分和query表述差异是常见失败点
- 可延伸点:self-RAG让模型自己判断检索必要性
这道题其实问的是,在大模型落地过程中,怎么解决模型知识静态、容易幻觉的问题。RAG的核心思路很简单,就是检索加生成,相当于给模型外挂一个可以动态更新的知识库。你可以这么理解,模型本身的参数是它的长期记忆,而RAG就是给它一个短期记忆或者说是可查的参考资料,每次回答问题时先查资料再作答。
那它解决什么问题呢?我拿一个具体的客服场景来说。比如用户问退款政策,如果模型完全靠参数记忆,很容易把几个月前的旧政策当成最新的,或者干脆自己编一个。用了RAG之后,我们强制模型从最新的官方文档里检索相关段落,再基于这些内容生成答案。效果提升非常明显,事实准确率从72%提升到了94%。这就是RAG最核心的价值,知识可实时更新,不需要重新训练模型。
但RAG也不是万能的,它和微调是互补关系。微调适合让模型学习固定的行为模式或风格,比如让客服语气更亲切;而RAG适合处理频繁变化的知识,比如价格、政策、库存。真正落地时,往往是两者一起上:微调定调子,RAG给事实。
那具体怎么做呢?我重点讲三个关键点。先看召回策略,不能只用向量检索。比如用户问“订单号12345的状态”,向量检索可能匹配到语义相似的句子,但关键词检索精确匹配订单号更靠谱。所以我会用Hybrid Search,向量加BM25,两条路一起走,再合并结果。接着说重排序,检索回来的top-100里,真正相关的可能只有前几个,我会用Cross-Encoder做一次精排,把最相关的提到前面。再补充上下文压缩,检索回来的段落可能很长,直接塞给模型会浪费token,还会稀释注意力。我会先对检索结果做摘要,把关键信息提取出来,再拼到prompt里。
这里有个坑,就是检索质量决定了RAG的天花板。如果文档切分不合理,比如把一整个合同切成一段,或者query和文档的表述差异很大,比如用户问“怎么退款”但文档里写的是“退货流程”,那检索出来的东西模型根本用不上。所以上线前我会特别关注两件事:一是用一批真实query回放,看召回率和准确率;二是做bad case分析,看看是不是切分粒度或者embedding模型选得不对。
另外,我最近在关注Self-RAG,就是让模型自己判断什么时候需要检索,什么时候直接用内部知识。这个方向能进一步减少不必要的检索,提升效率,也降低延迟。
所以总的来说,我会把RAG看成是大模型落地的标配能力,但它不是银弹。更倾向的做法是:先用RAG解决知识更新的问题,再用微调优化行为,同时做好检索质量的监控和迭代。
关键一句:Self-RAG让模型自己判断是否需要检索,减少不必要的检索开销
面试官还可能这样问
- 问法 1 · 场景切入
假设你在做电商客服助手,用户问的很多问题都需要最新库存和实时价格,但模型训练数据是几个月前的。你怎么保证它不瞎编、能给出准确答案?
- 问法 2 · 层层追问
你们做的大模型项目,有没有遇到模型信口开河的情况?……那你们怎么让模型能引用最新的文档或数据库来回答?……具体怎么把检索和生成结合起来呢?
- 问法 3 · 直球架构
请阐述你对RAG技术的理解,包括离线阶段和在线阶段的流程,以及在你的RAG项目中解决了哪些具体问题,带来了哪些可量化的效果提升?