arrow_back

運用 BigQuery 導入多模態向量搜尋:挑戰實驗室

登录 加入
访问 700 多个实验和课程

運用 BigQuery 導入多模態向量搜尋:挑戰實驗室

实验 1 小时 30 分钟 universal_currency_alt 5 积分 show_chart 中级
info 此实验可能会提供 AI 工具来支持您学习。
访问 700 多个实验和课程

GSP523

Google Cloud 自學實驗室標誌

總覽

在挑戰研究室中,您會在特定情境下完成一系列任務。挑戰研究室不會提供逐步說明,您將運用從課程研究室學到的技巧,自行找出方法完成任務!自動評分系統 (如本頁所示) 將根據您是否正確完成任務來提供意見回饋。

在您完成任務的期間,挑戰研究室不會介紹新的 Google Cloud 概念。您須靈活運用所學技巧,例如變更預設值或詳讀並研究錯誤訊息,解決遇到的問題。

若想滿分達標,就必須在時限內成功完成所有任務!

這個實驗室適合「運用 BigQuery 導入多模態向量搜尋」技能徽章課程的學員。準備好迎接挑戰了嗎?

挑戰情境

您是線上零售商店 Cymbal 的數據資料學家,想建立 pipeline 來持續搜尋市面上的相似產品,藉此做行銷比較研究,不過目前面臨以下幾個難題:

  • 如何處理多模態資料:您收集的是多模態資料,包括文字、圖片和影片,其中部分檔案儲存於 Cloud Storage。
  • 如何執行語意相似度搜尋,而非關鍵字搜尋:您想根據多個維度 (如圖片、說明和特定功能) 找出相似產品,但關鍵字搜尋的效果可能不佳。
  • 如何運用 BigQuery 達成目標:由於大部分資料已儲存於 BigQuery,採用相同工具或許較能快速上手。

為解決這些難題,您決定運用 BigQuery 導入多模態向量搜尋

測驗主題

  • 在 BigQuery 建立外部來源連線,並授予適當的 IAM 權限。
  • 建立用於儲存圖片的物件資料表。
  • 生成嵌入項目,將圖片 (多模態資料) 轉換為向量。
  • 執行向量搜尋,找出相似產品。

事前準備

為完成這個實驗室,您必須熟悉 BigQuery 和 Cloud Storage。

Gemini in BigQuery」學習路徑提供本技能徽章課程所需的完整知識庫。為順利完成本挑戰實驗室,建議您完成下列三堂課程和相關的實驗室,累積先備知識:

設定和需求

瞭解以下事項後,再點選「Start Lab」按鈕

請詳閱以下操作說明。實驗室活動會計時,且中途無法暫停。點選「Start Lab」後就會開始計時,顯示可使用 Google Cloud 資源的時間。

您將在真正的雲端環境完成實作實驗室活動,而不是模擬或示範環境。為此,我們會提供新的暫時憑證,供您在實驗室活動期間登入及存取 Google Cloud。

為了順利完成這個實驗室,請先確認:

  • 可以使用標準的網際網路瀏覽器 (Chrome 瀏覽器為佳)。
注意事項:請使用無痕模式 (建議選項) 或私密瀏覽視窗執行此實驗室,這可以防止個人帳戶和學員帳戶之間的衝突,避免個人帳戶產生額外費用。
  • 是時候完成實驗室活動了!別忘了,活動一旦開始將無法暫停。
注意事項:務必使用實驗室專用的學員帳戶。如果使用其他 Google Cloud 帳戶,可能會產生額外費用。

