Vertex AI Vector Search 概览

Vector Search 依托 Google 研究开发的向量搜索技术。借助 Vector Search,您可以获享为 Google 搜索、YouTube 和 Play 等 Google 产品奠定基础的研究和技术成果。

简介

Vector Search 可以从数十亿个语义相似项或语义相关项中进行搜索。向量相似度匹配服务可应用于多种场景,例如实现推荐引擎、搜索引擎、聊天机器人和文本分类。

在拥有成千上万件服装的线上零售商这种场景中可能会用到 Vector Search。在这种情况下,多模态嵌入 API 可以帮助他们创建这些商品的嵌入,并使用 Vector Search 将其与文本查询中语义上最相似的图片匹配。例如,他们可以搜索“黄色夏装”,然后“Vector Search”会返回并显示最相似的商品。Vector Search 可以大规模搜索,每秒查询次数 (QPS) 高、召回率高、延迟时间短且成本效益高。

嵌入的适用情形不限于字词或文本。您可以为多种类型的数据(包括图片、音频、视频和用户偏好)生成语义嵌入。

如需使用 Vertex AI 生成多模态嵌入,请参阅获取多模态嵌入

如何使用 Vector Search 进行语义匹配

语义匹配可以简化为几个步骤。首先,您必须生成许多商品的嵌入表示形式(在 Vector Search 之外完成)。其次,将嵌入上传到 Google Cloud,然后将数据链接到 Vector Search。将嵌入添加到 Vector Search 后,可以创建索引来运行查询以获取建议或结果。

生成嵌入

为您的数据集生成嵌入。此过程涉及对数据进行预处理,使其能够高效搜索近似最邻近 (ANN) 项。您可以在 Vertex AI 之外执行此操作,也可以使用 Vertex AI 上的生成式 AI 创建嵌入。借助 Vertex AI 上的生成式 AI,您可以创建文本嵌入和多模态嵌入。

将嵌入添加到 Cloud Storage

将嵌入上传到 Cloud Storage,以便从 Vector Search 服务调用嵌入。

上传到 Vector Search

将嵌入关联到 Vector Search 以执行最邻近对象搜索。通过嵌入创建索引,您可以将该索引部署到索引端点进行查询。该查询会返回近似最邻近项。

如需创建索引,请参阅管理索引

如需将索引部署到端点,请参阅部署和管理索引端点

评估结果

在获得近似最邻近结果后,您可以对其进行评估,了解它们是否满足您的需求。如果结果不够准确,您可以调整算法的参数或启用扩缩,以支持更多的每秒查询次数。为此,可以更新配置文件,该文件可配置索引。如需了解详情,请参阅配置索引参数

Vector Search 术语

以下列表包含一些重要术语,您需要了解这些术语才能使用矢量搜索:

  • 向量:向量是带有幅度和方向的浮点值列表。它可用于表示任何类型的数据,例如数字、空间中的点和方向。
  • 嵌入:嵌入是一种向量类型,用于通过捕获数据的语义含义来表示数据。嵌入通常是使用机器学习技术创建的,通常用于自然语言处理 (NLP) 和其他机器学习应用。
    • 密集嵌入:密集嵌入使用包含大部分非零值的数组来表示文本的语义含义。借助密集嵌入,系统可以根据语义相似性返回类似的搜索结果。
    • 稀疏嵌入:与密集嵌入相比,稀疏嵌入使用包含极少非零值的高维数组来表示文本语法。稀疏嵌入通常用于关键字搜索。
  • 混合搜索:混合搜索同时使用密集嵌入和稀疏嵌入,可让您根据关键字搜索和语义搜索的组合进行搜索。Vector Search 支持基于密集嵌入进行搜索。作为公开预览版功能,向量搜索支持稀疏嵌入和混合搜索。
  • 索引:为相似度搜索而部署的一组向量。可以在索引中添加或移除向量。相似度搜索查询会被发送到特定索引,并搜索该索引中的向量。
  • 标准答案:该术语是指根据真实世界(例如标准答案数据集)验证机器学习的准确率。
  • 召回率:索引返回的最近邻的百分比,这些最近邻实际上是真正的最近邻。例如,如果一个对 20 个最近邻的最近邻查询返回 19 个标准答案最近邻项,则召回率为 19/20x100 = 95%。

  • 限制:使用布尔值规则将搜索限制为索引的子集的功能。限制也称为“过滤”。借助 Vector Search,您可以使用数字过滤和文本属性过滤。

后续步骤