向量数据库
外观

机器学习与数据挖掘 |
---|
![]() |
向量数据库(Vector database)、向量存储或向量搜索引擎是一种能够存储向量(固定长度的数值列表)及其他数据项的数据库。向量数据库通常实现一种或多种近似最近邻(Approximate Nearest Neighbor,ANN)算法[1][2][3],使用户可以使用查询向量搜索数据库,以检索最匹配的数据库记录。
向量是数据在高维空间中的数学表示。在这个空间中,每个维度对应数据的一个特征,维度的数量从几百到几万不等,具体取决于所表示数据的复杂性。向量在该空间中的位置代表其特征。单词、短语或整篇文档,以及图像、音频和其他类型的数据,都可以被向量化[4]。
这些特征向量可以通过机器学习方法从原始数据中计算得到,例如特征提取算法、词嵌入[5]或深度学习网络。其目标是使语义相似的数据项具有彼此接近的特征向量。
向量数据库可用于相似性搜索、语义检索、多模态搜索、推薦系統、大型语言模型(LLM)、物体识别等。[6]
向量数据库也常用于实现檢索增強生成(RAG),这是一种提高大型语言模型在特定领域响应能力的方法。RAG的检索组件可以是任何搜索系统,但最常见的实现方式是向量数据库。首先,收集描述目标领域的文本文档,并对每个文档或文档片段计算特征向量(称为“句子嵌入”),通常使用深度学习网络进行计算,并将其存储在向量数据库中。当用户提供查询时,首先计算该查询的特征向量,并在数据库中进行搜索,以检索最相关的文档。然后,这些文档会自动添加到大型语言模型的上下文窗口中,模型基于这个上下文生成对用户查询的响应[7]。
参考文献
[编辑]- ^ Roie Schwaber-Cohen. What is a Vector Database & How Does it Work. Pinecone. [18 November 2023]. (原始内容存档于2025-03-24).
- ^ What is a vector database. Elastic. [18 November 2023]. (原始内容存档于2025-03-17).
- ^ What is a Vector Database?. [10 July 2023]. (原始内容存档于2025-03-21).
- ^ Vector database. learn.microsoft.com. 2023-12-26 [2024-01-11]. (原始内容存档于2025-03-12).
- ^ Evan Chaki. What is a vector database?. Microsoft. 2023-07-31. (原始内容存档于2024-06-08).
A vector database is a type of database that stores data as high-dimensional vectors, which are mathematical representations of features or attributes.
- ^ Vector database. learn.microsoft.com. 2023-12-26 [2024-01-11]. (原始内容存档于2025-03-12).
- ^ Lewis, Patrick; Perez, Ethan; Piktus, Aleksandra; Petroni, Fabio; Karpukhin, Vladimir; Goyal, Naman; Küttler, Heinrich. Retrieval-augmented generation for knowledge-intensive NLP tasks. Advances in Neural Information Processing Systems 33. 2020: 9459–9474. arXiv:2005.11401
.