如何開始研究室及登入 Google Cloud 控制台

  1. 點選「Start Lab」按鈕。如果實驗室會產生費用,畫面上會出現選擇付款方式的對話方塊。左側的「Lab Details」窗格會顯示下列項目:

    • 「Open Google Cloud console」按鈕
    • 剩餘時間
    • 必須在這個研究室中使用的臨時憑證
    • 完成這個實驗室所需的其他資訊 (如有)
  2. 點選「Open Google Cloud console」;如果使用 Chrome 瀏覽器,也能按一下滑鼠右鍵,選取「在無痕視窗中開啟連結」

    接著,實驗室會啟動相關資源,並開啟另一個分頁,顯示「登入」頁面。

    提示:您可以在不同的視窗中並排開啟分頁。

    注意:如果頁面中顯示「選擇帳戶」對話方塊,請點選「使用其他帳戶」
  3. 如有必要,請將下方的 Username 貼到「登入」對話方塊。

    {{{user_0.username | "Username"}}}

    您也可以在「Lab Details」窗格找到 Username。

  4. 點選「下一步」

  5. 複製下方的 Password,並貼到「歡迎使用」對話方塊。

    {{{user_0.password | "Password"}}}

    您也可以在「Lab Details」窗格找到 Password。

  6. 點選「下一步」

    重要事項:請務必使用實驗室提供的憑證,而非自己的 Google Cloud 帳戶憑證。 注意:如果使用自己的 Google Cloud 帳戶來進行這個實驗室,可能會產生額外費用。
  7. 按過後續的所有頁面:

    • 接受條款及細則。
    • 由於這是臨時帳戶,請勿新增救援選項或雙重驗證機制。
    • 請勿申請免費試用。

Google Cloud 控制台稍後會在這個分頁開啟。

注意:如要使用 Google Cloud 產品和服務,請點選「導覽選單」,或在「搜尋」欄位輸入服務或產品名稱。「導覽選單」圖示和搜尋欄位

工作 1:建立來源連線,並授予 IAM 權限

建立外部來源連線

如要在 BigQuery 使用 Vertex AI 的遠端生成式 AI 模型 (例如嵌入模型),請在 區域中,新建名為 vector_conn 的外部來源連線。

這個連線就像 Vertex AI 和 BigQuery 之間的安全 pipeline,可讓您安全使用生成式 AI 模型。

展開提示可查看實用祕訣!

將 IAM 權限授予新的服務帳戶

如要存取 Vertex AI 資源和 BigQuery 資料,您必須為外部來源連線的服務帳戶授予適當的 IAM 權限。

將下列角色指派給前一節建立的服務帳戶:

  • BigQuery 資料擁有者
  • Storage 物件檢視者
  • Vertex AI 使用者

展開提示可查看實用祕訣!

點選「Check my progress」,確認目標已達成。建立來源連線,並授予 IAM 權限。

工作 2:建立物件資料表

如要查詢儲存於 Google Cloud Storage 的非結構化資料 (如圖片和影片),請在預先建立的 BigQuery 資料集 gcc_bqml_dataset 中,建立名為 gcc_image_object_table 的物件資料表。

這個資料表會儲存物件的中繼資料,例如網址和內容類型,但不會儲存非結構化資料本身。如同其他 BigQuery 資料表,物件資料表可供查詢,因此您可以運用 SQL 或 Python 根據中繼資料篩選及選取物件。

在 BigQuery SQL 編輯器執行下列 SQL 程式碼。請務必將以方括號標示的預留位置 [] 替換為正確的程式碼 (例如將 [PROJECT_ID] 替換為本實驗室環境的專案 ID)。

Create or replace external table `[PROJECT_ID].[DATASET_NAME].[OBJECT_TABLE_NAME]` with connection `[PROJECT_ID].[CONNECTION_REGION].[CONNECTION_NAME]` options ( object_metadata='SIMPLE', uris=['gs://[PROJECT_ID]/*'] )

展開提示可查看實用祕訣!

點選「Check my progress」,確認目標已達成。 建立物件資料表。

工作 3:生成嵌入項目

連線至嵌入模型

如要連線至遠端嵌入模型,請在預先建立的 BigQuery 資料集 gcc_bqml_dataset 中,建立名為 gcc_embedding 的新模型,並將端點 (模型名稱) 指定為 multimodalembedding@001

在 BigQuery SQL 編輯器執行下列 SQL 程式碼。請務必將以方括號標示的預留位置 [] 替換為正確的程式碼 (例如將 [PROJECT_ID] 替換為本實驗室環境的專案 ID)。

Create or replace model `[PROJECT_ID].[DATASET_NAME].[MODEL_NAME]` remote with connection `[PROJECT_ID].[CONNECTION_REGION].[CONNECTION_NAME]` options( [DEFINE_ENDPOINT] );

