Skip to content

RAG

RAG(检索增强生成)是什么、为什么需要、三阶段架构、与长上下文和微调的定位差异。

Updated View as Markdown

RAG

校招考察频度:★ 高频(核心必背·高频生死线) 复习主线:RAG 是将“闭卷推理考试”转变为“开卷查阅检索”的成熟确定性工程。校招面试核心聚焦点:RAG 离线索引与在线检索生成三阶段、文档解析与分块策略(破解分块粒度悖论、父子块索引 Parent-Child Retriever)、混合检索架构(Dense 语义向量 + Sparse 关键词 BM25)、Cross-Encoder 重排模型(Reranker)精排序、高级进阶模式(GraphRAG / Self-RAG)与 Ragas 自动化评测。

RAG(Retrieval-Augmented Generation,检索增强生成)是把外部企业私域知识库接入 LLM 生成流程的行业标准方案。


分类考频地图

专题核心页面校招考频星级重点考查要点
文档分块与解析分块与解析策略★ 高频固定长度分块缺陷、语义分块(RecursiveCharacterTextSplitter)、父子块(Parent-Child Retriever)与小块检索大块投喂、表格/代码解析难点
向量化与表征Embedding 与向量化★ 高频语义嵌入空间距离计算、余弦相似度 vs 点积、维度灾难与稠密表征
向量数据库底层向量数据库原理与选型★ 高频近似最近邻(ANN)搜索、HNSW 小世界图算法原理、IVF-PQ 倒排量化、pgvector vs Milvus vs Qdrant 选型
检索与重排精排检索与重排核心机制★ 高频稠密向量语义匹配 vs 稀疏 BM25 关键词匹配、RRF 倒数排名融合、Cross-Encoder 重排全注意力交叉打分
高级 RAG 演进高级 RAG 进阶范式★ 高频查询重写(Query Rewriting)、假设性文档嵌入(HyDE)、Self-RAG 自适应检索、GraphRAG 知识图谱关联
RAG 量化评估RAG 评测与调优☆ 中频Ragas 核心三元组:忠实度(Faithfulness)、答案相关度(Answer Relevance)、上下文召回率(Context Recall)

为什么需要 RAG

LLM 的三个天生短板:

  1. 幻觉。 模型是概率生成器,不知道的事情会一本正经地编。RAG 用检索到的真实文档约束生成,答案有据可依
  2. 知识过期。 参数知识有截止日期,问今天的股价、最新的政策,模型只能按旧数据答。RAG 知识库可以分钟级更新
  3. 私有数据进不去。 企业文档、合同、内部手册不能写进模型权重(训练成本高、无法删除、有泄露风险)。RAG 把知识放在模型之外,按需注入

附带收益:可溯源。每个答案都能指出来自哪篇文档的哪个片段,出错能定位到具体知识条,这是企业场景的硬需求。

三阶段架构

RAG 三阶段架构

  • 索引(Indexing):离线完成。原始文档解析成纯文本,切成适合检索的块(chunk),用嵌入模型转成向量,存入向量数据库
  • 检索(Retrieval):在线完成。用户查询用同一个嵌入模型向量化,在向量库里做相似度搜索,取最相关的 Top-K 个块
  • 生成(Generation):在线完成。把原始问题和检索到的片段拼进 Prompt,LLM 生成回答,回答基于检索内容而非模型记忆

索引是离线的,检索和生成是在线的,每次请求的延迟主要花在后两段。

与相邻方案的定位

方案比喻特点
RAG开卷考试,按需查书知识可更新、可溯源,检索质量决定上限
长上下文把整本书搬进考场实现简单,但塞满窗口注意力稀释、成本高
微调背书进脑子行为风格深度定制,但知识更新慢、不可溯源

三者不是替代关系。长上下文适合单次任务需要完整文档的场景;RAG 适合知识库大、频繁更新的场景;微调解决的是”怎么说”,RAG 解决的是”说什么”。

面试追问

  1. RAG 解决什么问题? 幻觉、知识过期、私有数据接入、可溯源。模型不靠记忆回答,先检索再生成
  2. 为什么不全塞进长上下文? 塞满窗口触发上下文衰减和 Lost in the Middle,注意力稀释,成本随 token 线性涨。RAG 按需注入,窗口始终只装相关内容
  3. 三阶段各做什么? 索引(解析、分块、向量化、入库,离线)、检索(查询向量化、相似度 Top-K,在线)、生成(拼接 Prompt、LLM 回答,在线)
  4. 检索质量为什么是上限? 生成层只是整理检索到的内容,没检索到的东西 LLM 变不出来。调优的主战场永远是检索层,不是换更强的模型
  5. RAG 和微调能一起用吗? 能,且是生产常态。微调让模型学会输出格式和领域语言,RAG 提供最新事实
Navigation

Type to search…

↑↓ navigate↵ selectEsc close