跳至内容

什么是向量数据库?#

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

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

这可以实现快速准确的相似性搜索。借助向量数据库,您无需使用传统数据库查询,而是可以根据语义和上下文含义搜索相关数据。

一个简化示例#

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

假设在向量存储中,0.1代表自动化工具0.2代表开源可用,而0.3代表可自托管。最终你可能会得到以下向量:

句子 向量(维度数组)
n8n是一款可自托管的开源自动化工具 [0.1, 0.2, 0.3]
Zapier是一款自动化工具 [0.1]
Make是一款自动化工具 [0.1]
Confluence是一款可自托管的维基工具 [0.3]

这个例子非常简化

在实践中,向量要复杂得多。一个向量的大小可以从几十维到几千维不等。这些维度与单一特征并非一一对应关系,因此无法将单个维度直接转化为独立概念。这个例子提供的是近似的心智模型,而非真实的技术理解。

Qdrant提供了向量搜索演示,帮助用户理解向量数据库的强大功能。美食发现演示展示了向量存储如何基于视觉相似性匹配图片。

本演示使用来自外卖服务的数据。用户可以对菜品照片点赞或点踩,应用将根据菜品外观推荐更多相似餐食。用户还可选择查看配送范围内的餐厅结果。(source)

如需完整技术细节,请参阅Qdrant demo-food-discovery GitHub仓库

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

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

  • 文档加载器和文本分割器:文档加载器负责拉取文档和数据,并为嵌入做好准备。文档加载器可利用文本分割器将文档切分成块。
  • 嵌入:这些工具将数据(文本、图像等)转换为向量,并转换回原始数据。请注意,n8n仅支持文本嵌入。
  • 检索器:retrievers 从向量数据库中获取文档。您需要将它们与嵌入模型配对,以将向量转换回数据。
优云智算