Membuat embedding teks menggunakan model terbuka dan fungsi ML.GENERATE_EMBEDDING

Tutorial ini menunjukkan cara membuat model jarak jauh yang didasarkan pada model embedding teks open source Qwen3-Embedding-0.6B, lalu cara menggunakan model tersebut dengan fungsi ML.GENERATE_EMBEDDING untuk menyematkan ulasan film dari tabel publik bigquery-public-data.imdb.reviews.

Izin yang diperlukan

Untuk menjalankan tutorial ini, Anda memerlukan peran Identity and Access Management (IAM) berikut:

  • Membuat dan menggunakan set data, koneksi, dan model BigQuery: Admin BigQuery (roles/bigquery.admin).
  • Memberikan izin ke akun layanan koneksi: Project IAM Admin (roles/resourcemanager.projectIamAdmin).
  • Men-deploy dan membatalkan deployment model di Vertex AI: Vertex AI Administrator (roles/aiplatform.admin).

Peran yang telah ditetapkan ini berisi izin yang diperlukan untuk melakukan tugas dalam dokumen ini. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:

Izin yang diperlukan

  • Buat set data: bigquery.datasets.create
  • Membuat, mendelegasikan, dan menggunakan koneksi: bigquery.connections.*
  • Menetapkan koneksi default: bigquery.config.*
  • Tetapkan izin akun layanan: resourcemanager.projects.getIamPolicy dan resourcemanager.projects.setIamPolicy
  • Men-deploy dan membatalkan deployment model Vertex AI:
    • aiplatform.endpoints.deploy
    • aiplatform.endpoints.undeploy
  • Buat model dan jalankan inferensi:
    • bigquery.jobs.create
    • bigquery.models.create
    • bigquery.models.getData
    • bigquery.models.updateData
    • bigquery.models.updateMetadata

Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Biaya

Dalam dokumen ini, Anda akan menggunakan komponen Cloud de Confiance by S3NSyang dapat ditagih berikut:

  • 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.

Untuk mengetahui informasi selengkapnya tentang harga BigQuery, lihat harga BigQuery dalam dokumentasi BigQuery.

Model terbuka yang Anda deploy ke Vertex AI dikenai biaya per jam mesin. Artinya, penagihan dimulai segera setelah endpoint disiapkan sepenuhnya, dan berlanjut hingga Anda membatalkan deployment-nya. Untuk mengetahui informasi selengkapnya tentang harga Vertex AI, lihat halaman harga Vertex AI.

Sebelum memulai

  1. In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  2. Verify that billing is enabled for your Cloud de Confiance project.

  3. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

Membuat set data

Buat set data BigQuery untuk menyimpan model ML Anda.

Konsol

  1. Di konsol Cloud de Confiance , buka halaman BigQuery.

    Buka halaman BigQuery

  2. Di panel Explorer, klik nama project Anda.

  3. Klik View actions > Create dataset.

  4. Di halaman Create dataset, lakukan hal berikut:

    • Untuk Dataset ID, masukkan bqml_tutorial.

    • Untuk Location type, pilih Multi-region, lalu pilih US (multiple regions in United States).

    • Jangan ubah setelan default yang tersisa, lalu klik Create dataset.

bq

Untuk membuat set data baru, gunakan perintah bq mk dengan flag --location. Untuk daftar lengkap kemungkinan parameter, lihat referensi perintah bq mk --dataset.

  1. Buat set data bernama bqml_tutorial dengan lokasi data yang ditetapkan ke US dan deskripsi BigQuery ML tutorial dataset:

    bq --location=US mk -d \
     --description "BigQuery ML tutorial dataset." \
     bqml_tutorial

    Perintah ini menggunakan pintasan -d, bukan flag --dataset. Jika Anda menghapus -d dan --dataset, perintah defaultnya adalah membuat set data.

  2. Pastikan set data telah dibuat:

    bq ls

API

Panggil metode datasets.insert dengan resource set data yang ditentukan.

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

BigQuery DataFrames

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan BigQuery DataFrames di Panduan memulai BigQuery menggunakan BigQuery DataFrames. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi BigQuery DataFrames.

Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan ADC untuk lingkungan pengembangan lokal.

import google.cloud.bigquery

bqclient = google.cloud.bigquery.Client()
bqclient.create_dataset("bqml_tutorial", exists_ok=True)

Membuat model jarak jauh

Buat model jarak jauh yang merepresentasikan model Vertex AI yang dihosting:

  1. Di konsol Cloud de Confiance , buka halaman BigQuery.

    Buka BigQuery

  2. Di editor kueri, jalankan pernyataan berikut:

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

Kueri memerlukan waktu hingga 20 menit untuk diselesaikan, setelah itu model qwen3_embedding_model akan muncul di set data bqml_tutorial di panel Explorer. Karena kueri menggunakan pernyataan CREATE MODEL untuk membuat model, tidak akan ada hasil kueri.

Melakukan penyematan teks

Lakukan penyematan teks pada ulasan film IMDB dengan menggunakan model jarak jauh dan fungsi ML.GENERATE_EMBEDDING:

  1. Di konsol Cloud de Confiance , buka halaman BigQuery.

    Buka BigQuery

  2. Di editor kueri, masukkan pernyataan berikut untuk melakukan penyematan teks pada lima ulasan film:

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

    Hasilnya mencakup kolom berikut:

    • ml_generate_embedding_result: array ganda untuk merepresentasikan embedding yang dihasilkan.
    • ml_generate_embedding_status: status respons API untuk baris yang sesuai. Jika operasi berhasil, nilai ini akan kosong.
    • content: teks input yang akan diekstrak embedding-nya.
    • Semua kolom dari tabel bigquery-public-data.imdb.reviews.

Batalkan deployment model

Jika Anda memilih untuk tidak menghapus project seperti yang direkomendasikan, Anda harus membatalkan deployment model sematan Qwen3 di Vertex AI untuk menghindari penagihan berkelanjutan untuk model tersebut. BigQuery secara otomatis membatalkan deployment model setelah jangka waktu tidak aktif tertentu (6,5 jam secara default). Atau, Anda dapat segera membatalkan deployment model menggunakan pernyataan ALTER MODEL, seperti yang ditunjukkan dalam contoh berikut:

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

Untuk mengetahui informasi selengkapnya, lihat Pembatalan deployment model otomatis atau langsung.

Pembersihan

  1. In the Cloud de Confiance console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

Langkah berikutnya