将嵌入从 Spanner 导出到 Vertex AI Vector Search

Vertex AI 矢量搜索 可让用户使用向量嵌入搜索语义相似的项。 使用 Spanner To Vertex AI Vector Search 工作流, 你可以将 Spanner 数据库与 使用向量搜索对您的 Spanner 数据。

下图显示了端到端应用的工作流 您可以在 Spanner 上启用和使用矢量搜索, 数据:

Spanner 到矢量搜索的工作流。

一般工作流程如下:

  1. 生成和存储矢量嵌入。

    你可以生成数据的向量嵌入,然后存储并 并使用运营数据在 Spanner 中进行管理。您可以 使用 Spanner 的 ML.PREDICT SQL 生成嵌入 函数来访问 Vertex AI 的 textembedding-gecko 模型 或者使用部署到 Vertex AI 的其他嵌入模型

  2. 将嵌入同步到向量搜索。

    使用 Spanner 到 Vertex AI 矢量搜索工作流, 它是使用Workflows部署的 将嵌入导出并上传到矢量搜索索引中。您可以使用 Cloud Scheduler 可以定期安排此工作流, “矢量搜索”会编入索引 Spanner 中的嵌入。

  3. 使用向量搜索索引执行向量相似性搜索

    查询矢量搜索索引,以搜索和查找以下项的结果 语义相似的项。您可以使用公共端点进行查询 还是通过 VPC 对等互连连接。

用例示例

矢量搜索的一个说明性应用场景是 该零售商拥有成千上万件商品。在本课中, 假设您是一家在线零售商的开发者, 想要在 Google Cloud 中的产品目录中使用向量相似性搜索 Spanner 可以帮助您的客户根据 搜索查询的内容

按照常规工作流中的步骤 1 和步骤 2 生成向量 然后使用这些嵌入来生成商品清单,然后将这些嵌入同步到 矢量搜索。

现在,假设客户在浏览您的应用时执行了一次搜索,例如 “我能在水中穿的最佳速干运动短裤”。当您 应用收到此查询后,您需要为 此搜索请求(使用 Spanner ML.PREDICT) SQL 函数。请务必使用生成 用于构建商品清单。

接下来,在向量搜索索引中查询具有以下特征的商品 ID: 相应的嵌入与从模型生成的请求嵌入类似, 客户的搜索请求。搜索索引可能会推荐 语义相似的商品,如滑水短裤、冲浪服装和 泳裤

在矢量搜索返回这些相似的商品 ID 后,您可以查询 Spanner for the Product'说明、商品目录数量、价格 以及其他相关的元数据,并将其展示给客户。

您还可以使用生成式 AI 处理从 Spanner 返回的结果,然后再显示 。例如,你可以使用 Google 的大型生成式 AI 以生成关于推荐商品的简明摘要。有关 请参阅本教程,了解如何 使用生成式 AI 在电子商务应用中获取个性化推荐内容

后续步骤