使用開放模型和 AI.GENERATE_EMBEDDING 函式生成文字嵌入

本教學課程說明如何建立以開放原始碼文字嵌入模型 Qwen3-Embedding-0.6B 為基礎的遠端模型,然後如何使用 AI.GENERATE_EMBEDDING 函式嵌入 bigquery-public-data.imdb.reviews 公開資料表中的電影評論。

所需權限

如要執行本教學課程,您需要下列 Identity and Access Management (IAM) 角色:

  • 建立及使用 BigQuery 資料集、連線和模型:BigQuery 管理員 (roles/bigquery.admin)。
  • 將權限授予連線的服務帳戶:專案 IAM 管理員 (roles/resourcemanager.projectIamAdmin)。
  • 在 Gemini Enterprise Agent Platform 中部署及取消部署模型:Agent Platform 管理員 (roles/aiplatform.admin)。

這些預先定義的角色具備執行本文所述工作所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:

所需權限

  • 建立資料集:bigquery.datasets.create
  • 建立、委派及使用連線: bigquery.connections.*
  • 設定預設連線:bigquery.config.*
  • 設定服務帳戶權限: resourcemanager.projects.getIamPolicyresourcemanager.projects.setIamPolicy
  • 部署及取消部署 Agent Platform 模型:
    • aiplatform.endpoints.deploy
    • aiplatform.endpoints.undeploy
  • 建立模型並執行推論:
    • bigquery.jobs.create
    • bigquery.models.create
    • bigquery.models.getData
    • bigquery.models.updateData
    • bigquery.models.updateMetadata

您或許還可透過自訂角色或其他預先定義的角色取得這些權限。

費用

在本文件中,您會使用下列 Google Cloud的計費元件:

  • BigQuery ML: You incur costs for the data that you process in BigQuery.
  • Gemini Enterprise Agent Platform: You incur costs for calls to the Agent Platform model that's represented by the remote model.

如要根據預測用量估算費用,請使用 Pricing Calculator

初次使用 Google Cloud 的使用者可能符合免費試用期資格。

如要進一步瞭解 BigQuery 定價,請參閱 BigQuery 說明文件中的「BigQuery 定價」一文。

部署至 Agent Platform 的開放模型會依機器時數計費。也就是說,端點完全設定完畢後就會開始計費,直到您取消部署為止。如要進一步瞭解 Agent Platform 定價,請參閱「Agent Platform 定價」頁面。

事前準備

  1. 在 Google Cloud 控制台的專案選擇器頁面中,選取或建立 Google Cloud 專案。

    選取或建立專案所需的角色

    • 選取專案:選取專案時,不需要具備特定 IAM 角色,只要您在專案中獲派角色,即可選取該專案。
    • 建立專案:如要建立專案,您需要「專案建立者」角色 (roles/resourcemanager.projectCreator),其中包含 resourcemanager.projects.create 權限。瞭解如何授予角色

    前往專案選取器

  2. 確認專案已啟用計費功能 Google Cloud

  3. 啟用 BigQuery、BigQuery Connection 和 Agent Platform API。

    啟用 API 時所需的角色

    如要啟用 API,您需要具備服務使用情形管理員 IAM 角色 (roles/serviceusage.serviceUsageAdmin),其中包含 serviceusage.services.enable 權限。瞭解如何授予角色

    啟用 API

建立資料集

建立 BigQuery 資料集來儲存機器學習模型。

控制台

  1. 前往 Google Cloud 控制台的「BigQuery」頁面。

    前往 BigQuery 頁面

  2. 在「Explorer」窗格中,按一下專案名稱。

  3. 依序點按 「View actions」(查看動作) >「Create dataset」(建立資料集)

  4. 在「建立資料集」頁面中,執行下列操作:

    • 在「Dataset ID」(資料集 ID) 中輸入 bqml_tutorial

    • 針對「Location type」(位置類型) 選取「Multi-region」(多區域),然後選取「US」(美國)

    • 其餘設定請保留預設狀態,然後按一下「建立資料集」

bq

如要建立新的資料集,請使用 bq mk --dataset 指令

  1. 建立名為 bqml_tutorial 的資料集,並將資料位置設為 US

    bq mk --dataset \
      --location=US \
      --description "BigQuery ML tutorial dataset." \
      bqml_tutorial
  2. 確認資料集已建立完成:

    bq ls

API

請呼叫 datasets.insert 方法,搭配已定義的資料集資源

{
  "datasetReference": {
     "datasetId": "bqml_tutorial"
  }
}

建立遠端模型

建立遠端模型,代表託管的 Agent Platform 模型:

  1. 前往 Google Cloud 控制台的「BigQuery」頁面。

    前往「BigQuery」

  2. 在查詢編輯器中執行下列陳述式:

CREATE OR REPLACE MODEL `bqml_tutorial.qwen3_embedding_model`
  REMOTE WITH CONNECTION DEFAULT
  OPTIONS (
    HUGGING_FACE_MODEL_ID = 'Qwen/Qwen3-Embedding-0.6B'
);

查詢作業最多需要 20 分鐘才能完成,完成後,qwen3_embedding_model 模型會顯示在「Explorer」(探索工具) 窗格bqml_tutorial 資料集中。由於查詢是使用 CREATE MODEL 陳述式建立模型,因此不會有查詢結果。

執行文字嵌入

使用遠端模型和 AI.GENERATE_EMBEDDING 函式,對 IMDB 電影評論執行文字嵌入:

  1. 前往 Google Cloud 控制台的「BigQuery」頁面。

    前往「BigQuery」

  2. 在查詢編輯器中輸入下列陳述式,對五則電影評論執行文字嵌入:

    SELECT
      *
    FROM
      AI.GENERATE_EMBEDDING(
        MODEL `bqml_tutorial.qwen3_embedding_model`,
        (
          SELECT
            review AS content,
            *
          FROM
            `bigquery-public-data.imdb.reviews`
          LIMIT 5
        )
      );

    結果包含下列資料欄:

    • embedding:代表所產生嵌入內容的雙精度浮點數陣列。
    • status:對應資料列的 API 回應狀態。如果作業成功,這個值會是空白。
    • content:要從中擷取嵌入的輸入文字。
    • bigquery-public-data.imdb.reviews 資料表中的所有資料欄。

取消部署模型

如果選擇不要按照建議刪除專案,請務必在 Agent Platform 中取消部署 Qwen3 嵌入模型,以免持續產生費用。BigQuery 會在指定閒置時間 (預設為 6.5 小時) 過後,自動取消部署模型。或者,您也可以使用 ALTER MODEL 陳述式立即取消部署模型,如下列範例所示:

ALTER MODEL `bqml_tutorial.qwen3_embedding_model`
SET OPTIONS (deploy_model = false);

詳情請參閱「自動或立即取消部署開放模型」。

清除所用資源

  1. 前往 Google Cloud 控制台的「Manage resources」(管理資源) 頁面。

    前往「Manage resources」(管理資源)

  2. 在專案清單中選取要刪除的專案,然後點選「Delete」(刪除)
  3. 在對話方塊中輸入專案 ID,然後按一下 [Shut down] (關閉) 以刪除專案。

後續步驟