Skip to content

向量数据库是什么?#

向量数据库将信息存储为数字:

向量数据库是一种将数据存储为高维向量的数据库类型,这些向量是特征或属性的数学表示。(来源)

这使得快速准确的相似性搜索成为可能。使用向量数据库,您可以基于语义和上下文含义搜索相关数据,而不是使用传统的数据库查询。

简化示例#

向量数据库可以存储句子"n8n 是一个可以自托管的源代码可用的自动化工具",但向量数据库不是将其存储为文本,而是存储一个表示其特征的维度数组(0 到 1 之间的数字)。这并不意味着将句子中的每个字母转换为数字。相反,向量数据库中的向量描述了句子。

假设在向量存储中 0.1 代表 自动化工具0.2 代表 源代码可用0.3 代表 可以自托管。您可能会得到以下向量:

句子 向量(维度数组)
n8n 是一个可以自托管的源代码可用的自动化工具 [0.1, 0.2, 0.3]
Zapier 是一个自动化工具 [0.1]
Make 是一个自动化工具 [0.1]
Confluence 是一个可以自托管的 wiki 工具 [0.3]

此示例非常简化

实际上,向量要复杂得多。向量的大小可以从几十到几千个维度不等。维度与单个特征没有一对一的关系,因此您无法将单个维度直接转换为单个概念。此示例提供了一个近似的心理模型,而不是真正的技术理解。

演示相似性搜索的威力#

Qdrant 提供向量搜索演示来帮助用户了解向量数据库的威力。食物发现演示展示了向量存储如何帮助基于视觉相似性匹配图片。

此演示使用来自外卖服务的数据。用户可能喜欢或不喜欢菜品的照片,应用程序将基于外观推荐更多相似的餐点。也可以选择查看外卖半径内餐厅的结果。(来源)

有关完整的技术详细信息,请参阅 Qdrant demo-food-discovery GitHub 仓库

嵌入、检索器、文本分割器和文档加载器#

向量数据库需要其他工具才能运行:

  • 文档加载器和文本分割器:文档加载器拉取文档和数据,并为嵌入做准备。文档加载器可以使用文本分割器将文档分解为块。
  • 嵌入:这些是将数据(文本、图像等)转换为向量并转换回原始数据的工具。请注意,n8n 仅支持文本嵌入。
  • 检索器:检索器从向量数据库中获取文档。您需要将它们与嵌入配对,以将向量转换回数据。