Vertex AI 矢量搜索 可让用户使用向量嵌入搜索语义相似的项。 使用 Spanner To Vertex AI Vector Search 工作流, 你可以将 Spanner 数据库与 使用向量搜索对您的 Spanner 数据。
下图显示了端到端应用的工作流 您可以在 Spanner 上启用和使用矢量搜索, 数据:
一般工作流程如下:
生成和存储矢量嵌入。
你可以生成数据的向量嵌入,然后存储并 并使用运营数据在 Spanner 中进行管理。您可以 使用 Spanner 的
ML.PREDICT
SQL 生成嵌入 函数来访问 Vertex AI 的textembedding-gecko
模型 或者使用部署到 Vertex AI 的其他嵌入模型。将嵌入同步到向量搜索。
使用 Spanner 到 Vertex AI 矢量搜索工作流, 它是使用Workflows部署的 将嵌入导出并上传到矢量搜索索引中。您可以使用 Cloud Scheduler 可以定期安排此工作流, “矢量搜索”会编入索引 Spanner 中的嵌入。
使用向量搜索索引执行向量相似性搜索。
用例示例
矢量搜索的一个说明性应用场景是 该零售商拥有成千上万件商品。在本课中, 假设您是一家在线零售商的开发者, 想要在 Google Cloud 中的产品目录中使用向量相似性搜索 Spanner 可以帮助您的客户根据 搜索查询的内容
按照常规工作流中的步骤 1 和步骤 2 生成向量 然后使用这些嵌入来生成商品清单,然后将这些嵌入同步到 矢量搜索。
现在,假设客户在浏览您的应用时执行了一次搜索,例如
“我能在水中穿的最佳速干运动短裤”。当您
应用收到此查询后,您需要为
此搜索请求(使用 Spanner ML.PREDICT
)
SQL 函数。请务必使用生成
用于构建商品清单。
接下来,在向量搜索索引中查询具有以下特征的商品 ID: 相应的嵌入与从模型生成的请求嵌入类似, 客户的搜索请求。搜索索引可能会推荐 语义相似的商品,如滑水短裤、冲浪服装和 泳裤
在矢量搜索返回这些相似的商品 ID 后,您可以查询 Spanner for the Product'说明、商品目录数量、价格 以及其他相关的元数据,并将其展示给客户。
您还可以使用生成式 AI 处理从 Spanner 返回的结果,然后再显示 。例如,你可以使用 Google 的大型生成式 AI 以生成关于推荐商品的简明摘要。有关 请参阅本教程,了解如何 使用生成式 AI 在电子商务应用中获取个性化推荐内容。
后续步骤
- 了解如何生成嵌入 使用 Spanner。
- 详细了解 AI 的多工具:矢量嵌入
- 如需详细了解机器学习和嵌入,请参阅我们的 嵌入的速成课程。
- 详细了解 Spanner 到 Vertex AI 矢量搜索工作流,请参阅 GitHub 代码库。
- 详细了解开源 spanner-analytics 软件包 可促进 Python 中的常见数据分析操作,包括: 与 Jupyter 笔记本的集成。