大模型面试 RAG 专项 36 题详解
Seanstarsea
2026年04月02日 21:40
RAG检索增强生成

一、RAG 基础概念与核心流程(8 题)

1. 什么是 RAG?为什么要用 RAG?

:RAG = Retrieval-Augmented Generation,检索增强生成。先从外部知识库检索相关文本,再送给大模型生成答案。

解决问题

  • 大模型知识过时

  • 容易幻觉

  • 无法使用私有 / 实时数据

  • 隐私数据不能进预训练

举例:问 “2026 年公司新政策”,模型没训练过,RAG 从内部文档检索后再回答,无幻觉、实时准确。


2. RAG 经典六步流程是什么?

  1. 文档加载(PDF/Word/Excel/ 网页)

  2. 文本分块(Chunking)

  3. 向量化 Embedding

  4. 存入向量数据库

  5. 用户查询向量化 + 检索 Top-K

  6. 构造 Prompt → 大模型生成答案

举例:上传产品手册 → 切块 → 转向量存 Chroma → 用户提问 → 召回相关段落 → 生成回答。


3. RAG 对比 Fine-tuning 优势是什么?

  • 无需训练,成本极低

  • 知识实时更新

  • 不会破坏模型能力

  • 隐私安全,数据不上大模型

  • 适合高频变更的知识库

举例:电商商品每天上新,用 RAG 秒级更新;Fine-tuning 要重训几小时。


4. RAG 有什么缺点?

  • 检索不准 → 答案必错

  • 多跳问题、复杂推理弱

  • 长文本召回容易丢失关键信息

  • 依赖 embedding 与 chunk 质量

  • 多文档融合困难

举例:问 “A 产品和 B 产品对比”,如果只召回其中一个,回答必然片面。


5. RAG 能完全解决幻觉吗?

不能,但能大幅降低。幻觉来源:

  • 检索漏召回 / 错召回

  • 模型编造连接逻辑

  • 检索内容冲突

解决:强 Prompt 约束 + rerank + 引用溯源 + 事实校验。

举例:Prompt 强制:“只使用检索材料回答,不知道就说不知道”。


6. Naive RAG、Advanced RAG、Modular RAG 区别?

  • Naive RAG:基础流程,无优化

  • Advanced RAG:预处理、检索、生成全链路优化

  • Modular RAG:把 RAG 拆成可插拔模块,支持路由、多查询、工具调用

举例:Naive:直接切块检索。Advanced:重排、HyDE、多路召回。Modular:判断简单问题直接答,复杂问题走检索 + 推理。


7. RAG 典型应用场景有哪些?

  • 企业内部知识库问答

  • 客服机器人

  • 法律 / 医疗 / 金融文档问答

  • 代码文档助手

  • 长文本阅读理解(标书、年报)

  • 教育题库答疑

举例:律所把判例向量化,律师提问直接检索相关法条与案例。


8. RAG 系统的核心评价指标有哪些?

检索端:Recall@k、Precision@k、MRR生成端:BLEU、ROUGE、BERTScore、Factuality用户端:准确率、响应速度、幻觉率

举例:Recall@10=95% 表示 10 条里 95% 概率包含真实答案。


二、文档预处理与分块 Chunking(8 题)

9. 什么是 Chunking?为什么重要?

:把长文档切成小块,控制长度,提高检索精度。块太大:噪声多、语义模糊;块太小:信息碎片化。

举例:1 个 10000 字 PDF 切成 512 字符左右的块,检索更准。


10. 常见 Chunk 策略有哪些?

  • 固定长度切分(简单但容易切断语义)

  • 按句子 / 段落切分(语义更完整)

  • 基于标题层级切分(结构最优)

  • 语义分块(Semantic Chunking,最常用)

  • 递归分块(Recursive Chunk,LangChain 默认)

举例:递归切块:先按章节切,太大再按段落切,保证语义完整。


11. 最优 Chunk 大小一般是多少?

:通用:256~512 token长文档:512~1024 token太小召回不全,太大噪声多。


12. 什么是语义分块(Semantic Chunking)?

:利用 embedding 计算句子相似度,把语义连贯的合并成块。

举例:连续三句讲 “报销流程” 合并;下一句讲 “考勤” 则切分。


13. 文档预处理要做哪些清洗?

  • 去除乱码、水印、页眉页脚

  • 表格结构化

  • 图片 OCR

  • 多余空格换行

  • 目录、参考文献过滤

举例:PDF 里大量 ----- 或页码,必须清洗,否则影响 embedding。


14. 表格数据在 RAG 中怎么处理?

  • 转 Markdown 表格

  • 转 HTML

  • 转线性文本描述

  • 专用 Table Embedding

举例:商品价格表 → Markdown 表格嵌入,模型更容易理解。


15. 长文档(>100 页)如何做 RAG?

  • 层级切块(章节→小节→段落)

  • 摘要 + 原文双层索引

  • 摘要检索 + 精确定位

  • 长文本模型 + 滑动窗口

