Membuat teks menggunakan model terbuka Gemma dan fungsi AI.GENERATE_TEXT

Tutorial ini menunjukkan cara membuat model jarak jauh yang didasarkan pada model Gemma, lalu cara menggunakan model tersebut dengan AI.GENERATE_TEXT fungsi untuk mengekstrak kata kunci dan melakukan analisis sentimen pada 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: BigQuery Admin (roles/bigquery.admin).
  • Memberikan izin ke akun layanan koneksi: Project IAM Admin (roles/resourcemanager.projectIamAdmin).
  • Men-deploy dan membatalkan deployment model di Agent Platform Gemini Enterprise: 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

  • Membuat set data: bigquery.datasets.create
  • Membuat, mendelegasikan, dan menggunakan koneksi: bigquery.connections.*
  • Menetapkan koneksi default: bigquery.config.*
  • Menetapkan izin akun layanan: resourcemanager.projects.getIamPolicy dan resourcemanager.projects.setIamPolicy
  • Men-deploy dan membatalkan deployment model Agent Platform:
    • aiplatform.endpoints.deploy
    • aiplatform.endpoints.undeploy
  • Membuat model dan menjalankan 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 yang dapat ditagih sebagai berikut 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.

Untuk membuat perkiraan biaya berdasarkan proyeksi penggunaan Anda, gunakan kalkulator harga.

Pengguna baru mungkin memenuhi syarat untuk mendapatkan uji coba gratis. Google Cloud

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

Model terbuka yang Anda deploy ke Agent Platform 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 Agent Platform, lihat halaman harga Agent Platform.

Sebelum memulai

  1. Di Google Cloud konsol, pada halaman pemilih project, pilih atau buat Google Cloud project.

    Peran yang diperlukan untuk memilih atau membuat project

    • Memilih project: Memilih project tidak memerlukan peran IAM tertentu Anda dapat memilih project mana pun yang telah diberi peran.
    • Membuat project: Untuk membuat project, Anda memerlukan peran Project Creator (roles/resourcemanager.projectCreator), yang berisi izin resourcemanager.projects.create. Pelajari cara memberikan peran.

    Buka pemilih project

  2. Pastikan penagihan diaktifkan untuk Google Cloud project Anda.

  3. Aktifkan BigQuery, BigQuery Connection, dan Agent Platform API.

    Peran yang diperlukan untuk mengaktifkan API

    Untuk mengaktifkan API, Anda memerlukan peran IAM Service Usage Admin (roles/serviceusage.serviceUsageAdmin), yang berisi izin serviceusage.services.enable. Pelajari cara memberikan peran.

    Aktifkan API

Membuat set data

Buat set data BigQuery untuk menyimpan model ML Anda.

Konsol

  1. Di konsol Google Cloud , 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.

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

bq

Untuk membuat set data baru, gunakan perintah bq mk --dataset.

  1. Buat set data bernama bqml_tutorial dengan lokasi data ditetapkan ke US.

    bq mk --dataset \
      --location=US \
      --description "BigQuery ML tutorial dataset." \
      bqml_tutorial
  2. Pastikan set data telah dibuat:

    bq ls

API

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

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

Membuat model jarak jauh

Buat model jarak jauh yang merepresentasikan model Agent Platform yang dihosting:

  1. Di Google Cloud konsol, buka halaman BigQuery.

    Buka BigQuery

  2. Di editor kueri, jalankan pernyataan berikut:

CREATE OR REPLACE MODEL `bqml_tutorial.gemma_model`
  REMOTE WITH CONNECTION DEFAULT
  OPTIONS (
    MODEL_GARDEN_MODEL_NAME = 'publishers/google/models/gemma3@gemma-3-270m-it',
    MACHINE_TYPE = 'g2-standard-12'
  );

Kueri memerlukan waktu hingga 20 menit untuk diselesaikan, setelah itu model gemma_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 ekstraksi kata kunci

