实验设置说明和要求
保护您的账号和进度。请务必在无痕浏览器窗口中,使用实验凭证运行此实验。

探索 BigQuery 中的多模态向量搜索功能

实验 30 分钟 universal_currency_alt 1 个点数 show_chart 入门级
info 此实验可能会提供 AI 工具来支持您学习。
此内容尚未针对移动设备进行优化。
为获得最佳体验,请在桌面设备上访问通过电子邮件发送的链接。

GSP1334

Google Cloud 自学实验的徽标

概览

假设您想搜索存储在 Cloud Storage 中的产品图片目录,以确定过去是否销售过类似产品。利用 BigQuery 中的向量搜索功能,即可实现这一点!

BigQuery 是一个 AI 就绪型全托管式数据平台,支持无缝集成外部数据源(例如来自 Cloud Storage 存储桶中图片的元数据),并支持连接到远程模型以进行向量搜索,从而利用生成式 AI 优化数据分析工作流。

向量搜索是一种可根据语义(而不是关键字完全匹配)快速查找类似内容的方法,可应用于多种类型的数据,包括图片、视频和文本。向量搜索使用的是嵌入向量,即代表文本或图片等实体的高维数值向量。这些嵌入向量能够编码此类实体的语义,从而更轻松地比较这些实体。其应用场景广泛,例如可增强搜索能力,更高效地在库存数据集或产品图片目录中搜索类似产品的历史销售情况。

基于给定的产品名称或说明,您可以在包含相关产品图片元数据的 BigQuery 对象表上使用向量搜索功能,找出与搜索字词相关度最高的产品。此工作流将 Vertex AI 的强大功能集成到 BigQuery 中以实现向量搜索,从而使您能够在 BigQuery 中分析多模态数据(包括图片和文本),提取富有实用价值的分析洞见,进而提升决策能力。

在本实验中,您将快速了解 BigQuery 中的多模态向量搜索功能如何运作。首先,您需要授予相应权限,并在 BigQuery 中创建与嵌入模型的连接。然后,您需要调用该模型生成一份嵌入表,用于将产品图片的向量表示形式存储在 Cloud Storage 存储桶中。最后,您需要对存储在 Cloud Storage 中的产品图片运行向量搜索,从而根据图片特征和元数据找出与搜索字词相似度最高的产品。

您将执行的任务

在本实验中,您将学习如何执行以下任务:

  • 向 BigQuery 服务账号授予 Identity and Access Management (IAM) 角色。
  • 连接到 BigQuery 中的远程嵌入模型。
  • 生成嵌入向量并将其保存到 BigQuery 中的表中。
  • 对 Cloud Storage 中的产品图片运行向量搜索。

设置和要求

点击“开始实验”按钮前的注意事项

请阅读以下说明。实验是计时的,并且您无法暂停实验。计时器在您点击开始实验后即开始计时,显示 Google Cloud 资源可供您使用多长时间。

此实操实验可让您在真实的云环境中开展实验活动,免受模拟或演示环境的局限。为此,我们会向您提供新的临时凭据,您可以在该实验的规定时间内通过此凭据登录和访问 Google Cloud。

为完成此实验,您需要:

  • 能够使用标准的互联网浏览器(建议使用 Chrome 浏览器)。
注意:请使用无痕模式(推荐)或无痕浏览器窗口运行此实验。这可以避免您的个人账号与学生账号之间发生冲突,这种冲突可能导致您的个人账号产生额外费用。
  • 完成实验的时间 - 请注意,实验开始后无法暂停。
注意:请仅使用学生账号完成本实验。如果您使用其他 Google Cloud 账号,则可能会向该账号收取费用。

如何开始实验并登录 Google Cloud 控制台

  1. 点击开始实验按钮。如果该实验需要付费,系统会打开一个对话框供您选择支付方式。左侧是“实验详细信息”窗格,其中包含以下各项:

    • “打开 Google Cloud 控制台”按钮
    • 剩余时间
    • 进行该实验时必须使用的临时凭据
    • 帮助您逐步完成本实验所需的其他信息(如果需要)
  2. 点击打开 Google Cloud 控制台(如果您使用的是 Chrome 浏览器,请右键点击并选择在无痕式窗口中打开链接)。

    该实验会启动资源并打开另一个标签页,显示“登录”页面。

    提示:将这些标签页安排在不同的窗口中,并排显示。

    注意:如果您看见选择账号对话框,请点击使用其他账号
  3. 如有必要,请复制下方的用户名,然后将其粘贴到登录对话框中。

    {{{user_0.username | "<用户名>"}}}

    您也可以在“实验详细信息”窗格中找到“用户名”。

  4. 点击下一步

  5. 复制下面的密码,然后将其粘贴到欢迎对话框中。

    {{{user_0.password | "<密码>"}}}

    您也可以在“实验详细信息”窗格中找到“密码”。

  6. 点击下一步

    重要提示:您必须使用实验提供的凭据。请勿使用您的 Google Cloud 账号凭据。 注意:在本实验中使用您自己的 Google Cloud 账号可能会产生额外费用。
  7. 继续在后续页面中点击以完成相应操作:

    • 接受条款及条件。
    • 由于这是临时账号,请勿添加账号恢复选项或双重验证。
    • 请勿注册免费试用。

