Membuat teks dengan fungsi AI.GENERATE
Tutorial ini menunjukkan cara membuat teks dari teks atau data multimodal
dengan menggunakan
fungsi AI.GENERATE.
Dengan fungsi AI.GENERATE, Anda menggunakan
koneksi resource Cloud
untuk terhubung ke model Gemini yang dihosting sehingga Anda tidak perlu
membuat dan mengelola model Anda sendiri.
Tutorial ini menunjukkan kepada Anda cara menyelesaikan tugas-tugas berikut:
- Meringkas konten teks dan menghasilkan output dalam format default fungsi.
- Meringkas konten teks dan menghasilkan hasil terstruktur.
- Mentranskripsikan dan menerjemahkan konten video.
- Menganalisis konten file audio.
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.
- Gemini Enterprise Agent Platform: You incur costs for calls to the Agent Platform model.
Untuk mengetahui informasi selengkapnya tentang harga BigQuery, lihat harga BigQuery dalam dokumentasi BigQuery.
Untuk mengetahui informasi selengkapnya tentang harga AI generatif Agent Platform, lihat halaman harga Agent Platform.
Sebelum memulai
-
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 role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Cloud de Confiance project.
- BigQuery secara otomatis diaktifkan dalam project baru.
Untuk mengaktifkan BigQuery dalam project yang sudah ada, buka
Aktifkan BigQuery API.
Peran yang diperlukan untuk mengaktifkan API
Untuk mengaktifkan API, Anda memerlukan izin
serviceusage.services.enable. Jika Anda membuat project, kemungkinan Anda sudah memiliki izin ini melalui peran Pemilik (roles/owner). Jika tidak, Anda bisa mendapatkan izin ini melalui peran Admin Penggunaan Layanan (roles/serviceusage.serviceUsageAdmin). Pelajari cara memberikan peran.
Peran yang diperlukan
Untuk menggunakan fungsi AI.GENERATE, Anda memerlukan peran Identity and Access Management (IAM) berikut:
- Buat dan gunakan set data dan tabel BigQuery:
BigQuery Data Editor (
roles/bigquery.dataEditor) di project Anda. - Membuat, mendelegasikan, dan menggunakan koneksi BigQuery:
BigQuery Connections Admin (
roles/bigquery.connectionsAdmin) di project Anda. - Memberikan izin ke akun layanan koneksi: Admin IAM Project
(
roles/resourcemanager.projectIamAdmin) di project yang berisi endpoint Platform Agen Gemini Enterprise. - Membuat tugas BigQuery: Pengguna Tugas BigQuery (
roles/bigquery.jobUser) di project Anda.
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.* - Tetapkan izin akun layanan:
resourcemanager.projects.getIamPolicydanresourcemanager.projects.setIamPolicy - Membuat kueri data tabel:
bigquery.tables.getData
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Membuat set data
Buat set data BigQuery untuk menyimpan model ML Anda.
Konsol
Di konsol Cloud de Confiance , buka halaman BigQuery.
Di panel Explorer, klik nama project Anda.
Klik View actions > Create dataset.
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.
Buat set data bernama
bqml_tutorialdengan lokasi data ditetapkan keUS.bq mk --dataset \ --location=US \ --description "BigQuery ML tutorial dataset." \ bqml_tutorial
Pastikan set data telah dibuat:
bq ls
API
Panggil metode datasets.insert dengan resource set data yang ditentukan.
{ "datasetReference": { "datasetId": "bqml_tutorial" } }
Membuat koneksi
Buat koneksi resource Cloud dan dapatkan akun layanan koneksi. Buat koneksi di lokasi yang sama dengan set data yang Anda buat di langkah sebelumnya.
Ikuti langkah-langkah berikut untuk membuat koneksi:
Buka halaman BigQuery.
Di panel Penjelajah, klik Tambahkan data:
Dialog Add data akan terbuka.
Di panel Filter Menurut, di bagian Jenis Sumber Data, pilih Aplikasi Bisnis.
Atau, di kolom Telusuri sumber data, Anda dapat memasukkan
Vertex AI.Di bagian Sumber data unggulan, klik Vertex AI.
Klik kartu solusi Vertex AI Models: BigQuery Federation.
Dalam daftar Connection type, pilih Vertex AI remote models, fungsi jarak jauh, BigLake dan Spanner (Cloud Resource).
Di kolom Connection ID, ketik
test_connection.Klik Create connection.
Klik Go to connection.
Di panel Connection info, salin ID akun layanan untuk digunakan pada langkah berikutnya.
Memberikan akses pada akun layanan
Berikan peran Agent Platform User ke akun layanan koneksi.
Untuk memberikan peran, ikuti langkah-langkah berikut:
Buka halaman IAM & Admin.
Klik Add.
Dialog Add principals akan terbuka.
Di kolom New principals, masukkan ID akun layanan yang Anda salin sebelumnya.
Di kolom Pilih peran, pilih Vertex AI, lalu pilih Agent Platform User.
Klik Add another role.
Di kolom Select a role, pilih Cloud Storage, lalu pilih Storage Object Viewer.
Klik Simpan.
Meringkas teks dan menggunakan format output default
Ikuti langkah-langkah berikut untuk membuat teks menggunakan fungsi AI.GENERATE,
dan menampilkan hasilnya dalam format default fungsi AI.GENERATE:
Di konsol Cloud de Confiance , buka halaman BigQuery.
Di editor kueri, jalankan kueri berikut:
WITH bbc_news AS ( SELECT body FROM `bigquery-public-data.bbc_news.fulltext` LIMIT 5 ) SELECT AI.GENERATE(body, endpoint => 'gemini-2.5-pro') AS news FROM bbc_news;
Outputnya mirip dengan hal berikut ini:
+---------------------------------------------+------------------------------------+---------------+ | news.result | news.full_response | news.status | +---------------------------------------------+------------------------------------+---------------+ | This article presents a debate about the | {"candidates":[{"avg_logprobs": | | | "digital divide" between rich and poor | -0.31465074559841777, content": | | | nations. Here's a breakdown of the key.. | {"parts":[{"text":"This article.. | | +---------------------------------------------+------------------------------------+---------------+ | This article discusses how advanced | {"candidates":[{"avg_logprobs": | | | mapping technology is aiding humanitarian | -0.21313422900091983,"content": | | | efforts in Darfur, Sudan. Here's a... | {"parts":[{"text":"This article.. | | +---------------------------------------------+------------------------------------+---------------+ | ... | ... | ... | +---------------------------------------------+------------------------------------+---------------+
Meringkas teks dan menghasilkan hasil terstruktur
Ikuti langkah-langkah berikut untuk membuat teks menggunakan fungsi AI.GENERATE, dan gunakan argumen output_schema fungsi AI.GENERATE untuk memformat output:
Di konsol Cloud de Confiance , buka halaman BigQuery.
Di editor kueri, jalankan kueri berikut:
WITH bbc_news AS ( SELECT body FROM `bigquery-public-data`.bbc_news.fulltext LIMIT 5 ) SELECT news.good_sentiment, news.summary FROM bbc_news, UNNEST(ARRAY[AI.GENERATE(body, endpoint => 'gemini-2.5-pro', output_schema => 'summary STRING, good_sentiment BOOL')]) AS news;
Outputnya mirip dengan hal berikut ini:
+----------------+--------------------------------------------+ | good_sentiment | summary | +----------------+--------------------------------------------+ | true | A World Bank report suggests the digital | | | divide is rapidly closing due to increased | | | access to technology in developing.. | +----------------+--------------------------------------------+ | true | A review of sports games, focusing on the | | | rivalry between EA Sports and ESPN, and | | | the recent deal where EA acquired the.. | +----------------+--------------------------------------------+ | ... | ... | +----------------+--------------------------------------------+
Mentranskripsikan dan menerjemahkan konten video
Ikuti langkah-langkah berikut untuk membuat tabel objek pada konten video publik, lalu mentranskripsikan dan menerjemahkan video:
Di konsol Cloud de Confiance , buka halaman BigQuery.
Di editor kueri, jalankan kueri berikut untuk membuat tabel objek:
CREATE OR REPLACE EXTERNAL TABLE `bqml_tutorial.video` WITH CONNECTION `us.test_connection` OPTIONS ( object_metadata = 'SIMPLE', uris = ['gs://cloud-samples-data/generative-ai/video/*']);
Di editor kueri, jalankan kueri berikut untuk mentranskripsikan dan menerjemahkan file
pixel8.mp4:SELECT AI.GENERATE( (OBJ.GET_ACCESS_URL(ref, 'r'), 'Transcribe the video in Japanese and then translate to English.'), endpoint => 'gemini-2.5-pro', output_schema => 'japanese_transcript STRING, english_translation STRING' ).* EXCEPT (full_response, status) FROM `bqml_tutorial.video` WHERE REGEXP_CONTAINS(uri, 'pixel8.mp4');
Outputnya mirip dengan hal berikut ini:
+--------------------------------------------+--------------------------------+ | english_translation | japanese_transcript | +--------------------------------------------+--------------------------------+ | My name is Saeka Shimada. I'm a | 島田 さえか です 。 東京 で フ | | photographer in Tokyo. Tokyo has many | ォトグラファー を し て い ま | | faces. The city at night is totally... | す 。 東京 に は いろんな 顔 が | +--------------------------------------------+--------------------------------+
Menganalisis konten file audio
Ikuti langkah-langkah berikut untuk membuat tabel objek pada konten audio publik, lalu menganalisis konten file audio.
Di konsol Cloud de Confiance , buka halaman BigQuery.
Di editor kueri, jalankan kueri berikut untuk membuat tabel objek:
CREATE OR REPLACE EXTERNAL TABLE `bqml_tutorial.audio` WITH CONNECTION `us.test_connection` OPTIONS ( object_metadata = 'SIMPLE', uris = ['gs://cloud-samples-data/generative-ai/audio/*']);
Di editor kueri, jalankan kueri berikut untuk menganalisis file audio:
SELECT AI.GENERATE( (OBJ.GET_ACCESS_URL(ref, 'r'), 'Summarize the content of this audio file.'), endpoint => 'gemini-2.5-pro', output_schema => 'topic ARRAY<STRING>, summary STRING' ).* EXCEPT (full_response, status), uri FROM `bqml_tutorial.audio`;
Hasilnya akan mirip seperti berikut:
+--------------------------------------------+-----------------------------------------------------------+ | summary | topic | uri | +--------------------------------------------+-----------------------------------------------------------+ | The audio contains a distinctive 'beep' | beep sound | gs://cloud-samples-data/generativ... | | sound, followed by the characteristic | | | | sound of a large vehicle or bus backing.. | | | +--------------------------------------------+--------------------+--------------------------------------+ | | vehicle backing up | | | +--------------------+ | | | bus | | | +--------------------+ | | | alarm | | +--------------------------------------------+--------------------+--------------------------------------+ | The speaker introduces themselves | Introduction | gs://cloud-samples-data/generativ... | | as Gemini and expresses their excitement | | | | and readiness to dive into something.. | | | +--------------------------------------------+--------------------+--------------------------------------+ | | Readiness | | | +--------------------+ | | | Excitement | | | +--------------------+ | | | Collaboration | | +--------------------------------------------+--------------------+--------------------------------------+ | ... | ... | ... | +--------------------------------------------+--------------------+--------------------------------------+
Pembersihan
- Di konsol Cloud de Confiance , buka halaman Manage resources.
- Pada daftar project, pilih project yang ingin Anda hapus, lalu klik Delete.
- Pada dialog, ketik project ID, lalu klik Shut down untuk menghapus project.