AI训练师必须了解的-RAG检索增强项目

在AI应用日益深入的今天,RAG(Retrieval-AugmentedGeneration)正成为提升模型实用性的关键技术。本文将从AI训练师的视角出发,系统拆解RAG的核心机制、应用场景与训练要点,帮助你在构建高质量智能体时少走弯路、精准发力。

今天我向大家介绍检索增强也就是RAG,在公司里面也是一个独立的项目,并且有自己的考核指标。带着4个问题来一起了解RAG

1、什么是RAG

2、为什么大模型要做RAG

3、RAG的技术原理

4、如何做RAG(AI训练师在做RAG项目的时候,具体做那些内容)

一、RAG定义

中文名检索增强生成,是AI领域非常重要的一种技术方案。其核心作用是给LLM大模型外挂专门的知识库,指导大模型生成更准确的输出。

这块我们需求记住几个关键词:

1、RAG检索增强

2、RAG是一种技术方案

3、给LLM大模型外挂专门的知识库

什么是RAG(Retrieval-augmentedGeneration)

简单理解,RAG让大模型先去查资料,这里资料指的就是RAG知识库,在生成回答。会让模型的回答更加精准更加贴合用户需求

RAG的资料来源

资料从哪里来呢,首先可以从网上获取,还有一种方式就是本地知识库,它的来源有两种方式,一种外部知识库,即联网搜索,另一种本地知识库。

外部知识库:不只是搜索引擎,比如去查询一些天气情况,特定的API访问,也是一种检索增强。

本地知识库:部署在本地服务器上,硬盘或者电脑上,通过这种检索方式可以查询本地特有资料

工具分享

这里分享一个,几个主流的模型盲测网站,涵盖文本、多模态等不同领域,用户可通过匿名投票或系统自动评估参与模型性能对比

LMArena

官网:https://arena.lmsys.org/

GenAI-Arena

官网:https://genai-arena.org/

特点:由滑铁卢大学团队开发,专注于多模态模型盲测,覆盖文本到图像生成、图像编辑、文本到视频生成三大任务。用户上传提示词后,系统随机展示两个匿名模型的生成结果,用户通过投票决定优劣。

二、为什么大模型要做RAG

1.存在幻觉问题

首先我们现在的模型都是生成式模型,既然是生成式模型,就会有概率出现各种各样的问题。而这解决的第一个问题是模型的幻觉问题。

本质上大模型是基于数学概率统计,它就可能会出现胡言乱语。

举例子,我询问你吃饭了吗,模型会如何回复呢,假如70%的人都回复吃饭,另外29.999%的人回复没吃饭。

另外有一个神经病人回复了,我在北京。注意,因为模型是概率性的模型,所以我在北京回答有可能被选中。

那个回答只是概率极低,并不意味着没有。因此,模型目前非常致命的问题是幻觉问题,这可以很好地解决模型存在幻觉问题。

2.缺乏对专业领域的知识理解

举个例子:

1、我去问大模型豆包,红烧排骨如何制作?

2、我在专业美食app里面去查询,红烧排骨如何制作?

哪个回复得更专业,更贴合用户,肯定是在专业美食app里面去查询的更专业。因为这个网站就是专门做美食的数据就更精准。

因为传统大模型,是偏全知全能的,虽然他们掌握了所有知识,但是知识不够深入。这里我们就可以通过外挂知识库的方式,让模型更好地回复红烧排骨制作流程。可以很好地解决它在垂直领域知识缺失的问题。

3.时效性不足

举个例子:

当你在使用模型时,你把模型联网搜索给关闭,问模型明天的,天气怎么样。模型根本不会回复你,因为问的问题太新了,训练的语料还没有给到大模型。由于模型的训练语料在训练结束那一刻,他的知识已经被定格在那个时间

为什么出现时效性不足?

首先各业务线生成一个数据集,这些数据集经过算法评估之后认为可行,然后一起上车。上车后不进行训练,例如在公交站里面上车后,是否相当于需要等待一批人?相当于需要几个业务线的数据一起完成,然后我们一起交给模型训练。这是对等的过程。它的周期最短的差不多15天,长点的可能是两个月或者半年。

4.缺乏对生成结果的可解释性

举个例子

我们问模型珠穆朗玛峰的高度是多少

A模型给的回复:8848米

B模型给的回复:8848米,数据来源于,2025年某登山队测量的结果,上面出现一个角标,可以点击进入的网页。

这样对比肯定是,B模型给的回复更可信。数据来源可查,模型生成回复的结果,解释性更强,数据来源可查,就是可以利用RAG的方式。

举个例子:

总结一下为什么要做RAG:

1、解决大模型存在幻觉的问题,RAG需要结合材料进行回复减少幻觉问题

2、解决大模型在垂直领域知识缺失的问题

