2

什么是向量数据库VectorDatabase?

 1 year ago
source link: https://www.jdon.com/67254.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

什么是向量数据库VectorDatabase?

23-07-07 banq

随着基础模型的兴起,VectorDatabase(矢量数据库/向量数据库)的受欢迎程度直线上升。事实上,向量数据库在大型语言模型的上下文之外也很有用。

当涉及到机器学习时,我们经常与向量嵌入打交道。向量数据库的创建是为了在处理它们时有特别好的表现:


当我们谈论检索时,我们指的是检索与查询最相似的向量集,其形式是嵌入在同一潜伏空间的向量。这种检索程序被称为近似近邻(ANN)搜索。

这里的查询可以是一个对象的形式,比如我们想找到类似的图像。或者它可以是一个问题,我们想为它检索相关的上下文,然后通过LLM将其转化为答案。

让我们来看看如何与向量数据库互动:

写或更新数据:

  1. 选择一个ML模型来生成Vector Embeddings。
  2.  嵌入任何类型的信息:文本、图像、音频、表格。用于嵌入的ML模型的选择将取决于数据的类型。
  3. 通过嵌入模型的运行,获得你的数据的向量表示。
  4. 将额外的元数据与向量嵌入一起存储。这个数据以后将被用于预过滤或后过滤ANN搜索结果。
  5. Vector DB对Vector Embedding和元数据分别进行索引。有多种方法可用于创建向量索引,其中一些方法: 随机投影,产品量化,位置敏感的哈希。
  6. 向量数据与向量嵌入的索引和与嵌入对象有关的元数据一起存储。

读取数据
7. 一个针对向量数据库执行的查询通常由两部分组成:

  • 将用于ANN搜索的数据。例如,你想找到类似的图像。
  • 元数据查询,以排除那些事先知道的拥有特定品质的向量。例如,鉴于你正在寻找类似的公寓图片--排除特定地点的公寓。

8. 你针对元数据索引执行元数据查询。它可以在ANN搜索程序之前或之后进行。

9. 你将数据嵌入到Latent空间中,所用的模型与将数据写入Vector DB的模型相同。

10. 应用ANN搜索程序,检索出一组向量嵌入。用于ANN搜索的流行的相似性措施包括: 余弦相似度,欧几里得距离,点积。

一些流行的向量数据库: Pinecone, Weviate, Milvus, Vespa.
 


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK