一文简单了解RAG的心脏——向量数据库

智能科技扫地僧 2024-08-28 03:06:48

2023年,大模型的出现惊艳世界,2024年,RAG技术如火如荼,RAG可以在大模型不进行预训练或微调,获得必要的上下文,降低大模型的幻觉,RAG出现解决了大模型的幻觉问题同时也标志着搜索范式的变化。

向量数据库作为RAG的心脏,RAG的向量数据库市场竞争越来越激烈,本文主要简单了解一下向量数据库的相关内容。

什么是向量数据库?

向量数据库是一种组织有序的向量嵌入集合,整合了可以随时创建、读取、更新和删除的向量嵌入。向量嵌入将数据块 (例如文本或图像) 表示为数值。向量数据库主要用于图像检索、音频检索、文本检索等领域,其主要特点是能够高效地存储和检索大规模的向量数据。向量数据库用专门的数据结构和算法来处理向量之间的相似性计算和查询。通过构建索引结构,向量数据库可以快速找到最相似的向量,以满足各种应用场景中的查询需求。

什么是结构化数据?

非结构化数据是指数据结构不规则、没有统一的预定义数据模型、不方便使用数据库二维逻辑来表现的数据,包括图片、视频、音频、自然语言等。非结构化数据可以通过人工智能或机器学习转化为向量数据。

什么是向量?

向量是指在数学中具有一定大小和方向的量,文本、图片、音视频等非结构化数据,通过机器学习/深度学习模型Embedding提取出来的“特征”用数学中的向量来表示。

什么是特征向量?

特征向量是包含事物重要特征的向量。大家比较熟知的一个特征向量是 RGB(红-绿-蓝)色彩,每种颜色都可以通过对红(R)、绿(G)、蓝(B)三种颜色的比例来得到,这样一个特征向量可以描述为:颜色 = [红,绿,蓝]。对于一个像素点,我们可以用数组 [255, 255, 255] 表示白色,用数组 [0, 0, 0] 表示黑色,这里 [255, 255, 255]、[0, 0, 0] 可以认为是该像素点的特征向量。

什么是Embedding(嵌入模型)?

通过深度学习神经网络提取非结构化数据里的内容和语义,把图片、视频等变成特征向量,这个过程叫Embedding。嵌入模型会将各种数据(图片、文本、视频等)转换微特征向量,以便捕捉其在多维向量空间中的含义和细微差别。

man、king、woman 和 queen 这几个词映射到的向量空间 :

通过将向量映射到多维空间,可以对向量的语义相似性进行细致的分析,从而显著提高搜索和数据分类的准确性。

什么是向量检索?

向量检索是一种基于向量空间模型的检索方法,用于计算和比较两个向量之间的相似度,返回最相似的向量数据。如果两条向量十分相似,意味着他们所代表的源数据(例如图片)也十分相似。在一个给定向量数据集中,向量检索按照某种度量方式(比如内积、欧式距离),对向量构建的一种时间和空间上比较高效的数据结构,能够高效地检索出与目标向量相似的 K 个向量。

向量相似度检索算法:

欧几里得距离(L2):欧几里得距离,它计算两个向量的欧几里得空间距离,欧式距离越小相似度越高。这对于总体差异至关重要的密集特征集的聚类或分类非常有用。余弦相似度(cosine):余弦相似度(Cosine Similarity),也称为余弦距离(Cosine Distance),用于计算两个高维向量的夹角余弦值从而衡量向量相似度,夹角余弦值越小表示两向量的夹角越大,则两个向量差异越大。非常适合文本处理和信息检索,根据方向 (而非传统的距离) 捕获语义相似性。内积(ip):全称是 Inner Product,内积,该算法基于向量的内积,即两个元素的对应元素相乘并求和的结果计算相似度,内积值越大相似度越高。

在向量数据库中,索引的作用是什么?

在向量数据库中,索引(Index)是有效组织数据的过程,创建索引可以加速向量的相似度搜索,对于提升高维度数据空间内搜索操作的效率和速度至关重要。它根据指定的索引算法和数据结构将向量库中的原始数据进行分组排序,提高相似度搜索的效率和准确性,是驱动向量数据库在短时间内筛选出候选的核心所在。

向量数据库中索引的主要功能和优势:

减少延迟:通过促进更快的搜索,索引可以显著减少执行查询与获得相应结果之间的延迟。高效的搜索操作:索引结构以特定方式组织数据,能够减少对整个数据集执行详尽搜索的需要,从而实现更快的搜索操作。支持复杂查询:高级索引技术可有效地在高维空间中导航,可以支持更复杂的查询,包括最近邻点搜索、范围查询和相似性搜索。可扩展性:随着数据量的增长,索引可确保搜索操作能随着数据库的大小有效扩展,从而帮助维持性能水平。
0 阅读:0

智能科技扫地僧

简介:感谢大家的关注