展開提示可查看實用祕訣!

生成嵌入項目

為圖片生成嵌入項目時,請將其儲存至預先建立的 BigQuery 資料集 gcc_bqml_dataset 中的 gcc_retail_store_embeddings 資料表。

  1. 在 BigQuery SQL 編輯器執行下列 SQL 程式碼。請務必將以方括號標示的預留位置 [] 替換為正確的程式碼 (例如將 [PROJECT_ID] 替換為本實驗室環境的專案 ID)。
Create or replace table `[PROJECT_ID].[DATASET_NAME].[EMBEDDINGS_TABLE_NAME]` as select *, REGEXP_EXTRACT(uri, r'[^/]+$') as product_name from [EMBEDDINGS_FUNCTION] ( MODEL `[PROJECT_ID].[DATASET_NAME].[MODEL_NAME]`, TABLE `[PROJECT_ID].[DATASET_NAME].[OBJECT_TABLE_NAME]` )

展開提示可查看實用祕訣!

  1. [選用步驟] 如要查看嵌入結果,請更新並執行下列程式碼 (請注意,嵌入結果為浮點數,可能無法立即解讀):
SELECT * FROM `[PROJECT_ID].[DATASET_NAME].[EMBEDDINGS_TABLE_NAME]`

點選「Check my progress」,確認目標已達成。 建立新模型並生成嵌入項目。

工作 4:執行向量搜尋

執行向量搜尋來找出與搜尋詞組最相似的圖片時,請將搜尋結果儲存至預先建立的 BigQuery 資料集 gcc_bqml_dataset 中的 gcc_vector_search_table 資料表。

  1. 在 BigQuery SQL 編輯器執行下列 SQL 程式碼。請務必將以方括號標示的預留位置 [] 替換為正確的程式碼 (例如將 [PROJECT_ID] 替換為本實驗室環境的專案 ID)。
Create or replace table `[PROJECT_ID].[DATASET_NAME].[SEARCH_RESULTS_TABLE]` AS select base.uri, base.product_name, base.content_type, distance from [VECTOR_SEARCH_FUNCTION](table [DATASET_NAME].[EMBEDDINGS_TABLE_NAME],'ml_generate_embedding_result', ( SELECT ml_generate_embedding_result as embedding_col FROM [EMBEDDINGS_FUNCTION] ( MODEL `[DATASET_NAME].[MODEL_NAME]`, (select 'Men Sweaters' as content), STRUCT(TRUE AS flatten_json_output) ) ), [STATEMENT_TO_SELECT_TOP_2_RESULTS], distance_type => 'COSINE' );

展開提示可查看實用祕訣!

  1. [選用步驟] 如要查看向量搜尋結果,請更新並執行下列程式碼:
SELECT * FROM `[PROJECT_ID].[DATASET_NAME].[SEARCH_RESULTS_TABLE]`

點選「Check my progress」,確認目標已達成。 執行向量搜尋。

恭喜!

恭喜您成功運用 BigQuery 實作多模態向量搜尋!在本實驗室中,您依序建立了外部資源的連線,為服務帳戶授予適當的 IAM 權限,建立用於儲存圖片中繼資料的物件資料表,接著生成嵌入項目並將圖片轉換為向量,最後搜尋向量並找到所需的產品。

您現在可以在自己的用途中,透過相同程序搜尋多模態資料!

Google Cloud 教育訓練與認證

協助您瞭解如何充分運用 Google Cloud 的技術。我們的課程會介紹專業技能和最佳做法,讓您可以快速掌握要領並持續進修。我們提供從基本到進階等級的訓練課程,並有隨選、線上和虛擬課程等選項,方便您抽空參加。認證可協助您驗證及證明自己在 Google Cloud 技術方面的技能和專業知識。

使用手冊上次更新日期:2025 年 2 月 12 日

實驗室上次測試日期:2025 年 2 月 12 日

Copyright 2025 Google LLC 保留所有權利。Google 和 Google 標誌是 Google LLC 的商標,其他公司和產品名稱則有可能是其關聯公司的商標。

准备工作

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

使用无痕浏览模式

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

登录控制台

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

此内容目前不可用

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

太好了!

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

一次一个实验

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

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

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