Atlas Vector Search 快速入门
本快速入门介绍了如何在 Atlas 集群上对数据中的向量嵌入进行索引,并运行查询以搜索向量嵌入以查找相似数据。
向量是按一维或多维排列的值数组。双向编码器模型(如 OpenAI text-embedding-ada-002
)生成的向量嵌入可以表示单词、短语和句子。您可以对向量嵌入进行索引并搜索在含义或上下文中相关的项目。要了解更多信息,请参阅Atlas Vector Search 概述。
目标
在本快速入门中,您将执行以下步骤:
为
sample_mflix.embedded_movies
集合创建索引定义,将plot_embedding
字段索引为vector
类型。plot_embedding
字段包含使用 OpenAI 的text-embedding-ada-002
嵌入模型创建的嵌入。索引定义指定了1536
向量维度,并使用cosine
来衡量相似性。运行 Atlas Vector Search 查询来搜索样本
sample_mflix.embedded_movies
集合。该查询使用$vectorSearch
阶段搜索plot_embedding
字段,其中包含使用 OpenAI 的text-embedding-ada-002
嵌入模型创建的嵌入。该查询使用向量嵌入在plot_embedding
字段中搜索字符串time trip 。它最多考虑150
个最近邻,并在结果中返回10
个文档。
先决条件
要完成此快速入门,您必须满足以下先决条件。
所需的集群配置
您必须具有以下集群配置:
MongoDB 版本6的 Atlas 集群。 0 。 11或 v 7 。 0 。 2或更高版本(包括 RC )。
示例数据已加载到您的 Atlas 集群中。
支持的客户端
您必须安装以下应用程序之一才能在 Atlas 集群上运行查询:
您还可以将 Atlas Vector Search 与通过 Atlas CLI 创建的本地 Atlas 部署结合使用。要了解更多信息,请参阅创建本地 Atlas 部署。
必需的访问权限
要创建 Atlas Vector Search 索引,您必须对项目具有Project Data Access Admin
或更高访问权限。
索引向量嵌入
使用以下示例对 Atlas 集群上数据中的向量嵌入进行索引。
定义 Atlas Vector Search 索引。
sample_mflix.embedded_movies
集合的以下示例索引定义将plot_embedding
字段索引为vector
类型。 plot_embedding
字段包含使用 OpenAI 的text-embedding-ada-002
嵌入模型创建的嵌入。索引定义指定了1536
向量维度,并使用cosine
来衡量相似性。
1 { 2 "fields": [{ 3 "type": "vector", 4 "path": "plot_embedding", 5 "numDimensions": 1536, 6 "similarity": "cosine" 7 }] 8 }
要了解详情,请参阅如何为向量搜索建立字段索引。
运行向量搜索查询
使用以下示例运行搜索向量嵌入的查询。
➤ 使用选择语言下拉菜单选择要用于运行本节中示例查询的客户端。