本文以面试问答形式,系统拆解了 RAG 系统在线工作流程的六个核心步骤,从 Query 预处理到溯源生成,详细解释了每个环节的技术原理和工程细节。
📝 详细摘要
文章以 Shopee 面试场景切入,指出仅回答「检索 + 生成」的不足,随后详细拆解了 RAG 在线流程的六个步骤。第一步是 Query 预处理,通过改写、HyDE 或多角度扩写将口语化问题转化为适合检索的形式。第二步是 Query Embedding,强调必须使用与离线建库完全相同的 Embedding 模型,否则向量空间不兼容。第三步是向量检索与多路召回,结合 ANN 搜索和 BM25 全文检索,通过 RRF 算法融合结果,兼顾语义相似性与关键词精确匹配。第四步是 Rerank 精排,使用 Cross-Encoder 模型对粗排结果进行深度语义匹配,过滤噪音。第五步是 Prompt 拼装,通过明确指令约束大模型仅依据参考资料回答,抑制幻觉。第六步是生成与溯源,要求模型标注引用来源以提升可信度。文章最后总结了各环节的耗时分布和常见优化手段,如缓存高频 Query 和并行执行多路召回。
💡 主要观点
- RAG 在线流程的核心是「检索 -> 整理 -> 生成」的流水线,而非简单的两步。 用户提问不能直接用于检索,需经过 Query 预处理、向量化、多路召回、精排、Prompt 拼装等多个环节,才能让大模型基于高质量参考资料生成答案。
💬 文章金句
- RAG 的在线流程本质是一个「精准取件」的过程:从海量知识里找到和这个问题最相关的那几段,然后再让大模型在这个「小范围」里作答。
- 用 A 模型建的库,如果用 B 模型来检索,两边的向量就像在不同坐标系里,距离计算完全没有意义,检索结果会一塌糊涂。
- 向量检索对精确词语(比如产品型号、专有名词、错误拼写)的识别能力比较弱,而 BM25 对这些精确匹配反而更在行。
- Rerank 是 Cross-Encoder 结构,需要把查询和每个候选拼在一起过模型,计算量比向量检索大得多。如果拿它对百万条数据逐一算分,延迟完全不可接受。
- 大模型即使在有参考资料的情况下,依然可能过度发挥或者误读资料,溯源让用户有能力判断哪些内容是可靠的、哪些需要再确认。
📊 文章信息
AI 初评:82
来源:小林coding
作者:小林coding
分类:人工智能
语言:中文
阅读时间:19 分钟
字数:4667
标签: RAG, 检索增强生成, 向量检索, BM25, Rerank