3、解决问题时效性不足,模型训练周期较长,最新数据或知识模型无法及时提供。

4、解决缺乏对生成结果的可解释性,注明数据来源

三、RAG技术原理

我们分为几个过程:

第一首先是文件索引过程,索引的过程就是将准备的资料或材料,用嵌入式模型进行向量化,这个过程我们称为索引

第二,是检索用户输入的问题与资料库是否匹配,如果匹配将用户的问题和匹配资料一起提交给大语言模型。大语言模型会根据这些内容生成结果。

整个流程分三个步骤,先索引,将文件分割成较短的块,通过编码器进行索引,嵌入式模型会将文件切割成许多块。

我们解释一下什么是索引:

索引:给资料构建“智能知识库”

索引是整个流程的“准备工作”。它不像传统目录只记录关键词,而是为知识建立语义目录。

资料处理:RAG系统首先将所有参考资料(文档、网页等)拆分成大小适度的小块(Chunking)。

向量化:随后,系统利用嵌入模型和Embeddings技术,将每一小块文本内容转化为高维度的数字序列(即向量)。这些向量代表了文本的语义信息。

构建知识库:最后,这些带语义信息的向量会被存入向量数据库(VectorDatabase)中。这个数据库就是AI专用的“智能知识库”,后续的检索将基于这些数字化的语义信息进行。

我们解释一下什么是检索:

检索:按语义快速“匹配素材”

检索就是“找资料”的动作,但它比关键词搜索更智能、更准确。当你提出一个问题时,RAG不会进行简单的字面匹配。

问题向量化:RAG会先把你的问题也转化为一个向量。

语义匹配:接着,系统会在向量数据库中,计算问题向量与所有资料向量之间的相似度。相似度越高,代表两段内容的“意义”越接近。

提取核心素材:系统会根据相似度分数,快速挑选出与问题语义最相关的3-5个资料片段。这些片段就是AI用来回答问题的“核心素材”(Context)。

最后是生成

生成:用素材“组织通顺答案”

生成是最后“写答案”的环节。大型语言模型(LLM)拿到检索来的核心素材后,会像一个拥有背景资料的专家。

整合与推理:LLM将用户问题和检索到的上下文素材一起放入下文窗口

忠实度优先:LLM会结合自身的基础常识和表达能力,以检索素材为主要依据,组织、推理并生成一个通顺、自然的答案。

最终输出:最终输出的答案既能保证准确性(Grounding/忠实于来源),又能保证流畅性和可读性。

四、RAG的核心使用场景:以智能客服为例

若要搭建一个能回答公司产品相关问题的智能客服,核心需求是让系统基于企业产品手册、公司信息等专属文档,通过大模型生成准确回复。但直接将文档投喂给大模型存在明显局限,而RAG(检索增强生成)正是为解决这些问题而生。

上下文窗口长度限制

大模型(如ChatGPT、GLM、豆包等)的输入能力受限于“上下文窗口”(以token为单位计量)。企业产品手册长达数百页,其token总量远超多数模型的窗口上限,导致文档内容无法被模型完整接收(超出部分会被截断或忽略),进而无法基于完整信息生成回复。

信息处理不完整,回复准确率低

若强行输入超长文档,模型会因窗口限制“丢失”部分内容,且可能对未丢失的信息产生混淆(例如遗忘前文关键细节),导致回复与文档事实不符,无法满足客服对准确性的要求。

模型无法读取所有的内容

模型只能存储一定量的信息一般我们称为上下文窗口大小,超过了量模型就会忘记前面的,模型回复准确率无法有保障。

推理成本过高

输入越多,成本越高。消耗掉很多token量,对于公司来说就成本。

模型推理慢

输入的越多,模型需要消化的内容就越多,模型输出就会越慢

我们直接把产品手册丢给大模型是不行的,这时候我们就用到了RAG

五、RAG是如何解决问题的

当用户提问,产品能效如何

首先把产品手册分割成多个片段,当用户提出问题的时候,就会根据用户的问题,在所有片段中寻找相关的内容。

举例子所有片段中,只有五个片段与用户问题有关。就会把用户问题加上这五个片段一起发送给大模型。这时模型输入的内容相比较整个文档就会少很多,只会检索到这五个片段加上用户问题,就解决了模型处理不了这么多内容的问题。

RAG运行过程是这样的

1、如何切片?

2、如何选择相关片段?

涉及RAG技术原理

可以把技术原理拆分两个部分,提问前和提问后。

提问前会有分片,就是索引

提问后会有召回,重排和生成

什么是分片

简单解释:就是把文档切分多个片段

比如前面举的例子,分片会有很多方式,比如按照字数去分。每1000字或者每500字,也可按照段落去分。还可以按照章节去分,产品介绍第一章是什么内容,也可可以按照页数去分。

每个公司采取的方式不一样,最终目的将文档切分成多个片段

