深度解析:RAG(检索增强生成)从提问到回答的通用工程逻辑

在生成式 AI 落地应用中,RAG(Retrieval-Augmented Generation)已成为解决大模型"幻觉"、知识滞后及缺乏私域数据支撑的核心方案。

本文将通过"标准工程版"视角,为你拆解 RAG 从接收用户提问到输出最终答案的全链路逻辑。


一、 RAG 的核心灵魂:一句话总纲

RAG 的通用逻辑可以概括为:
将用户问题转化为"可检索的问题",从外部知识中检索最相关的内容,再把这些内容作为上下文约束大模型生成答案。

本质: 让"不确定"的模型,运行在"确定"的知识之上。


二、 标准 RAG 七步法:工程全链路拆解

从用户点击发送到答案生成,标准 RAG 流程遵循以下七个关键步骤:

Step 1:用户提问 (User Query)

原始提问通常是口语化、信息不完整或带有歧义的。注意:这一步的问题通常不可直接用于高质量检索。

Step 2:问题理解与改写 (Query Processing)

  • 目标: 让问题"更适合检索"。
  • 典型操作: 意图识别、关键词补全、技术化改写、多子问题拆分(Multi-Query)。

Step 3:问题向量化 (Query Embedding)

  • 将改写后的 Query 映射到语义空间。
  • 工程要求: 必须与文档向量化使用同一 Embedding 模型。

Step 4:检索相关知识 (Retrieval)

  • 从向量数据库中寻找相关 Chunk。
  • 模式: 向量检索(Top-K)、关键词检索(BM25)或混合检索(Hybrid Search)。

Step 5:结果整理 (去重 + 重排 Re-Rank)

  • 重排(Re-Rank): 引入交叉评分模型,计算 Chunk 与 Query 的真实相关性,过滤噪声,留下"信息密度最高"的内容。

Step 6:上下文构造 (Context Construction)

  • 将检索到的片段、系统指令(System Prompt)与原始问题拼接。
  • 约束: 强制要求模型仅基于提供的资料回答。

Step 7:大模型生成 (Generation)

  • 模型在受控条件下完成生成。这不是"自由发挥",而是"基于证据的归纳"。

补充步骤(Step 8):答案后处理

包括添加引用来源(Citations)、风险内容过滤及格式化输出(JSON/Markdown)。


三、 深度对比:为什么我们需要 RAG?

维度 直接问大模型 (Pure LLM) RAG 模式
知识来源 模型预训练参数 外部实时/私域知识库
知识可更新性 差(需重新微调) 强(实时更新索引)
幻觉风险 高 低(基于证据)
可追溯性 无(无法提供出处) 有(可标注引用来源)
工程可控性 弱(黑盒) 强(各环节可调优)

四、 总结

1. 流程公式

Answer=LLM(Instructions+Context(Retrieve(Embed(Rewrite(Query)))))Answer = LLM(Instructions + Context(Retrieve(Embed(Rewrite(Query)))))Answer=LLM(Instructions+Context(Retrieve(Embed(Rewrite(Query)))))

2. 核心思想

RAG 的核心思想不是"让模型更聪明",而是通过检索机制,把模型放进一个确定、可验证的知识上下文中,让它在受控条件下完成任务。

相关推荐
救救孩子把13 小时前
生产 RAG 检索故障怎么查?沿着正确证据逐站定位
rag·rag检索·准确度
仙逆GPT13 小时前
ChatGPT、Codex工程实战:Agent接入企业知识库,文档明明更新了,为什么回答还是旧版本?
chatgpt·codex·rag·企业知识库·ai agent
第404块砖头2 天前
Spring Boot 4.1 + Spring AI 2.0:我如何用 Java 微服务把 RAG、知识图谱和 MCP 协议串成一个 Agent 平台
知识图谱·知识库·graph·rag·mcp·spring boot 4.1·spring ai 2.0
code2cat2 天前
【随笔】RAG混合检索:让关键词与向量一起找证据
人工智能·rag·混合检索
lgcgkCQ2 天前
【AI 转型实战 1】SpringAI 入门:搭建基础大模型对话能力
java·ai·agent·rag·spring ai·mcp·langchain4j
Flynn Liang2 天前
RAG 答非所问/幻觉怎么破?Spring AI QuestionAnswerAdvisor 召回优化实战(TopK/重排/混合检索)
人工智能·算法·spring·rag·幻觉·springai
Flynn Liang2 天前
内存/Redis/PGVector/Milvus/ES 怎么选?Spring AI VectorStore 抽象与向量库选型对照表
redis·elasticsearch·milvus·rag·springai·pgvector·向量库
ynchyong3 天前
OpenAI 技术全景解析
openai·rag·function·guardrails
一枕槐安4873 天前
RAG 服务扛住高并发:缓存、队列、限流三件套
java·spring·缓存·异步任务·rag·断路器
Maiko Star4 天前
【HM-LC】LangChain RAG查询优化详解:查询重写、混合检索与重排序实战
langchain·rag