一、什么是RAG?
即检索增强生成(Retrieval-Augmented Generation),根据用户的查询内容,从外挂知识库获取相关信息,将用户的查询通过嵌入模型转换成向量,以便与向量数据库中存储的知识相关的向量进行比对,通过相似性搜索,从向量数据库中找出最匹配的前 K 个数据。将用户的查询内容和检索到的相关知识一起嵌入到一个预设的提示词模板中。将经过检索增强的提示词内容输入到大语言模型(LLM)中,以此生成所需的输出。
本质就是输入的内容和数据库中内容进行相似比对后找到相关数据,再把数据和提问内容整合后交给大模型生成文本和回答。
二、RAG适用的场景(即为什么要用RAG)
1、需要无法从网络上获得的外部数据库作为支撑时,大模型虽然具有强大的泛化能力,但在特定领域的深度知识(专业性)和最新信息(时效性)方面可能存在缺口。RAG通过从大规模数据集中检索相关信息,帮助模型获得更丰富、更新的知识,从而提高生成内容的准确性和相关性。
本质是为原本的泛用性特点上增加专业性和时效性
2、在安全性和隐私管理方面,RAG 通过数据库来存储知识,对数据使用有较好控制性,不容易泄露数据。
本质是为大模型应用附加上数据库的安全性
三、RAG相关的技术及概念
3.1 检索
1、将用户的查询通过嵌入模型转换成向量
2、与向量数据库中存储的知识相关的向量进行比对
3、通过相似性搜索,从向量数据库中找出最匹配的前 K 个数据
本质是根据用户输入搜索庞大的数据库或存储库以查找相关信息的过程
检索的两个分支——关键字检索和向量检索
3.2 向量化(即Embedding技术-嵌入技术)
将离散的数据(如单词、句子、图像)转换为连续的向量表示,使得这些数据可以在高维空间中进行操作和分析。
向量表示:Embedding 将离散数据映射为高维实数向量。每个向量通常有几十到几百个维度,这些维度捕捉了数据之间的某种关系或模式。
语义相似性:在高维向量空间中,具有相似语义或特征的输入数据会被映射到彼此相邻的位置。比如,在文本处理任务中,"king" 和 "queen" 这两个单词的向量在空间中可能非常接近,因为它们在语义上具有相似性。
训练过程:Embedding 通常是在模型训练过程中通过优化目标函数得到的。目标是让模型能够准确预测目标值或输出,同时生成的向量能够有效捕捉输入数据的特征和关系——提高相关性。
3.3 关键字检索
通过匹配用户输入中的关键字与数据库中关键字进行检索。无需将二者转化为向量,直接匹配。
更适合简单的检索场景,例如搜索引擎里搜东西。
本质是直接对比用户输入和数据库里的数据。
3.4 向量检索
基于文档和查询之间的相似度计算来进行检索。文档和查询通常被表示为高维空间中的向量,通过计算它们之间的相似度来确定最相关的文档。
由双塔式模型构建,让正例(相似性)间的距离小,负例(不相似性)间的距离大
需要考虑语义相似度的情况下使用,例如在自然语言处理领域(NLP)中的文档检索、语义搜索等方面。
本质是计算用户输入的向量和数据库里的数据向量的距离。
3.5 混合检索
混合检索是结合了两种或者多种搜索算法提高搜索结果相关性的搜索技术。
基于关键字的搜索和向量搜索都返回一组单独的结果,通常是按计算的相关性排序的搜索结果列表。必须将这些单独的搜索结果集组合在一起。
本质是将二者作为参数(alpha = 1或0)用于决定了每个算法的权重并影响结果的重新排名。
3.6 重排序
重排序模型(Rerank Model),对不同检索模式下的查询结果需要进行合并和归一化(将数据转换为统一的标准范围或分布,以便更好地进行比较、分析和处理),然后再一并提供给大模型。其可以有效帮助改进文档的召回效果。
本质是不断调整各个检索算法的权重。
3.7 嵌入式搜索引擎
嵌入式搜索引擎就像是一个内置的“小帮手”,它专门为特定的应用程序或设备提供搜索功能。
3.8 向量数据库
向量数据库(Vector Database),也叫矢量数据库,主要用来存储和处理向量数据,可以高效存储与检索。
图像、文本和音视频这种非结构化数据都可以通过某种变换或者嵌入学习(Embedding)转化为向量数据存储到向量数据库中,从而实现对图像、文本和音视频的相似性搜索和检索。
区别与传统数据库主要有以下几个地方不相同:数据向量化,向量检索和相似度计算。
3.9 Faiss
Faiss是由Facebook AI开发的一个库,专门用于高效地进行相似性搜索和聚类。它特别适合处理大规模的高维向量数据集,如图像和文本数据中的特征向量。
Faiss的基本概念是使用索引技术来加速相似性搜索。当我们有一组向量时,我们可以使用Faiss对它们进行索引——然后使用另一个向量(查询向量),我们在索引中搜索最相似的向量。Faiss不仅允许我们构建索引和搜索——它还大大加快了搜索时间,达到惊人的性能水平。
本质是找一个向量的相似向量。
四、RAG流程图
参考文章:juejin.cn/post/738731… juejin.cn/post/738802… juejin.cn/post/739249… juejin.cn/post/737628… blog.csdn.net/Alex_81D/ar… blog.csdn.net/star_nwe/ar…