技术面试题

RAG架构:检索增强生成的完整工程实现

"讲一下RAG架构。什么时候用RAG什么时候fine-tuning?"

为什么面试官会问这道题

RAG是2026年把LLM接入企业数据的主流方案,AI工程面试必考。面试官要听完整pipeline(不只是"检索+prompt"),以及RAG vs fine-tuning的判断依据。

如何回答

  1. 1

    整体pipeline:(1)文档分块;(2)embedding模型给每块算向量存到向量库;(3)查询时embed用户问题,检索top-k相似块;(4)可选rerank;(5)把检索到的块塞到prompt当context;(6)LLM基于context生成。

  2. 2

    分块很关键:太小丢上下文,太大噪声大。通常300-800 token带overlap。按句子/段落语义分块比定长切好。

  3. 3

    检索:余弦相似度是基础。Hybrid search结合dense(embedding)和sparse(BM25)覆盖语义和关键词。Rerank用cross-encoder在top 20-50里精排出top 3-5质量提升巨大。

  4. 4

    Prompt组装:典型"基于以下context回答,不在context里就说不知道。Context: ... Question: ..."。用"不知道就说不知道"的指令限制幻觉。

  5. 5

    RAG vs fine-tuning:RAG注入知识(事实/文档/领域信息,常变、量大),fine-tuning改变行为(风格/格式/任务模式)。"和文档聊天"场景几乎都是RAG——文档常变,fine-tuning又贵又容易过时。

参考回答示例

RAG(检索增强生成)是让LLM在查询时临时接入特定文档,而不是把文档烘焙到模型权重里。Pipeline五个阶段。第一离线建索引:把文档语料切成块(通常300-800 token带overlap),用embedding模型(text-embedding-3-small、bge、e5)为每块算向量,向量+原文本存到向量库(pgvector、Qdrant、Milvus、Pinecone)。分块策略很重要——太小丢上下文,太大相关信号被稀释。按句子或段落语义分块一般比定长切好。第二在线检索:用户问问题时,用同样的embedding模型embed问题,然后在向量库里按余弦相似度查top-k近邻。第三可选rerank:把top 20-50块扔给cross-encoder重排模型(bge-reranker、Cohere Rerank),这是个小模型能同时读问题和候选块,排序比纯embedding相似度准得多。保留top 3-5进prompt。第四hybrid search:实战中把dense embedding检索和sparse BM25关键词检索组合(reciprocal rank fusion或加权求和),能抓住embedding容易漏的专有名词、产品型号、数字等精确关键词。第五prompt组装:"基于以下context回答,如果context里没有答案就说不知道。Context: [检索到的块]。Question: [用户问题]。"发给LLM。RAG vs fine-tuning:两个解决不同问题。RAG注入知识——事实、文档、不断变化的领域信息。Fine-tuning塑造行为——语气、输出格式、特定指令跟随。"和企业文档聊天"的常见场景几乎都是RAG——文档频繁变,fine-tuning又贵又容易过时。两者其实互补——可以fine-tune输出格式同时用RAG找事实。要小心的失败模式是检索不到时的幻觉——即使加了"不知道就说不知道",模型有时还是会胡诌。缓解手段:检索分数阈值、prompt里要求引用来源、用Ragas这类框架评估生产忠实度。

实用技巧

  • 端到端走pipeline——"分块、embed、存、检索、rerank、prompt"——是面试官想要的骨架。

  • 一定要提rerank——很多候选人漏掉,但在生产是巨大质量杠杆。

  • "RAG给知识fine-tune给行为"是取舍的最锐利总结。

  • 临场忘了向量库或rerank模型名字,即答侠可以提示Qdrant/Pinecone/bge-reranker/Cohere Rerank。

常见问题

embedding模型的作用?

把文本映射成向量,语义相似度对应向量距离。选型很重要——OpenAI text-embedding-3-small通用;bge、e5是强开源选项;领域语料可以fine-tune专属embedder。

怎么评估RAG系统?

Ragas这类框架测忠实度(答案在context内吗)、相关性、context精度/召回。配合golden set做人工评测。

RAG贵吗?

比fine-tune便宜很多。主要成本:语料embedding一次、向量库hosting、每次查询的embedding + LLM推理。动态语料场景,比定期重训便宜几个数量级。

面试时担心忘词?即答侠实时助你

即答侠 AI 实时监听面试对话,自动识别问题并即时生成回答建议——无感辅助,让你从容应对每一道题。

免费试用即答侠