【人工智能】AI基础知识(第七节:RAG)
【人工智能】AI基础知识第七节RAGAI基础知识第七节RAG【人工智能】AI基础知识第七节RAG一. 引入问题二. 私有数据向量化1语义搜索2向量3向量化三. RAG的流程说明1如何让大模型知道要进行RAG2RAG真正的流程一. 引入问题当 Agent 向大模型提问“XXX公司最近有什么八卦新闻”时由于大模型无法获取到相关的私有或实时信息它可能会产生“幻觉”并开始一本正经地胡说八道。为什么大模型会出现这种情况呢主要原因在于大模型是基于公开数据进行训练的其知识存在截止时间。对于私有数据和最新的实时数据模型尚未学习过。neration生成三个英文单词的缩写。这三个词也恰好代表了 RAG 流程中的三个核心步骤。二. 私有数据向量化1语义搜索退商品退货物退东西他们都是意思相近的提示词都绑定到退货这个词上。因为这些都是与退货意思相同的词语。而所谓的语义搜索就是指当用户输入意思相近的退东西退商品的时候通过语义搜索最后都可以定位到【退货】这个词上。2向量它是一组有序的数字。比方说现在有一个一维向量它只包含-2-101四个数字那么他们在x轴上就是一个点而二维向量就是([1,1][1,2])这些数字他们对应了x和y两个轴同样也是对应两个不同的点当然还有三维向量甚至千维向量。使用向量表的目的和作用是什么呢那之前说的二维向量来举例说x轴可以理解为是否是水果y轴可以理解为甜度比那么苹果的向量坐标就是[0.9,0.7]而鸭梨的向量坐标就是[0.9,0.6]换个物品比如说钥匙它的向量坐标就是[0.0,0.0]因为它既不是水果也没有甜度可言。通过一个余弦相似度的公式计算出相应的范围通过比对某一个或某几个维度上的坐标值接近的程度来判断两个词之间是否强关联。回到什么是向量向量就是把很多词语或字它的很多特征都抽成每个维度上的对应的这些数字向量可以解决语义搜索的问题。3向量化第一步是进行切块切块的目的主要就是将数据按照一段一段的分解开然后为每一个段都增加索引值从而增加了检索时的效率。切块完成后再对每一个快中的数据进行向量化。最后将向量化的数据存储到数据库当中。三. RAG的流程说明大模型是基于公开数据对于公开数据它是完成过训练的对于私有数据需要我们给他提供学习这个时候就需要使用RAG流程。1如何让大模型知道要进行RAG工具上要获取公司内部的八卦信息在遇到有新人入职等时候使用。Agent将某公司的八卦信息以及使用的工具告诉大模型大模型根据场景比如新人入职时开始实施RAG2RAG真正的流程1.将提示词向量化。其实整个向量化过程是需要很多步骤的第一步切分第二步Token化第三步转化为Token ID第四步转化为向量第五步Transform。2.检索提示词向量与向量化数据库的向量进行余弦相似度的一个计算然后把TopK的数据给找出来。3.增强将TopK的数据提示词进行重新整理就是增强的过程。4.生成大模型基于增强的提示词生成答案。以下是RAG检索增强生成的核心流程示意图用户提问(提示词)1. 向量化切分 → Token化 → Token ID → 向量 → Transform2. 检索计算余弦相似度从向量库中找出TopK相关片段3. 增强TopK片段 原始提示词 → 增强后的提示词4. 生成大模型基于增强提示词生成最终答案答案返回给用户