RAG 系统的经典工作流程

RAG 的核心思路其实很简单:先检索,再生成 。整个流程可以分为两大阶段 ------离线构建知识库在线问答推理,每个阶段又包含几个关键步骤。

一、 离线阶段:搭建专属知识库

这一步是 RAG 的基础,简单说就是把海量的非结构化数据变成机器能看懂、能快速检索的格式。

1. 文档加载与预处理

首先要把分散的数据源 "喂" 给系统。不管是本地的 Word 文档、线上的网页文,还是数据库里的结构化数据,都需要通过对应的加载器导入。导入后还得做预处理:去除无关的格式符号(比如 PDF 里的页眉页脚)、纠正错别字、统一文本编码,有的复杂文档还需要做语种检测和翻译。这一步就像整理书架,先把杂乱的书籍分类清理,为后续整理做准备。

2. 文本分割

长篇大论的文档没法直接用来检索,必须切成一个个短小精悍的 "文本块"。

为什么要切?因为大模型的上下文窗口有限,而且小文本块的语义更聚焦,检索准确率会更高。分割的技巧很关键,不能硬邦邦按字符数切,最好是按语义分割------ 比如按段落、按章节标题,或者用句子嵌入模型判断语义边界,保证每个 Chunk 的内容完整且独立。

3. 向量化与存储

这是离线阶段最核心的一步。计算机看不懂文字,但能看懂向量。我们需要用嵌入模型 ,把每个文本块转换成固定长度的向量。这个向量就像文本的 "语义指纹",相似内容的向量距离会更近。生成的向量会被存入向量数据库 。向量数据库的优势在于能快速做近似最近邻搜索,毫秒级就能从百万级向量里找到和查询最匹配的文本块。

二、 在线阶段:检索 + 生成

当用户提出一个问题时,RAG 系统就会启动 "检索 - 生成" 的联动模式。

1. 用户查询处理与向量化

系统先接收用户的自然语言问题,比如 "LlamaIndex 的核心功能有哪些?"。和离线阶段的文本块一样,这个问题也需要用同一个嵌入模型转换成向量。这里要注意,必须用和知识库向量相同的模型,否则生成的向量 "语义指纹" 不兼容,检索就会失效。

2. 相似性检索

系统把用户问题的向量传入向量数据库,执行相似性搜索。数据库会根据向量距离,返回和问题最相关的 Top-N 个文本块 ------ 这些就是回答问题的 "证据"。比如用户问 LlamaIndex 的功能,数据库就会检索出包含 LlamaIndex 核心模块、使用场景的文本块。

3. 构建提示词并调用大模型

这一步是连接检索和生成的桥梁。系统会把用户问题检索到的文本块,按照一定的格式拼接成一个提示词。一个典型的提示词模板大概是这样的:

请根据以下参考信息回答问题,只使用参考信息中的内容,不要编造。

参考信息:检索到的文本块 1检索到的文本块 2

用户问题:用户的原始问题

然后,这个精心构造的提示词会被发送给大语言模型(比如 GPT-5,DeepSeek)。

4. 生成并返回答案

大模型接收到提示词后,会基于参考文本块的内容,结合自身的语言理解能力,生成准确、有据可依的回答。最后,系统把这个回答返回给用户,整个流程就完成了。

相关推荐
金銀銅鐵1 小时前
[Python] 基于欧几里得算法,实现分数约分计算器
python·数学
冬奇Lab3 小时前
Workflow 系列(03):状态管理——持久化、幂等性与版本绑定
人工智能·工作流引擎
Lyn_Li3 小时前
Kaggle Top 5 | 198只股票、200条数据的金融预测——BattleFin高分方案从零复现
python·kaggle·比赛复盘·金融预测
冬奇Lab3 小时前
每日一个开源项目(第146篇):openpilot - 开源自动驾驶辅助系统,曾在 Consumer Reports 评测中超过特斯拉 Autopilot
人工智能·开源·自动驾驶
吴佳浩4 小时前
AI 工程师知识地图:模型格式、框架、部署工具一次讲明白
人工智能·aigc·ai编程
IT_陈寒5 小时前
Java的Date类又坑了我一次,改用时间戳真香
前端·人工智能·后端
码农胖大海5 小时前
AI额度不够用的解决方案
人工智能
后端小肥肠5 小时前
小红书虚拟商品怎么做?我先用 Skill 跑通了壁纸品类
人工智能·aigc·agent
feiyu_gao5 小时前
从零搭建个人 AI 工作台:一个管理者的 3 个月实验
人工智能·aigc·团队管理