Lakukan ekstraksi kata kunci pada ulasan film IMDB dengan menggunakan model jarak jauh dan fungsi AI.GENERATE_TEXT:

  1. Di Google Cloud konsol, buka halaman BigQuery.

    Buka BigQuery

  2. Di editor kueri, masukkan pernyataan berikut untuk melakukan ekstraksi kata kunci pada 10 ulasan film:

    SELECT
      *
    FROM
      AI.GENERATE_TEXT(
        MODEL `bqml_tutorial.gemma_model`,
        (
          SELECT
            'Extract the key words from the movie review below: ' || review
              AS prompt,
            *
          FROM
            `bigquery-public-data.imdb.reviews`
          LIMIT 10
        ),
        STRUCT(
          0.2 AS temperature,
          100 AS max_output_tokens));

    Outputnya mirip dengan berikut ini, dengan kolom yang tidak dibuat dihilangkan agar lebih jelas:

    +----------------------------------------------+-------------------------+-----------------------------+-----+
    | result                                       | status                  | prompt                      | ... |
    +----------------------------------------------+-------------------------+-----------------------------+-----+
    | Here are some key words from the             |                         | Extract the key words from  |     |
    | movie review: * **Romance:**                 |                         | the movie review below:     |     |
    | "romantic tryst," "elope" * **Comedy:**      |                         | Linda Arvidson (as Jennie)  |     |
    | "Contrived Comedy" * **Burglary:**           |                         | and Harry Solter (as Frank) |     |
    | "burglar," "rob," "booty" * **Chase:**       |                         | are enjoying a romantic     |     |
    | "chases," "escape" * **Director:** "D.W.     |                         | tryst, when in walks her... |     |
    | Griffith" * **Actors:** "Linda Arvidson,"... |                         |                             |     |
    +----------------------------------------------+-------------------------+-----------------------------+-----+
    | Here are some key words from the             |                         | Extract the key words from  |     |
    | movie review: * **Elderbush Gilch:** The     |                         | the movie review below:     |     |
    | name of the movie being reviewed. *          |                         | This is the second addition |     |
    | **Disappointment:** The reviewer's           |                         | to Frank Baum's personally  |     |
    | overall feeling about the film. *            |                         | produced trilogy of Oz      |     |
    | **Dim-witted:** Describes the story          |                         | films. It's essentially ... |     |
    | line negatively. * **Moronic, sadistic,...   |                         |                             |     |
    +----------------------------------------------+-------------------------+-----------------------------+-----+
    

    Hasilnya mencakup kolom berikut:

    • result: teks yang dihasilkan.
    • status: status respons API untuk baris yang sesuai. Jika operasi berhasil, nilai ini akan kosong.
    • prompt: prompt yang digunakan untuk analisis sentimen.
    • Semua kolom dari tabel bigquery-public-data.imdb.reviews.

Melakukan analisis sentimen

Lakukan analisis sentimen pada IMDB ulasan film dengan menggunakan model jarak jauh dan fungsi AI.GENERATE_TEXT:

  1. Di Google Cloud konsol, buka halaman BigQuery.

    Buka BigQuery

  2. Di editor kueri, jalankan pernyataan berikut untuk melakukan analisis sentimen pada 10 ulasan film:

    SELECT
      *
    FROM
      AI.GENERATE_TEXT(
        MODEL `bqml_tutorial.gemma_model`,
        (
          SELECT
            'Analyze the sentiment of the following movie review and classify it as either POSITIVE or NEGATIVE. \nMovie Review: '
              || review AS prompt,
            *
          FROM
            `bigquery-public-data.imdb.reviews`
          LIMIT 10
        ),
        STRUCT(
          0.2 AS temperature,
          128 AS max_output_tokens));

    Outputnya mirip dengan berikut ini, dengan kolom yang tidak dibuat dihilangkan agar lebih jelas:

    +-----------------------------+-------------------------+-----------------------------+-----+
    | result                      | status                  | prompt                      | ... |
    +-----------------------------+-------------------------+-----------------------------+-----+
    | **NEGATIVE**                |                         | Analyze the sentiment of    |     |
    |                             |                         | movie review and classify   |     |
    |                             |                         | it as either POSITIVE or    |     |
    |                             |                         | NEGATIVE. Movie Review:     |     |
    |                             |                         | Although Charlie Chaplin    |     |
    |                             |                         | made some great short       |     |
    |                             |                         | comedies in the late...     |     |
    +-----------------------------+-------------------------+-----------------------------+-----+
    | **NEGATIVE**                |                         | Analyze the sentiment of    |     |
    |                             |                         | movie review and classify   |     |
    |                             |                         | it as either POSITIVE or    |     |
    |                             |                         | NEGATIVE. Movie Review:     |     |
    |                             |                         | Opulent sets and sumptuous  |     |
    |                             |                         | costumes well photographed  |     |
    |                             |                         | by Theodor Sparkuhl, and... |     |
    +-----------------------------+-------------------------+-----------------------------+-----+
    

    Hasilnya mencakup kolom yang sama dengan yang didokumentasikan untuk Melakukan ekstraksi kata kunci.

Membatalkan deployment model

Jika Anda memilih untuk tidak menghapus project seperti yang direkomendasikan, Anda harus membatalkan deployment model Gemma di Agent Platform untuk menghindari penagihan yang berkelanjutan. BigQuery otomatis membatalkan deployment model setelah periode 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.gemma_model`
SET OPTIONS (deploy_model = false);

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

Pembersihan

  1. Di Google Cloud konsol, buka halaman Manage resources.

    Buka Kelola resource

  2. Pada daftar project, pilih project yang Anda ingin Anda hapus, lalu klik Delete.
  3. Pada dialog, ketik project ID, lalu klik Shut down untuk menghapus project.