索引

将分段文本转化成向量,再将文本和向量存入数据库中

1、通过Embedding将片段文本转化为向量

2、将片段文本和片段向量存入数据库中

什么是向量,什么是向量数据库,什么是Embedding

什么是向量

代表有大小方向的量、可以用数组去表示

向量又分类为,一维向量,二维向量,三维向量

我们可以用数组去表示,一维向量,二维向量,三维向量。

先用一个图表示什么是一维向量,这里只有一个轴就是一维的

二维向量不只有X轴还会有Y轴

三维向量,可以用图这样去理解

什么是Embedding

把文本转化成向量的一个过程,我们用二维图去示例

小明喜欢吃水果,它代表数是3.9和1.2,这个理解为向量转化为数组

在说一句话,今天天气很冷,跟上面小明爱吃水果这句话,没有什么相关性离得就会比较远。比如我们在说一句,小红爱吃水果,这两段话离得比较近

这就是Embedding目的相近的文本,向量也是相近的

再举个示例:

当一个用户提出一个问题,产品的能效如何,这句话经过Embedding模型把这句话向量化变成数组

数组会有不同方位,整个过程就是用户提出问题,这个问题转化成向量,所看到的数组都是向量,然后根据向量相似度,会把和这个问题相关的文本都找出来,最后把问题和相关的文本一起发给大语言模型。

什么是向量数据库

就是用来存储和查询向量的数据库

举个示例

我们把产品手册分好片段,Embedding模型转化成向量,存入向量数据库

有一点我们需要注意,不仅要存储向量,还要将向量对应的文本一起存入向量库。

只要这样才能够通过向量相似度去查询出相似的向量。把对应的文本给抽出来。发给大模型。让大模型去处理,我们最终需要的还是原始文本。向量只是中间的一个结果。

AI训练师的工作是控制生成过程,AI训练师如何做RAG项目

学习项目需求、背景目标和标注策略。我们先了解背景过程

整个项目背景

在对话AI助手下,用户提出了某些问题,而这些问题可能超出AI助手的基础知识,因此需要AI助手借助外部信息回答。外部信息主要指网上搜索到的结果以下统称为参考资料。给定一段对话,和1~3个参考材料。我们需要利用正确的参考资料给出高质量的回复,相当于训练模型的材料阅读理解加回答问题的过程。

拆解一下项目背景:

用户问的问题超出了模型的能力,超出的能力,可能是时效性,或者专业领域的知识等,这些是模型没有办法回复的。所以AI助手需要借助,外部的信息进行回答,就是指RAG知识库。外部信息,有能是本地的也有可能是联网的。需要模型结合1~3个材料进行回复,相当于训练模型的材料阅读理解加回答问题的过程。

模型既能读懂RAG里面材料,并且根据问题结合材料进行回答。

下图RAG真实数据

一个RAG项目必然包含,这三个部分

第一个是问题,这个问题有可能是单轮的也有可能是多轮的,还有可能是在,多轮对话基础提出新的问题。

第二参考材料有两种,一种外部联网搜索,一种本地知识库

第三个回答,需要查看是否根据问题进行回答两个判断,必须响应问题,第二个必须结合材料回答。

查看标注概要

标注概要分为主线任务和支线任务

主线任务

指的是用户问的问题,没有问题,材料没有问题,回答没问题,这部分数据我们称为主线任务。

主线任务让模型学习,根据材料结合问题生成答案的能力。把好的数据给标注出来

支线任务

有问题的数据,比如用户问的问题,有问题。材料有问题,回答有问题,这些数据AI训练师都要标记出来。目的是让模型规避这些问题。模型在训练时有正向加权和负向减弱,意思是让模型学习好的,放弃不好的。

什么是问题数据

问题有问题,如逻辑不通,语意不清、上下文矛盾,政治敏感等

参考材料有问题:如材料缺失、常识性缺失、材料准确性问题、材料之间有矛盾冲突

回答问题:模型回答内容不满足优质回答条件,基于通用的单轮对话规则

高频面试问题:

你们的项目为什么要做RAG

教育项目为例

回答思路:我们最开始已经训练好了基座模型,这时候模型已经有了基础问答能力。

这时我们发现有些学生在询问,中小学五年级下册,第六单元作文的中心思想是什么?

模型回答不出来,最初通过大量语料训练,发现模型回复不精准,我们就创建一个外部知识库,我们把教育部所有的电子文章都放在了RAG里面。

如果这时用户再去问。中小学五年级下册,第六单元作文的中心思想,我们模型就会结合RAG进行回复,这时模型回复的就会更加精准贴切。解决了模型幻觉问题,专业领域知识问题,可解释性问题。

在举例子

比如我们当时做了一个汽车销售模型,用户问了一些最新款的车辆,结果我们的模型没有,这时RAG解决时效性问题。