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

相关推荐
秋名山码民14 天前
Graph RAG 深度解析:从向量检索到知识推理的技术演进
大数据·人工智能·rag
Artech14 天前
[MAF预定义的AIContextProvider-01]TextSearchProvider——RAG在MAF中的实现
ai·agent·rag·maf
染指111015 天前
26.RAG进阶(Advanced RAG)-假设性问题索引
人工智能·windows·agent·rag·advanced rag
SXJR15 天前
spring boot + langchain4j +milvus实现向量存储
java·spring boot·后端·大模型·milvus·rag·langchain4j
deephub15 天前
Flash-KMeans:快速且内存高效的精确 K-Means,可在单张 GPU 进行亿级数据的聚类
人工智能·机器学习·kmeans·聚类·rag
四六的六15 天前
WebView里跑RAG——浏览器内知识检索增强实战
前端·实战·个人开发·webview·ai大模型·rag·webview内嵌开发
Attachment George15 天前
山东大学软件学院-项目实训-个人开发日志(十):材料问答链路开发——文档解析、OCR兜底与持续追问完善
python·ai·langchain·kotlin·rag
knight_9___15 天前
AI Agent 是什么?
人工智能·python·agent·rag·mcp
程序员三明治15 天前
【AI】从文本到向量:理解Embedding的作用
java·人工智能·后端·llm·元数据·rag·向量化
不爱洗脚的小滕16 天前
【Agent】如何为 AI Agent 设计高可用的 Tools
人工智能·aigc·ai编程·rag