What is a Vector Database & How Does it Work? Use Cases + Examples

(翻译和节选自此篇文章)

导览:

什么是向量数据库?(What is a Vector Database?)

向量数据库 (Vector Database) 是一种用于索引和存储向量嵌入 (vector embeddings) 的数据库,专为实现快速检索和相似性搜索而设计,并具备 CRUD 操作、元数据过滤、水平扩展和 Serverless 等能力。

我们正处在 AI 革命的浪潮中。它正在颠覆所触及的任何行业,许诺带来巨大的创新——但它也引入了新的挑战。对于涉及大型语言模型、生成式 AI 和语义搜索的应用来说,高效的数据处理变得比以往任何时候都更加重要。

所有这些新应用都依赖于向量嵌入——这是一种向量数据表示形式,它携带的语义信息对于 AI 获得理解和维持长期记忆至关重要,AI 在执行复杂任务时可以调用这些记忆。

嵌入是由 AI 模型(例如大型语言模型)生成的,并具有许多属性或特征,这使得它们的表示形式难以管理。在 AI 和机器学习的背景下,这些特征代表了数据的不同维度,这对于理解模式、关系和底层结构至关重要。

处理向量数据所面临的挑战是,传统的基于标量(scalar-based)的数据库无法跟上此类数据的复杂性和规模,这使得提取见解和执行实时分析变得困难。这就是向量数据库发挥作用的地方——它们是专门为处理这种类型的数据而设计的,并提供了您从数据中获取最大价值所需的性能、可扩展性和灵活性。

我们看到下一代向量数据库正在引入更复杂的架构,以解决智能应用的高效成本和扩展问题。这种能力由 serverless 向量数据库处理,它可以将存储成本和计算成本分离,从而为 AI 提供低成本的知识支持。

通过使用向量数据库,我们可以为我们的 AI 添加知识,例如语义信息检索、长期记忆等。下图让我们更好地理解向量数据库在此类应用中的作用:

image.png

我们来分解一下这个流程:

  1. 首先,我们使用嵌入模型Embedding Model为我们想要索引的内容content创建向量嵌入。
  2. 该向量嵌入被插入到向量数据库Vector Database中,并附带一些对创建该嵌入的原始内容的引用。
  3. 当应用程序发出查询Query时,我们使用相同的嵌入模型Embedding Model为该查询创建嵌入。
  4. 并使用这些查询嵌入来查询数据库,以寻找相似的向量嵌入Vector Embedding
  5. 如前所述,那些相似的嵌入与用于创建它们的原始内容相关联。