举例:先检索章节摘要,再在章节内细查。


16. 多文档、异构数据源如何统一处理?

  • 统一格式化为 Markdown

  • 建立元数据(来源、时间、标签)

  • 按类型做多路召回

  • 元数据过滤(如按时间筛选最新)

举例:同时检索 PDF、Notion、飞书文档,按时间只取最新版本。


三、Embedding 与向量检索(6 题)

17. Embedding 模型怎么选?

开源强:

  • bge-small / base / large

  • m3e

  • text2vec

  • bge-m3(支持多语言)

闭源:

  • text-embedding-ada-002

  • 文心 embedding

  • 通义千问 embedding

举例:中文场景优先 bge-base-zhm3e,速度与效果均衡。


18. 向量数据库有哪些?怎么选?

轻量:Chroma、FAISS、DocArray企业级:Milvus、Weaviate、Pinecone、Qdrant

选型

  • 单机轻量:Chroma/FAISS

  • 高并发生产:Milvus/Qdrant


19. 向量检索有哪些方式?

  • 暴力检索(Flat)

  • 索引检索(IVF、HNSW)

  • 混合检索(向量 + 关键词)

  • 多路召回

举例:HNSW 速度快、精度高,是生产标配。


20. 余弦相似度、点积、欧氏距离区别?

  • 欧氏距离:距离越小越相似

  • 余弦相似度:方向相似性,常用

  • 点积:归一化后等价于余弦

RAG 通用余弦相似度


21. 什么是混合检索(Hybrid Search)?

:向量检索(语义)+ BM25(关键词)融合结果。解决语义模糊、专业术语不准问题。

举例:“TCP 拥塞控制”BM25 抓关键词,向量抓语义,互补。


22. 如何提升检索召回率 Recall?

  • 更好的 embedding

  • 混合检索

  • 查询增强(多 query 生成)

  • HyDE

  • 增大 Top-K(5~10→15~20)

  • 元数据过滤


四、Rerank 重排(4 题)

23. 什么是 Rerank?为什么必须做?

:对初步召回的段落再用小模型精排,把最相关排前面。向量召回是粗排,rerank 能大幅提升准确率。

举例:召回 10 条,rerank 后前 3 条最相关,减少模型噪声。


24. 常用 Rerank 模型?

  • bge-reranker-base / large

  • Cohere rerank

  • Jina rerank

中文首选:bge-reranker-base。


25. Rerank 放在哪一步?

:用户查询 → 向量粗排 → rerank 精排 → 构造 prompt


26. Rerank 能带来多大提升?

:公开数据集普遍提升 10%~30% 准确率,是 RAG 性价比最高优化。


五、查询优化与高级召回策略(6 题)

27. 什么是 HyDE?

:Hypothetical Document Embeddings先生成一个 “伪答案文档”,用伪文档去检索。

举例:问 “公积金提取条件”→ 先生成一段描述 → 再检索,大幅提升稀疏问题召回。


28. 什么是查询扩展(Query Expansion)?

:把用户口语 query 转成多条专业查询。

举例:“怎么报销”→

  • 员工报销流程

  • 报销所需材料

  • 报销审批时间

多路检索,提高覆盖。


29. 什么是多跳检索(Multi-hop RAG)?

:复杂问题需要多次检索、逐步推理。

举例:“A 部门主管是谁?他负责哪些项目?”第一次查主管,第二次用主管名查项目。


30. 什么是 Self-RAG?

:模型自己判断是否需要检索、检索什么、是否要继续检索。


31. 什么是 Corrective RAG(CRAG)?

:检索后做校验,质量差就重新检索 / 扩充检索,提升事实准确性。


32. 如何处理模糊 / 歧义用户问题?

  • 反问澄清

  • 多路意图检索

  • 结合历史对话理解指代

举例:用户问 “它怎么用”,RAG 结合上文知道 “它” 指某个功能。


六、工程部署、排错与优化(4 题)

33. RAG 常见 Bad Case 与原因?

  • 答非所问:检索召回错误

  • 答案不全:Top-K 太小或 chunk 太碎

  • 仍有幻觉:模型自由发挥

  • 慢:embedding/rerank 耗时

  • 重复:chunk 重叠过多


34. 如何加速 RAG 推理?

  • embedding 量化

  • 向量库建 HNSW 索引

  • rerank 批量处理

  • 缓存高频问题

  • GPU 部署


35. RAG 如何做权限控制?

  • 文档打标签(部门 / 角色)

  • 检索时按用户权限过滤元数据

  • 不把无权限内容喂给模型

举例:普通员工查不到管理层财务文档。


36. 生产级 RAG 系统架构是什么?

前端 → API 网关 → 历史对话管理 → 查询改写 → 多路召回 → rerank → LLM 生成 → 后校验 → 返回

工具栈:LangChain/LLamaIndex + Milvus + bge-reranker + Qwen/Llama