【人工智能】AI基础知识(第七节:RAG)
【人工智能】AI基础知识(第七节:RAG)
AI基础知识(第七节:RAG)
一. 引入问题
当 Agent 向大模型提问:“XXX公司最近有什么八卦新闻?”时,由于大模型无法获取到相关的私有或实时信息,它可能会产生“幻觉”,并开始一本正经地胡说八道。为什么大模型会出现这种情况呢?主要原因在于,大模型是基于公开数据进行训练的,其知识存在截止时间。对于私有数据和最新的实时数据,模型尚未学习过。
neration(生成)三个英文单词的缩写。这三个词也恰好代表了 RAG 流程中的三个核心步骤。
二. 私有数据向量化
1)语义搜索
退商品,退货物,退东西他们都是意思相近的提示词,都绑定到退货这个词上。因为这些都是与退货意思相同的词语。而所谓的语义搜索就是指当用户输入意思相近的退东西退商品的时候,通过语义搜索最后都可以定位到【退货】这个词上。
2)向量
它是一组有序的数字。比方说现在有一个一维向量,它只包含(-2,-1,0,1)四个数字,那么他们在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将某公司的八卦信息以及使用的工具告诉大模型,大模型根据场景(比如新人入职时),开始实施RAG
2)RAG真正的流程
1.将提示词向量化。其实整个向量化过程是需要很多步骤的,第一步切分,第二步Token化,第三步转化为Token ID,第四步转化为向量,第五步Transform。
2.检索:提示词向量与向量化数据库的向量进行余弦相似度的一个计算,然后把TopK的数据给找出来。
3.增强:将TopK的数据+提示词进行重新整理,就是增强的过程。
4.生成:大模型基于增强的提示词生成答案。
以下是RAG(检索增强生成)的核心流程示意图:
更多推荐


所有评论(0)