片刻之后,系统会在此标签页中打开 Google Cloud 控制台。

注意:如需访问 Google Cloud 产品和服务,请点击导航菜单,或在搜索字段中输入服务或产品的名称。 “导航菜单”图标和“搜索”字段

任务 1. 向 BigQuery 服务账号授予 IAM 角色

在此实验环境中,系统已预先创建了多个资源,包括一个名为 remote-models-connectionBigQuery 外部连接和一份名为 image_object_tableBigQuery 对象表。利用这些资源,您可以访问和查询 Cloud Storage 中的非结构化数据(例如图片)。创建外部连接时,系统还会自动生成一个 BigQuery 服务账号,可用于控制对资源的访问权限。

在此任务中,您将向自动生成的 BigQuery 服务账号授予特定的 IAM 角色,以便其访问 Cloud Storage 中的图片文件以及进行向量搜索所需的 Vertex AI 资源。

打开 BigQuery 控制台

  1. 在 Google Cloud 控制台中,选择导航菜单 > BigQuery

您会看到欢迎在 Cloud 控制台中使用 BigQuery 消息框,其中提供了指向快速入门指南和版本说明的链接。

  1. 点击完成

BigQuery 控制台即会打开。

找出自动生成的 BigQuery 服务账号

  1. 展开项目 ID () 旁边的箭头,然后展开连接旁边的箭头。

  2. 点击名为 .remote-models-connection 的连接。

  3. 连接信息页面上,复制服务账号 ID 以在下一步中使用。

例如:bqcx-1054723899402-whbp@gcp-sa-bigquery-condel.iam.gserviceaccount.com

向 BigQuery 服务账号授予 IAM 角色

  1. 在 Google Cloud 控制台的导航菜单 (“导航菜单”图标) 中,依次选择 IAM 和管理 > IAM

  2. 点击授予访问权限

  3. 新的主账号部分,输入您在前面步骤中复制的服务账号 ID(例如 bqcx-1054723899402-whbp@gcp-sa-bigquery-condel.iam.gserviceaccount.com)。

  4. 选择角色部分,将过滤条件设置为 Vertex AI User,然后从过滤结果中选择该角色。

  5. 点击添加其他角色

  6. 选择角色部分,将过滤条件设置为 Storage Object Viewer,然后从过滤结果中选择该角色。

  7. 点击保存

点击检查我的进度以验证是否完成了以下目标: 向 BigQuery 服务账号授予 IAM 角色

任务 2. 创建 BigQuery 远程模型

现在,您已向 BigQuery 服务账号授予了必要的角色,接下来可以在 BigQuery 中创建远程模型,以便使用 Vertex AI 功能(例如生成式 AI 功能)。

在此任务中,您将使用名为 remote-models-connection 的 BigQuery 外部连接来创建名为 embeddings_model 的远程模型,该模型可连接到在 Vertex AI 中提供的嵌入模型。由于您的图片数据以非结构化格式存储在 Cloud Storage 存储桶中,因此您需要指定一个多模态模型作为端点,以有效处理此类数据。

  1. 在 Google Cloud 控制台的导航菜单 (“导航菜单”图标) 中,依次选择 BigQuery > Studio

  2. 在 SQL 查询窗口中,粘贴以下 SQL 查询,以在名为 products 的现有 BigQuery 数据集中创建 BigQuery 远程模型,然后点击运行

CREATE OR REPLACE MODEL `{{{project_0.project_id | filled in at lab start}}}.products.embeddings_model` REMOTE WITH CONNECTION `{{{project_0.project_id | filled in at lab start}}}.{{{project_0.startup_script.bq_gcp_region | "BigQuery location"}}}.remote-models-connection` OPTIONS( ENDPOINT = '{{{project_0.startup_script.multi_modal_embedding_id | Multimodal embeddings model}}}' ); 注意:如果收到与服务账号权限(您在上一任务中已分配出去的权限)相关的错误,请等待几分钟,然后再次运行该查询。

点击检查我的进度以验证是否完成了以下目标: 创建 BigQuery 远程模型

任务 3. 为对象表中列出的图片创建嵌入表

在 BigQuery 中创建好远程模型后,下一步就是调用该模型,以根据存储在 Cloud Storage 中的图片文件生成嵌入表。如任务 1 中所述,系统已为此实验环境预先创建了一个名为 image_object_table对象表,可用于查询该图片文件。

在此任务中,您将调用嵌入模型以在 product_image_object_table 上运行,并将其结果存储在名为 product_embeddings 的新表中。执行查询时,BigQuery 会将对象表中的数据提交至多模态嵌入模型,该模型会返回可用于向量搜索的嵌入向量,以查找语义上相似的实体。

  1. 在 SQL 查询窗口中,运行以下 SQL 查询以创建嵌入表:
