RAG 系统完整工作流程

RAG(Retrieval-Augmented Generation,检索增强生成)系统从用户发出消息到返回应答,中间经历多个关键步骤。下面通过几张图表来详细说明整个流程。


一、端到端总览流程图

👤 用户发出消息 / 提问

📝 Query 预处理
(意图识别、纠错、改写)

🔍 向量检索 / 混合检索
(从知识库中召回相关文档)

📊 文档排序与重排
(Rerank,精筛 Top-K)

📦 上下文组装 / Prompt 构建
(System + Context + Query)

🤖 LLM 生成回答

✅ 后处理
(答案校验、引用标注、格式化)

💬 返回应答给用户


二、详细检索流程(核心环节)

🔍 检索与融合

📚 知识库(离线构建)

原始文档

文档切分
Chunking

Embedding 模型
向量化

Vector DB
向量数据库

全文索引
BM25/ES

用户 Query

Embedding 模型
向量化

向量相似度检索

关键词检索

🔄 混合融合
RRF

Rerank 精排

Top-K 结果


三、时序图:各组件协作过程

✅ 后处理模块 🤖 LLM 大模型 📊 Reranker 🔎 全文检索 🗄️ 向量数据库 🔍 检索服务 📝 预处理模块 🌐 API Gateway 👤 用户 ✅ 后处理模块 🤖 LLM 大模型 📊 Reranker 🔎 全文检索 🗄️ 向量数据库 🔍 检索服务 📝 预处理模块 🌐 API Gateway 👤 用户 par [并行检索] 发送消息 / 提问 转发 Query 意图识别 / Query 改写 / 关键词提取 优化后的 Query 向量相似度搜索 Top-N 返回候选文档片段 关键词检索 Top-N 返回候选文档片段 合并候选结果,请求精排 交叉编码器 / 语义重排 返回 Top-K 最相关片段 返回检索上下文 发送 Prompt(System + Context + Query) 基于上下文生成回答 (减少幻觉,增强准确性) 返回原始回答 引用溯源 / 事实校验 / 格式化 返回最终回答 返回应答(含引用来源)

四、离线索引构建流程(前置准备)

RAG 系统在服务用户之前,还需要一个离线知识库构建的过程:

📄 多源文档
PDF / Word / HTML / DB

📝 文档解析与清洗
提取纯文本、表格、图片描述

✂️ 文本分块 Chunking
固定大小 / 语义切分 / 递归切分

🧠 Embedding 向量化
Text → Vector

🔎 全文索引构建
BM25 / 倒排索引

Vector DB
Milvus / Pinecone / Weaviate

Elasticsearch
OpenSearch


五、各步骤关键说明

步骤 说明 关键技术/组件
① Query 预处理 意图识别、纠错、Query 改写、多轮对话历史截取 LLM / 规则引擎 / NLU
② 向量检索 将 Query 转为向量,在向量数据库中做 ANN 近似最近邻搜索 Milvus, Pinecone, FAISS, Weaviate
③ 混合检索 结合向量检索 + 关键词检索(BM25),提升召回率 ElasticSearch, RRF 融合
④ Rerank 精排 用交叉编码器对召回文档做精细化排序 Cohere Rerank, BGE-Reranker, ColBERT
⑤ Prompt 组装 将检索到的上下文拼接到 Prompt 模板中,控制 Token 长度 Prompt Template, Token 管理
⑥ LLM 生成 大模型基于上下文生成答案,减少幻觉 GPT-4, Claude, 通义千问, DeepSeek
⑦ 后处理 引用溯源、事实校验、答案格式化、安全过滤 规则引擎 / LLM 审核链

六、整体架构思维导图

RAG 系统

离线构建

文档采集

解析清洗

文本分块 Chunking

向量化 Embedding

索引存储

在线服务

Query 预处理

意图识别

Query 改写

HyDE 假设文档

检索阶段

向量检索 ANN

关键词检索 BM25

混合融合 RRF

Rerank 精排

生成阶段

Prompt 组装

LLM 推理

后处理

优化方向

Chunking 策略

Embedding 微调

检索策略优化

RAG-Fusion

Self-RAG

GraphRAG


总结

一句话概括:用户提问 → 改写优化 Query从知识库检索相关文档(向量 + 关键词混合检索 → Rerank 精排)→ 拼装 Prompt(上下文 + 问题)LLM 基于检索内容生成回答后处理返回用户

核心价值在于:LLM 的回答不是凭空生成的,而是基于真实检索到的知识库内容,从而大幅降低幻觉提高准确性,并可以追溯引用来源


(END)

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