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

相关推荐
叫我Paul就好9 小时前
RAG 从入门到精通 - 基础版本
人工智能·软件工程·rag
小程故事多_8020 小时前
边缘端OCR+RAG文档智能问答系统,落地实践与全场景解析
ocr·rag
染指11101 天前
61.RAG-RAG存在的问题
人工智能·llama·rag·llama_index·llamaindex
独码侠2 天前
Dify 开源深度实践:从企业部署到二次开发的全景拆解
知识库·dify·rag·ai工作流
Esaka_Forever2 天前
RAG、提示工程、微调三大方案场景完整梳理与补充总结
rag
要开心吖ZSH4 天前
AI医疗分诊与健康咨询助手agent开发——(4-2)从零到一:我给AI医疗分诊助手加了个“知识库大脑“,终于搞懂了RAG是什么
java·docker·agent·医疗·rag
sugar__salt4 天前
Document 切割:RAG 知识库数据预处理实战
javascript·langchain·embedding·js·rag·cheerio
@atweiwei4 天前
Langchainrust:中LLM-as-a-Judge,用 Rust 实现一套 LLM 评估系统
开发语言·后端·ai·rust·llm·rag
呆呆敲代码的小Y5 天前
RAG 表格解析完全指南:xParse、PaddleOCR、MinerU 实测对比并接入Agent使用
ai·llm·agent·rag·表格解析·xparse
染指11106 天前
56.llama_index-查询引擎
人工智能·llama·rag·llama_index·llamaindex