使用開放模型和 ML.GENERATE_EMBEDDING 函式生成文字嵌入
本教學課程說明如何建立以開放原始碼文字嵌入模型 Qwen3-Embedding-0.6B 為基礎的遠端模型,以及如何使用 ML.GENERATE_EMBEDDING 函式嵌入 bigquery-public-data.imdb.reviews 公開資料表中的電影評論。
所需權限
如要執行本教學課程,您需要下列 Identity and Access Management (IAM) 角色:
- 建立及使用 BigQuery 資料集、連線和模型:
BigQuery 管理員 (
roles/bigquery.admin)。 - 將權限授予連線的服務帳戶:專案 IAM 管理員 (
roles/resourcemanager.projectIamAdmin)。 - 在 Vertex AI 中部署及取消部署模型:Vertex AI 管理員 (
roles/aiplatform.admin)。
這些預先定義的角色具備執行本文中工作所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:
所需權限
- 建立資料集:
bigquery.datasets.create - 建立、委派及使用連線:
bigquery.connections.* - 設定預設連線:
bigquery.config.* - 設定服務帳戶權限:
resourcemanager.projects.getIamPolicy和resourcemanager.projects.setIamPolicy - 部署及取消部署 Vertex AI 模型:
aiplatform.endpoints.deployaiplatform.endpoints.undeploy
- 建立模型並執行推論:
bigquery.jobs.createbigquery.models.createbigquery.models.getDatabigquery.models.updateDatabigquery.models.updateMetadata
費用
在本文件中,您會使用下列 Google Cloud的計費元件:
- BigQuery ML: You incur costs for the data that you process in BigQuery.
- Vertex AI: You incur costs for calls to the Vertex AI model that's represented by the remote model.
如要根據預測用量估算費用,請使用 Pricing Calculator。
如要進一步瞭解 BigQuery 定價,請參閱 BigQuery 說明文件中的「BigQuery 定價」一文。
部署至 Vertex AI 的開放式模型會依機器時數收費。也就是說,端點完全設定完成後就會開始計費,直到您取消部署為止。如要進一步瞭解 Vertex AI 定價,請參閱 Vertex AI 定價頁面。
事前準備
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the BigQuery, BigQuery Connection, and Vertex AI APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
建立資料集
建立 BigQuery 資料集來儲存機器學習模型。
控制台
前往 Google Cloud 控制台的「BigQuery」頁面。
在「Explorer」窗格中,按一下專案名稱。
依序點按 「View actions」(查看動作) >「Create dataset」(建立資料集)。
在「建立資料集」頁面中,執行下列操作:
在「Dataset ID」(資料集 ID) 中輸入
bqml_tutorial。針對「Location type」(位置類型) 選取「Multi-region」(多區域),然後選取「US (multiple regions in United States)」(us (多個美國區域))。
其餘設定請保留預設狀態,然後按一下「建立資料集」。
bq
如要建立新的資料集,請使用 bq mk 指令搭配 --location 旗標。如需可能的完整參數清單,請參閱 bq mk --dataset 指令參考資料。
建立名為「
bqml_tutorial」的資料集,並將資料位置設為「US」,說明則設為「BigQuery ML tutorial dataset」:bq --location=US mk -d \ --description "BigQuery ML tutorial dataset." \ bqml_tutorial
這個指令採用
-d捷徑,而不是使用--dataset旗標。如果您省略-d和--dataset,該指令預設會建立資料集。確認資料集已建立完成:
bq ls
API
請呼叫 datasets.insert 方法,搭配已定義的資料集資源。
{ "datasetReference": { "datasetId": "bqml_tutorial" } }
BigQuery DataFrames
在嘗試這個範例之前,請按照使用 BigQuery DataFrames 的 BigQuery 快速入門導覽課程中的 BigQuery DataFrames 設定說明操作。 詳情請參閱 BigQuery DataFrames 參考說明文件。
如要驗證 BigQuery,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定 ADC」。
建立遠端模型
建立代表代管 Vertex AI 模型的遠端模型:
前往 Google Cloud 控制台的「BigQuery」頁面。
在查詢編輯器中執行下列陳述式:
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 陳述式建立模型,因此不會有查詢結果。
執行文字嵌入
使用遠端模型和 ML.GENERATE_EMBEDDING 函式,對 IMDB 電影評論執行文字嵌入:
前往 Google Cloud 控制台的「BigQuery」頁面。
在查詢編輯器中輸入下列陳述式,對五則電影評論執行文字嵌入:
SELECT * FROM ML.GENERATE_EMBEDDING( MODEL `bqml_tutorial.qwen3_embedding_model`, ( SELECT review AS content, * FROM `bigquery-public-data.imdb.reviews` LIMIT 5 ) );
結果包含下列資料欄:
ml_generate_embedding_result:代表所產生嵌入內容的雙精度浮點數陣列。ml_generate_embedding_status:對應資料列的 API 回應狀態。如果作業成功,這個值會留空。content:要從中擷取嵌入的輸入文字。bigquery-public-data.imdb.reviews資料表中的所有欄。
取消部署模型
如果選擇不按照建議刪除專案,請務必在 Vertex AI 中取消部署 Qwen3 嵌入模型,以免持續產生相關費用。在指定閒置時間 (預設為 6.5 小時) 過後,BigQuery 會自動取消部署模型。或者,您也可以使用 ALTER MODEL 陳述式立即取消部署模型,如下列範例所示:
ALTER MODEL `bqml_tutorial.qwen3_embedding_model` SET OPTIONS (deploy_model = false);
詳情請參閱「自動或立即取消部署開放模型」。
清除所用資源
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.