CREATE OR REPLACE TABLE `{{{project_0.project_id | filled in at lab start}}}.products.product_embeddings` AS SELECT *, REGEXP_EXTRACT(uri, r'[^/]+$') as product_name FROM ML.GENERATE_EMBEDDING ( MODEL `{{{project_0.project_id | filled in at lab start}}}.products.embeddings_model`, TABLE `{{{project_0.project_id | filled in at lab start}}}.products.image_object_table` );
  1. 在 SQL 查询窗口中,运行以下查询以查看新嵌入表中的数据:
SELECT * FROM `{{{project_0.project_id | filled in at lab start}}}.products.product_embeddings`;

点击检查我的进度以验证是否完成了以下目标: 为对象表中列出的图片创建嵌入表

任务 4. 对 Cloud Storage 中的产品图片运行向量搜索

回顾本实验概览,我们知道,借助 BigQuery 中的向量搜索功能,您可以使用计算出的嵌入向量(即数值向量)来查找语义上相似的对象。具体来说,向量搜索会使用表示嵌入空间中向量之间距离的距离指标,对向量进行比较并按相似度对其进行排序。在 BigQuery 中,向量搜索函数支持三种距离类型,包括欧几里得距离(默认)、余弦距离和点积距离。

在此任务中,您将使用余弦相似度(即两个向量之间夹角的余弦值)来找出 Google Cloud Storage 中与特定搜索词组(女士彩色毛衣)相似度最高的 3 张产品图片。

  • 在 SQL 查询窗口中,运行以下使用 VECTOR_SEARCH 函数的查询,以搜索产品嵌入表并查找与提供的搜索字词相似度最高的图片:
SELECT base.uri, base.product_name, base.content_type, distance FROM VECTOR_SEARCH(TABLE products.product_embeddings,'ml_generate_embedding_result', ( SELECT ml_generate_embedding_result AS embedding_col FROM ML.GENERATE_EMBEDDING ( MODEL `products.embeddings_model`, (SELECT 'colorful sweaters for women' AS content), STRUCT(TRUE AS flatten_json_output) ) ), TOP_K => 3, DISTANCE_TYPE => 'COSINE' );

查看 Cloud Storage 中匹配度最高的图片

[可选] 如需查看返回的匹配度最高的具体图片,您可以前往 Cloud Storage 存储桶,依次打开每张图片。

  1. 在 Google Cloud 控制台的导航菜单 (“导航菜单”图标) 中,依次选择 Cloud Storage > 存储桶

  2. 点击名为 的存储桶,然后点击图片名称(例如 Onesie.jpg)。

  3. 点击要求验证身份的网址以查看图片(例如:https://storage.cloud.google.com/qwiklabs-gcp-04-dc2812426125/Onesie.jpg)。

点击检查我的进度以验证是否完成了以下目标: 对 Cloud Storage 中的产品图片运行向量搜索

恭喜!

在本实验中,您简要了解了 BigQuery 中的向量搜索功能,并使用该功能在 Cloud Storage 中查找了与所需搜索字词相关度最高的图片。

后续步骤/了解详情

Google Cloud 培训和认证

…可帮助您充分利用 Google Cloud 技术。我们的课程会讲解各项技能与最佳实践,可帮助您迅速上手使用并继续学习更深入的知识。我们提供从基础到高级的全方位培训,并有点播、直播和虚拟三种方式选择,让您可以按照自己的日程安排学习时间。各项认证可以帮助您核实并证明您在 Google Cloud 技术方面的技能与专业知识。

本手册的最后更新时间:2026 年 3 月 16 日

本实验的最后测试时间:2026 年 3 月 16 日

版权所有 2026 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名和产品名可能是其各自相关公司的商标。

准备工作

  1. 实验会创建一个 Google Cloud 项目和一些资源,供您使用限定的一段时间
  2. 实验有时间限制,并且没有暂停功能。如果您中途结束实验,则必须重新开始。
  3. 在屏幕左上角,点击开始实验即可开始

使用无痕浏览模式

  1. 复制系统为实验提供的用户名密码
  2. 在无痕浏览模式下,点击打开控制台

登录控制台

  1. 使用您的实验凭证登录。使用其他凭证可能会导致错误或产生费用。
  2. 接受条款,并跳过恢复资源页面
  3. 除非您已完成此实验或想要重新开始,否则请勿点击结束实验,因为点击后系统会清除您的工作并移除该项目

此内容目前不可用

一旦可用,我们会通过电子邮件告知您

太好了!

一旦可用,我们会通过电子邮件告知您

一次一个实验

确认结束所有现有实验并开始此实验

使用无痕浏览模式运行实验

使用无痕模式或无痕浏览器窗口是运行此实验的最佳方式。这可以避免您的个人账号与学生账号之间发生冲突,这种冲突可能导致您的个人账号产生额外费用。