深度解析: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 的核心思想不是"让模型更聪明",而是通过检索机制,把模型放进一个确定、可验证的知识上下文中,让它在受控条件下完成任务。

相关推荐
沛沛老爹2 天前
MCP 实战:打造股票分析助手系统
java·rag·企业开发·mpc·发展趋势·web转型
fanruitian3 天前
Springai RAG 外挂知识库增强
llm·知识库·rag·springai·elt·外挂知识库
gentle coder3 天前
【大模型应用开发】Langchain4j基础知识(持续更新中~)
java·agent·function call·rag·智能体·langchain4j
viperrrrrrrrrr74 天前
多模态RAG
llm·rag·mmrag
夏日白云5 天前
《PDF解析工程实录》第 12 章|别让模型贴着墙走:为什么加一圈空白,效果反而更好?
图像处理·机器学习·pdf·llm·大语言模型·rag·文档解析
赋范大模型技术社区5 天前
垂直领域 RAG 的第一块基石:LangExtract 信息抽取与可溯源结构化
信息抽取·rag·垂直领域·langextract