RAG 的工作机制


RAG工作机制全解析

一、什么是RAG?

RAG,即Retrieval Augmented Generation(检索增强生成),其核心逻辑是通过“检索+生成”的组合模式提升AI回答的准确性与针对性,核心围绕两件事展开:

  1. 优先从预设的资料库中检索与用户问题相关的内容;

  2. 基于检索到的精准素材,结合大模型生成符合需求的答案。

二、RAG的核心使用场景

目前RAG最典型的应用场景是智能客服领域,其产品内部实现需依托大模型(如DeepSeek、豆包等)作为基础支撑,具体应用逻辑为:

用户提出问题后,系统先从内部知识库中检索匹配的相关信息,将检索结果与用户问题一同输入大模型,经过模型处理后生成精准回复反馈给用户。这种模式能有效避免大模型“一本正经地胡说八道”,确保回答贴合业务场景、有据可依。

三、RAG工作流程拆解

RAG的完整工作流程可分为“提问前的准备阶段”和“提问后的回答阶段”两大核心环节,每个环节都包含明确的执行步骤:

(一)准备阶段:分片与索引(提问前)

该阶段的核心目标是将原始文档转化为可高效检索的结构化数据,为后续精准匹配奠定基础,具体分为两步:

1. 分片

按照预设规则将原始文档切割为多个独立的文本片段,常见切割维度包括:字数阈值(如每500字一切片)、段落边界、章节划分、页码拆分等。通过分片可避免因文档过长导致的检索效率低、匹配精度差的问题。

2. 索引

索引是实现高效检索的关键,核心是将文本片段转化为机器可识别的向量数据,具体流程为:

  • 通过Embedding(嵌入)模型将每个文本片段转换为向量形式(Embedding操作需由专有模型完成,相关模型性能可参考Embedding模型排行榜);

  • 将转换后的向量数据与对应的原始文本片段一同存储到向量数据库中。向量数据库的核心作用是专门用于存储、管理向量数据和关联的文本数据,支撑后续快速的向量相似度查询。

(二)回答阶段:召回、重排与生成(提问后)

当用户提出问题后,系统进入回答流程,通过三步递进式处理生成精准答案:

1. 召回

核心是从向量数据库中筛选出与用户问题相关的文本片段,具体操作:

先将用户的提问通过Embedding模型转换为向量,再利用向量相似度算法(常见的有余弦相似度、欧氏距离、点积等),从向量数据库中匹配出与提问向量最相近的多个文本片段(例如10个)。召回环节的定位是“初筛”,重点保证覆盖性,筛选出所有潜在相关的素材。

2. 重排

对召回的多个片段进行二次精准筛选,从初筛的结果中进一步精简出最核心、最匹配的少数片段(例如从10个精简到3个)。重排环节相当于“精挑细选”,目的是剔除干扰信息,提升后续生成答案的精准度。

3. 生成

将用户的原始提问、重排后筛选出的核心参考片段一同输入大模型,模型结合提问需求和参考素材,生成逻辑连贯、内容准确的回答,最终反馈给用户。