Membuat teks menggunakan fungsi ML.GENERATE_TEXT
Dokumen ini menunjukkan cara membuat model jarak jauh BigQuery ML yang mewakili model Vertex AI yang dihosting. Model Vertex AI yang dihosting dapat berupa
model teks atau multimodal Vertex AI bawaan,
atau
model Claude Anthropic.
Bergantung pada model Vertex AI yang Anda pilih, Anda kemudian dapat
menggunakan
fungsi ML.GENERATE_TEXT
untuk menganalisis data tidak terstruktur dalam
tabel objek atau teks dalam
tabel standar.
Izin yang diperlukan
Untuk membuat koneksi, Anda memerlukan keanggotaan dalam peran Identity and Access Management (IAM) berikut:
roles/bigquery.connectionAdmin
Untuk memberikan izin ke akun layanan koneksi, Anda memerlukan izin berikut:
resourcemanager.projects.setIamPolicy
Untuk membuat model menggunakan BigQuery ML, Anda memerlukan izin IAM berikut:
bigquery.jobs.create
bigquery.models.create
bigquery.models.getData
bigquery.models.updateData
bigquery.models.updateMetadata
Untuk menjalankan inferensi, Anda memerlukan izin berikut:
bigquery.tables.getData
pada tabelbigquery.models.getData
pada modelbigquery.jobs.create
Sebelum memulai
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Make sure that billing is enabled for your Google Cloud project.
-
Aktifkan API BigQuery, BigQuery Connection, and Vertex AI.
Membuat koneksi
Buat koneksi resource Cloud dan dapatkan akun layanan koneksi.
Pilih salah satu opsi berikut:
Konsol
Buka halaman BigQuery.
Untuk membuat koneksi, klik
Tambahkan, lalu klik Koneksi ke sumber data eksternal.Dalam daftar Connection type, pilih Vertex AI remote models, remote functions and BigLake (Cloud Resource).
Di kolom Connection ID, masukkan nama untuk koneksi Anda.
Klik Create connection.
Klik Go to connection.
Di panel Connection info, salin ID akun layanan untuk digunakan di langkah berikutnya.
bq
Di lingkungan command line, buat koneksi:
bq mk --connection --location=REGION --project_id=PROJECT_ID \ --connection_type=CLOUD_RESOURCE CONNECTION_ID
Parameter
--project_id
akan mengganti project default.Ganti kode berikut:
REGION
: region koneksi AndaPROJECT_ID
: project ID Google Cloud AndaCONNECTION_ID
: ID untuk koneksi Anda
Saat Anda membuat resource koneksi, BigQuery akan membuat akun layanan sistem unik dan mengaitkannya dengan koneksi.
Pemecahan masalah: Jika Anda mendapatkan error koneksi berikut, update Google Cloud SDK:
Flags parsing error: flag --connection_type=CLOUD_RESOURCE: value should be one of...
Ambil dan salin ID akun layanan untuk digunakan di langkah berikutnya:
bq show --connection PROJECT_ID.REGION.CONNECTION_ID
Outputnya mirip dengan hal berikut ini:
name properties 1234.REGION.CONNECTION_ID {"serviceAccountId": "connection-1234-9u56h9@gcp-sa-bigquery-condel."}
Terraform
Gunakan resource google_bigquery_connection
.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Contoh berikut membuat koneksi resource Cloud bernama
my_cloud_resource_connection
di region US
:
Untuk menerapkan konfigurasi Terraform di project Google Cloud, selesaikan langkah-langkah di bagian berikut.
Menyiapkan Cloud Shell
- Luncurkan Cloud Shell.
-
Tetapkan project Google Cloud default tempat Anda ingin menerapkan konfigurasi Terraform.
Anda hanya perlu menjalankan perintah ini sekali per project, dan dapat dijalankan di direktori mana pun.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
Variabel lingkungan akan diganti jika Anda menetapkan nilai eksplisit dalam file konfigurasi Terraform.
Menyiapkan direktori
Setiap file konfigurasi Terraform harus memiliki direktorinya sendiri (juga disebut modul root).
-
Di Cloud Shell, buat direktori dan file baru di dalam direktori tersebut. Nama file harus memiliki
ekstensi
.tf
—misalnyamain.tf
. Dalam tutorial ini, file ini disebut sebagaimain.tf
.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
Jika mengikuti tutorial, Anda dapat menyalin kode contoh di setiap bagian atau langkah.
Salin kode contoh ke dalam
main.tf
yang baru dibuat.Atau, salin kode dari GitHub. Tindakan ini direkomendasikan jika cuplikan Terraform adalah bagian dari solusi menyeluruh.
- Tinjau dan ubah contoh parameter untuk diterapkan pada lingkungan Anda.
- Simpan perubahan Anda.
-
Lakukan inisialisasi Terraform. Anda hanya perlu melakukan ini sekali per direktori.
terraform init
Secara opsional, untuk menggunakan versi penyedia Google terbaru, sertakan opsi
-upgrade
:terraform init -upgrade
Menerapkan perubahan
-
Tinjau konfigurasi dan pastikan resource yang akan dibuat atau
diupdate oleh Terraform sesuai yang Anda inginkan:
terraform plan
Koreksi konfigurasi jika diperlukan.
-
Terapkan konfigurasi Terraform dengan menjalankan perintah berikut dan memasukkan
yes
pada prompt:terraform apply
Tunggu hingga Terraform menampilkan pesan "Apply complete!".
- Buka project Google Cloud Anda untuk melihat hasilnya. Di Konsol Google Cloud, buka resource Anda di UI untuk memastikan bahwa Terraform telah membuat atau mengupdatenya.
Memberikan akses pada akun layanan
Berikan peran Vertex AI User ke akun layanan koneksi.
Jika Anda berencana menentukan endpoint sebagai URL saat membuat model jarak jauh, misalnya endpoint = 'https://us-central1-aiplatform.googleapis.com/v1/projects/myproject/locations/us-central1/publishers/google/models/text-embedding-004'
, berikan peran ini di project yang sama dengan yang Anda tentukan di URL.
Jika Anda berencana menentukan endpoint menggunakan nama model saat membuat model jarak jauh, misalnya endpoint = 'text-embedding-004'
, berikan peran ini di project yang sama dengan tempat Anda berencana membuat model jarak jauh.
Memberikan peran di project lain akan menyebabkan error bqcx-1234567890-xxxx@gcp-sa-bigquery-condel. does not have the permission to access resource
.
Untuk memberikan peran, ikuti langkah-langkah berikut:
Konsol
Buka halaman IAM & Admin.
Klik
Add.Dialog Add principals akan terbuka.
Di kolom Akun utama baru, masukkan ID akun layanan yang Anda salin sebelumnya.
Di kolom Pilih peran, pilih Vertex AI, lalu pilih Pengguna Vertex AI.
Klik Simpan.
gcloud
Gunakan
perintah gcloud projects add-iam-policy-binding
.
gcloud projects add-iam-policy-binding 'PROJECT_NUMBER' --member='serviceAccount:MEMBER' --role='roles/aiplatform.user' --condition=None
Ganti kode berikut:
PROJECT_NUMBER
: nomor project AndaMEMBER
: ID akun layanan yang Anda salin sebelumnya
Mengaktifkan model Vertex AI
Langkah ini hanya diperlukan jika Anda menggunakan model Claude.
Di konsol Google Cloud, buka halaman Model Garden Vertex AI.
Telusuri atau jelajahi model Claude yang ingin Anda gunakan.
Klik kartu model.
Di halaman model, klik Aktifkan.
Isi informasi pengaktifan yang diminta, lalu klik Berikutnya.
Di bagian Persyaratan dan ketentuan, centang kotak.
Klik Setuju untuk menyetujui persyaratan dan ketentuan serta mengaktifkan model.
Membuat model jarak jauh BigQuery ML
Di Konsol Google Cloud, buka halaman BigQuery.
Dengan menggunakan editor SQL, buat model jarak jauh:
CREATE OR REPLACE MODEL `PROJECT_ID.DATASET_ID.MODEL_NAME` REMOTE WITH CONNECTION `PROJECT_ID.REGION.CONNECTION_ID` OPTIONS (ENDPOINT = 'ENDPOINT');
Ganti kode berikut:
PROJECT_ID
: project ID AndaDATASET_ID
: ID set data yang akan berisi model. Set data ini harus berada di lokasi yang sama dengan koneksi yang Anda gunakanMODEL_NAME
: nama modelREGION
: region yang digunakan oleh koneksiCONNECTION_ID
: ID koneksi BigQuery AndaSaat Anda melihat detail koneksi di Konsol Google Cloud, ini adalah nilai di bagian terakhir ID koneksi yang sepenuhnya memenuhi syarat yang ditampilkan di ID Koneksi, misalnya
projects/myproject/locations/connection_location/connections/myconnection
ENDPOINT
: nama model Vertex AI yang didukung yang akan digunakan.Untuk beberapa jenis model, Anda dapat menentukan versi model tertentu. Untuk mengetahui informasi tentang versi model yang didukung untuk berbagai jenis model, lihat
ENDPOINT
.
Membuat teks dari data teks menggunakan perintah dari tabel
Buat teks menggunakan
fungsi ML.GENERATE_TEXT
dengan model jarak jauh, dan menggunakan data perintah dari kolom tabel:
gemini-1.5-flash
SELECT * FROM ML.GENERATE_TEXT( MODEL `PROJECT_ID.DATASET_ID.MODEL_NAME`, TABLE PROJECT_ID.DATASET_ID.TABLE_NAME, STRUCT(TOKENS AS max_output_tokens, TEMPERATURE AS temperature, TOP_P AS top_p, FLATTEN_JSON AS flatten_json_output, STOP_SEQUENCES AS stop_sequences, GROUND_WITH_GOOGLE_SEARCH AS ground_with_google_search, SAFETY_SETTINGS AS safety_settings) );
Ganti kode berikut:
PROJECT_ID
: project ID Anda.DATASET_ID
: ID set data yang berisi model.MODEL_NAME
: nama model.TABLE_NAME
: nama tabel yang berisi prompt. Tabel ini harus memiliki kolom yang bernamaprompt
, atau Anda dapat menggunakan alias untuk menggunakan kolom dengan nama yang berbeda.TOKENS
: nilaiINT64
yang menetapkan jumlah maksimum token yang dapat dibuat dalam respons. Nilai ini harus dalam rentang[1,8192]
. Tentukan nilai yang lebih rendah untuk respons yang lebih singkat dan nilai yang lebih tinggi untuk respons yang lebih panjang. Defaultnya adalah128
.TEMPERATURE
: nilaiFLOAT64
dalam rentang[0.0,2.0]
yang mengontrol tingkat keacakan dalam pemilihan token. Defaultnya adalah0
.Nilai yang lebih rendah untuk
temperature
cocok untuk prompt yang memerlukan respons yang lebih deterministik dan kurang terbuka atau kreatif, sedangkan nilai yang lebih tinggi untuktemperature
dapat memberikan hasil yang lebih beragam atau kreatif. Nilai0
untuktemperature
bersifat deterministik, yang berarti bahwa respons probabilitas tertinggi selalu dipilih.TOP_P
: nilaiFLOAT64
dalam rentang[0.0,1.0]
membantu menentukan probabilitas token yang dipilih. Tentukan nilai yang lebih rendah untuk respons acak yang lebih sedikit dan nilai yang lebih tinggi untuk respons acak yang lebih banyak. Defaultnya adalah0.95
.FLATTEN_JSON
: nilaiBOOL
yang menentukan apakah akan menampilkan teks yang dihasilkan dan atribut keamanan di kolom terpisah. Defaultnya adalahFALSE
.STOP_SEQUENCES
: nilaiARRAY<STRING>
yang menghapus string yang ditentukan jika disertakan dalam respons dari model. String dicocokkan persis, termasuk kapitalisasi. Defaultnya adalah array kosong.GROUND_WITH_GOOGLE_SEARCH
: nilaiBOOL
yang menentukan apakah model Vertex AI menggunakan Grounding dengan Google Penelusuran saat membuat respons. Perujukan memungkinkan model menggunakan informasi tambahan dari internet saat menghasilkan respons, untuk membuat respons model lebih spesifik dan faktual. Jikaflatten_json_output
dan kolom ini ditetapkan keTrue
, kolomml_generate_text_grounding_result
tambahan akan disertakan dalam hasil, yang memberikan sumber yang digunakan model untuk mengumpulkan informasi tambahan. Defaultnya adalahFALSE
.SAFETY_SETTINGS
: nilaiARRAY<STRUCT<STRING AS category, STRING AS threshold>>
yang mengonfigurasi nilai minimum keamanan konten untuk memfilter respons. Elemen pertama dalam struct menentukan kategori bahaya, dan elemen kedua dalam struct menentukan nilai minimum pemblokiran yang sesuai. Model ini memfilter konten yang melanggar setelan ini. Anda hanya dapat menentukan setiap kategori satu kali. Misalnya, Anda tidak dapat menentukanSTRUCT('HARM_CATEGORY_DANGEROUS_CONTENT' AS category, 'BLOCK_MEDIUM_AND_ABOVE' AS threshold)
danSTRUCT('HARM_CATEGORY_DANGEROUS_CONTENT' AS category, 'BLOCK_ONLY_HIGH' AS threshold)
. Jika tidak ada setelan keamanan untuk kategori tertentu, setelan keamananBLOCK_MEDIUM_AND_ABOVE
akan digunakan.Kategori yang didukung adalah sebagai berikut:
HARM_CATEGORY_HATE_SPEECH
HARM_CATEGORY_DANGEROUS_CONTENT
HARM_CATEGORY_HARASSMENT
HARM_CATEGORY_SEXUALLY_EXPLICIT
Batas yang didukung adalah sebagai berikut:
BLOCK_NONE
(Dibatasi)BLOCK_LOW_AND_ABOVE
BLOCK_MEDIUM_AND_ABOVE
(Default)BLOCK_ONLY_HIGH
HARM_BLOCK_THRESHOLD_UNSPECIFIED
Untuk mengetahui informasi selengkapnya, lihat definisi kategori keamanan dan nilai minimum pemblokiran.
Contoh
Contoh berikut menunjukkan permintaan dengan karakteristik ini:
- Menggunakan kolom
prompt
dari tabelprompts
untuk prompt. - Menampilkan teks yang dihasilkan dan atribut keamanan dalam kolom terpisah.
SELECT * FROM ML.GENERATE_TEXT( MODEL `mydataset.text_model`, TABLE mydataset.prompts, STRUCT(TRUE AS flatten_json_output));
gemini-1.5-pro
SELECT * FROM ML.GENERATE_TEXT( MODEL `PROJECT_ID.DATASET_ID.MODEL_NAME`, TABLE PROJECT_ID.DATASET_ID.TABLE_NAME, STRUCT(TOKENS AS max_output_tokens, TEMPERATURE AS temperature, TOP_P AS top_p, FLATTEN_JSON AS flatten_json_output, STOP_SEQUENCES AS stop_sequences, GROUND_WITH_GOOGLE_SEARCH AS ground_with_google_search, SAFETY_SETTINGS AS safety_settings) );
Ganti kode berikut:
PROJECT_ID
: project ID Anda.DATASET_ID
: ID set data yang berisi model.MODEL_NAME
: nama model.TABLE_NAME
: nama tabel yang berisi prompt. Tabel ini harus memiliki kolom yang bernamaprompt
, atau Anda dapat menggunakan alias untuk menggunakan kolom dengan nama yang berbeda.TOKENS
: nilaiINT64
yang menetapkan jumlah maksimum token yang dapat dibuat dalam respons. Nilai ini harus dalam rentang[1,8192]
. Tentukan nilai yang lebih rendah untuk respons yang lebih singkat dan nilai yang lebih tinggi untuk respons yang lebih panjang. Defaultnya adalah128
.TEMPERATURE
: nilaiFLOAT64
dalam rentang[0.0,2.0]
yang mengontrol tingkat keacakan dalam pemilihan token. Defaultnya adalah0
.Nilai yang lebih rendah untuk
temperature
cocok untuk prompt yang memerlukan respons yang lebih deterministik dan kurang terbuka atau kreatif, sedangkan nilai yang lebih tinggi untuktemperature
dapat memberikan hasil yang lebih beragam atau kreatif. Nilai0
untuktemperature
bersifat deterministik, yang berarti bahwa respons probabilitas tertinggi selalu dipilih.TOP_P
: nilaiFLOAT64
dalam rentang[0.0,1.0]
membantu menentukan probabilitas token yang dipilih. Tentukan nilai yang lebih rendah untuk respons acak yang lebih sedikit dan nilai yang lebih tinggi untuk respons acak yang lebih banyak. Defaultnya adalah0.95
.FLATTEN_JSON
: nilaiBOOL
yang menentukan apakah akan menampilkan teks yang dihasilkan dan atribut keamanan di kolom terpisah. Defaultnya adalahFALSE
.STOP_SEQUENCES
: nilaiARRAY<STRING>
yang menghapus string yang ditentukan jika disertakan dalam respons dari model. String dicocokkan persis, termasuk kapitalisasi. Defaultnya adalah array kosong.GROUND_WITH_GOOGLE_SEARCH
: nilaiBOOL
yang menentukan apakah model Vertex AI menggunakan Grounding dengan Google Penelusuran saat membuat respons. Perujukan memungkinkan model menggunakan informasi tambahan dari internet saat menghasilkan respons, untuk membuat respons model lebih spesifik dan faktual. Jikaflatten_json_output
dan kolom ini ditetapkan keTrue
, kolomml_generate_text_grounding_result
tambahan akan disertakan dalam hasil, yang memberikan sumber yang digunakan model untuk mengumpulkan informasi tambahan. Defaultnya adalahFALSE
.SAFETY_SETTINGS
: nilaiARRAY<STRUCT<STRING AS category, STRING AS threshold>>
yang mengonfigurasi nilai minimum keamanan konten untuk memfilter respons. Elemen pertama dalam struct menentukan kategori bahaya, dan elemen kedua dalam struct menentukan nilai minimum pemblokiran yang sesuai. Model ini memfilter konten yang melanggar setelan ini. Anda hanya dapat menentukan setiap kategori satu kali. Misalnya, Anda tidak dapat menentukanSTRUCT('HARM_CATEGORY_DANGEROUS_CONTENT' AS category, 'BLOCK_MEDIUM_AND_ABOVE' AS threshold)
danSTRUCT('HARM_CATEGORY_DANGEROUS_CONTENT' AS category, 'BLOCK_ONLY_HIGH' AS threshold)
. Jika tidak ada setelan keamanan untuk kategori tertentu, setelan keamananBLOCK_MEDIUM_AND_ABOVE
akan digunakan.Kategori yang didukung adalah sebagai berikut:
HARM_CATEGORY_HATE_SPEECH
HARM_CATEGORY_DANGEROUS_CONTENT
HARM_CATEGORY_HARASSMENT
HARM_CATEGORY_SEXUALLY_EXPLICIT
Batas yang didukung adalah sebagai berikut:
BLOCK_NONE
(Dibatasi)BLOCK_LOW_AND_ABOVE
BLOCK_MEDIUM_AND_ABOVE
(Default)BLOCK_ONLY_HIGH
HARM_BLOCK_THRESHOLD_UNSPECIFIED
Untuk mengetahui informasi selengkapnya, lihat definisi kategori keamanan dan nilai minimum pemblokiran.
Contoh
Contoh berikut menunjukkan permintaan dengan karakteristik ini:
- Menggunakan kolom
prompt
dari tabelprompts
untuk prompt. - Menampilkan teks yang dihasilkan dan atribut keamanan dalam kolom terpisah.
SELECT * FROM ML.GENERATE_TEXT( MODEL `mydataset.text_model`, TABLE mydataset.prompts, STRUCT(TRUE AS flatten_json_output));
gemini-pro
SELECT * FROM ML.GENERATE_TEXT( MODEL `PROJECT_ID.DATASET_ID.MODEL_NAME`, TABLE PROJECT_ID.DATASET_ID.TABLE_NAME, STRUCT(TOKENS AS max_output_tokens, TEMPERATURE AS temperature, TOP_K AS top_k, TOP_P AS top_p, FLATTEN_JSON AS flatten_json_output, STOP_SEQUENCES AS stop_sequences, GROUND_WITH_GOOGLE_SEARCH AS ground_with_google_search, SAFETY_SETTINGS AS safety_settings) );
Ganti kode berikut:
PROJECT_ID
: project ID Anda.DATASET_ID
: ID set data yang berisi model.MODEL_NAME
: nama model.TABLE_NAME
: nama tabel yang berisi prompt. Tabel ini harus memiliki kolom yang bernamaprompt
, atau Anda dapat menggunakan alias untuk menggunakan kolom dengan nama yang berbeda.TOKENS
: nilaiINT64
yang menetapkan jumlah maksimum token yang dapat dibuat dalam respons. Nilai ini harus dalam rentang[1,8192]
. Tentukan nilai yang lebih rendah untuk respons yang lebih singkat dan nilai yang lebih tinggi untuk respons yang lebih panjang. Defaultnya adalah128
.TEMPERATURE
: nilaiFLOAT64
dalam rentang[0.0,1.0]
yang mengontrol tingkat keacakan dalam pemilihan token. Defaultnya adalah0
.Nilai yang lebih rendah untuk
temperature
cocok untuk prompt yang memerlukan respons yang lebih deterministik dan kurang terbuka atau kreatif, sedangkan nilai yang lebih tinggi untuktemperature
dapat memberikan hasil yang lebih beragam atau kreatif. Nilai0
untuktemperature
bersifat deterministik, yang berarti bahwa respons probabilitas tertinggi selalu dipilih.TOP_K
: nilaiINT64
dalam rentang[1,40]
yang menentukan kumpulan awal token yang dipertimbangkan model untuk dipilih. Tentukan nilai yang lebih rendah untuk respons dengan tingkat keacakan lebih rendah, dan nilai yang lebih tinggi untuk respons dengan tingkat keacakan lebih tinggi Defaultnya adalah40
.TOP_P
: nilaiFLOAT64
dalam rentang[0.0,1.0]
membantu menentukan probabilitas token yang dipilih. Tentukan nilai yang lebih rendah untuk respons acak yang lebih sedikit dan nilai yang lebih tinggi untuk respons acak yang lebih banyak. Defaultnya adalah0.95
.FLATTEN_JSON
: nilaiBOOL
yang menentukan apakah akan menampilkan teks yang dihasilkan dan atribut keamanan di kolom terpisah. Defaultnya adalahFALSE
.STOP_SEQUENCES
: nilaiARRAY<STRING>
yang menghapus string yang ditentukan jika disertakan dalam respons dari model. String dicocokkan persis, termasuk kapitalisasi. Defaultnya adalah array kosong.GROUND_WITH_GOOGLE_SEARCH
: nilaiBOOL
yang menentukan apakah model Vertex AI menggunakan Grounding dengan Google Penelusuran saat membuat respons. Perujukan memungkinkan model menggunakan informasi tambahan dari internet saat menghasilkan respons, untuk membuat respons model lebih spesifik dan faktual. Jikaflatten_json_output
dan kolom ini ditetapkan keTrue
, kolomml_generate_text_grounding_result
tambahan akan disertakan dalam hasil, yang memberikan sumber yang digunakan model untuk mengumpulkan informasi tambahan. Defaultnya adalahFALSE
.SAFETY_SETTINGS
: nilaiARRAY<STRUCT<STRING AS category, STRING AS threshold>>
yang mengonfigurasi nilai minimum keamanan konten untuk memfilter respons. Elemen pertama dalam struct menentukan kategori bahaya, dan elemen kedua dalam struct menentukan nilai minimum pemblokiran yang sesuai. Model ini memfilter konten yang melanggar setelan ini. Anda hanya dapat menentukan setiap kategori satu kali. Misalnya, Anda tidak dapat menentukanSTRUCT('HARM_CATEGORY_DANGEROUS_CONTENT' AS category, 'BLOCK_MEDIUM_AND_ABOVE' AS threshold)
danSTRUCT('HARM_CATEGORY_DANGEROUS_CONTENT' AS category, 'BLOCK_ONLY_HIGH' AS threshold)
. Jika tidak ada setelan keamanan untuk kategori tertentu, setelan keamananBLOCK_MEDIUM_AND_ABOVE
akan digunakan.Kategori yang didukung adalah sebagai berikut:
HARM_CATEGORY_HATE_SPEECH
HARM_CATEGORY_DANGEROUS_CONTENT
HARM_CATEGORY_HARASSMENT
HARM_CATEGORY_SEXUALLY_EXPLICIT
Batas yang didukung adalah sebagai berikut:
BLOCK_NONE
(Dibatasi)BLOCK_LOW_AND_ABOVE
BLOCK_MEDIUM_AND_ABOVE
(Default)BLOCK_ONLY_HIGH
HARM_BLOCK_THRESHOLD_UNSPECIFIED
Untuk mengetahui informasi selengkapnya, lihat definisi kategori keamanan dan nilai minimum pemblokiran.
Contoh
Contoh berikut menunjukkan permintaan dengan karakteristik ini:
- Menggunakan kolom
prompt
dari tabelprompts
untuk prompt. - Menampilkan respons singkat dan kemungkinannya sedang.
- Meratakan respons JSON menjadi kolom terpisah.
- Mengambil dan menampilkan data web publik untuk grounding respons.
- Memfilter respons yang tidak aman menggunakan dua setelan keamanan.
SELECT * FROM ML.GENERATE_TEXT( MODEL `mydataset.text_model`, TABLE mydataset.prompts, STRUCT( 0.4 AS temperature, 100 AS max_output_tokens, 0.5 AS top_p, 40 AS top_k, TRUE AS flatten_json_output, TRUE AS ground_with_google_search, [STRUCT('HARM_CATEGORY_HATE_SPEECH' AS category, 'BLOCK_LOW_AND_ABOVE' AS threshold), STRUCT('HARM_CATEGORY_DANGEROUS_CONTENT' AS category, 'BLOCK_MEDIUM_AND_ABOVE' AS threshold)] AS safety_settings));
Claude
SELECT * FROM ML.GENERATE_TEXT( MODEL `PROJECT_ID.DATASET_ID.MODEL_NAME`, TABLE PROJECT_ID.DATASET_ID.TABLE_NAME, STRUCT(TOKENS AS max_output_tokens, TOP_K AS top_k, TOP_P AS top_p, FLATTEN_JSON AS flatten_json_output) );
Ganti kode berikut:
PROJECT_ID
: project ID Anda.DATASET_ID
: ID set data yang berisi model.MODEL_NAME
: nama model.TABLE_NAME
: nama tabel yang berisi prompt. Tabel ini harus memiliki kolom yang bernamaprompt
, atau Anda dapat menggunakan alias untuk menggunakan kolom dengan nama yang berbeda.TOKENS
: nilaiINT64
yang menetapkan jumlah maksimum token yang dapat dibuat dalam respons. Nilai ini harus dalam rentang[1,4096]
. Tentukan nilai yang lebih rendah untuk respons yang lebih singkat dan nilai yang lebih tinggi untuk respons yang lebih panjang. Defaultnya adalah128
.TOP_K
: nilaiINT64
dalam rentang[1,40]
yang menentukan kumpulan awal token yang dipertimbangkan model untuk dipilih. Tentukan nilai yang lebih rendah untuk respons dengan tingkat keacakan lebih rendah, dan nilai yang lebih tinggi untuk respons dengan tingkat keacakan lebih tinggi Jika Anda tidak menentukan nilai, model akan menentukan nilai yang sesuai.TOP_P
: nilaiFLOAT64
dalam rentang[0.0,1.0]
membantu menentukan probabilitas token yang dipilih. Tentukan nilai yang lebih rendah untuk respons acak yang lebih sedikit dan nilai yang lebih tinggi untuk respons acak yang lebih banyak. Jika Anda tidak menentukan nilai, model akan menentukan nilai yang sesuai.FLATTEN_JSON
: nilaiBOOL
yang menentukan apakah akan menampilkan teks yang dihasilkan dan atribut keamanan di kolom terpisah. Defaultnya adalahFALSE
.
Contoh
Contoh berikut menunjukkan permintaan dengan karakteristik ini:
- Menggunakan kolom
prompt
dari tabelprompts
untuk prompt. - Menampilkan teks yang dihasilkan dan atribut keamanan dalam kolom terpisah.
SELECT * FROM ML.GENERATE_TEXT( MODEL `mydataset.text_model`, TABLE mydataset.prompts, STRUCT(TRUE AS flatten_json_output));
text-bison
SELECT * FROM ML.GENERATE_TEXT( MODEL `PROJECT_ID.DATASET_ID.MODEL_NAME`, TABLE PROJECT_ID.DATASET_ID.TABLE_NAME, STRUCT(TOKENS AS max_output_tokens, TEMPERATURE AS temperature, TOP_K AS top_k, TOP_P AS top_p, FLATTEN_JSON AS flatten_json_output, STOP_SEQUENCES AS stop_sequences) );
Ganti kode berikut:
PROJECT_ID
: project ID Anda.DATASET_ID
: ID set data yang berisi model.MODEL_NAME
: nama model.TABLE_NAME
: nama tabel yang berisi prompt. Tabel ini harus memiliki kolom yang bernamaprompt
, atau Anda dapat menggunakan alias untuk menggunakan kolom dengan nama yang berbeda.TOKENS
: nilaiINT64
yang menetapkan jumlah maksimum token yang dapat dibuat dalam respons. Nilai ini harus dalam rentang[1,1024]
. Tentukan nilai yang lebih rendah untuk respons yang lebih singkat dan nilai yang lebih tinggi untuk respons yang lebih panjang. Defaultnya adalah128
.TEMPERATURE
: nilaiFLOAT64
dalam rentang[0.0,1.0]
yang mengontrol tingkat keacakan dalam pemilihan token. Defaultnya adalah0
.Nilai yang lebih rendah untuk
temperature
cocok untuk prompt yang memerlukan respons yang lebih deterministik dan kurang terbuka atau kreatif, sedangkan nilai yang lebih tinggi untuktemperature
dapat memberikan hasil yang lebih beragam atau kreatif. Nilai0
untuktemperature
bersifat deterministik, yang berarti bahwa respons probabilitas tertinggi selalu dipilih.TOP_K
: nilaiINT64
dalam rentang[1,40]
yang menentukan kumpulan awal token yang dipertimbangkan model untuk dipilih. Tentukan nilai yang lebih rendah untuk respons dengan tingkat keacakan lebih rendah, dan nilai yang lebih tinggi untuk respons dengan tingkat keacakan lebih tinggi Defaultnya adalah40
.TOP_P
: nilaiFLOAT64
dalam rentang[0.0,1.0]
membantu menentukan probabilitas token yang dipilih. Tentukan nilai yang lebih rendah untuk respons acak yang lebih sedikit dan nilai yang lebih tinggi untuk respons acak yang lebih banyak. Defaultnya adalah0.95
.FLATTEN_JSON
: nilaiBOOL
yang menentukan apakah akan menampilkan teks yang dihasilkan dan atribut keamanan di kolom terpisah. Defaultnya adalahFALSE
.STOP_SEQUENCES
: nilaiARRAY<STRING>
yang menghapus string yang ditentukan jika disertakan dalam respons dari model. String dicocokkan persis, termasuk kapitalisasi. Defaultnya adalah array kosong.
Contoh
Contoh berikut menunjukkan permintaan dengan karakteristik ini:
- Menggunakan kolom
prompt
dari tabelprompts
untuk prompt. - Menampilkan teks yang dihasilkan dan atribut keamanan dalam kolom terpisah.
SELECT * FROM ML.GENERATE_TEXT( MODEL `mydataset.text_model`, TABLE mydataset.prompts, STRUCT(TRUE AS flatten_json_output));
text-bison32
SELECT * FROM ML.GENERATE_TEXT( MODEL `PROJECT_ID.DATASET_ID.MODEL_NAME`, TABLE PROJECT_ID.DATASET_ID.TABLE_NAME, STRUCT(TOKENS AS max_output_tokens, TEMPERATURE AS temperature, TOP_K AS top_k, TOP_P AS top_p, FLATTEN_JSON AS flatten_json_output, STOP_SEQUENCES AS stop_sequences) );
Ganti kode berikut:
PROJECT_ID
: project ID Anda.DATASET_ID
: ID set data yang berisi model.MODEL_NAME
: nama model.TABLE_NAME
: nama tabel yang berisi prompt. Tabel ini harus memiliki kolom yang bernamaprompt
, atau Anda dapat menggunakan alias untuk menggunakan kolom dengan nama yang berbeda.TOKENS
: nilaiINT64
yang menetapkan jumlah maksimum token yang dapat dibuat dalam respons. Nilai ini harus dalam rentang[1,8192]
. Tentukan nilai yang lebih rendah untuk respons yang lebih singkat dan nilai yang lebih tinggi untuk respons yang lebih panjang. Defaultnya adalah128
.TEMPERATURE
: nilaiFLOAT64
dalam rentang[0.0,1.0]
yang mengontrol tingkat keacakan dalam pemilihan token. Defaultnya adalah0
.Nilai yang lebih rendah untuk
temperature
cocok untuk prompt yang memerlukan respons yang lebih deterministik dan kurang terbuka atau kreatif, sedangkan nilai yang lebih tinggi untuktemperature
dapat memberikan hasil yang lebih beragam atau kreatif. Nilai0
untuktemperature
bersifat deterministik, yang berarti bahwa respons probabilitas tertinggi selalu dipilih.TOP_K
: nilaiINT64
dalam rentang[1,40]
yang menentukan kumpulan awal token yang dipertimbangkan model untuk dipilih. Tentukan nilai yang lebih rendah untuk respons dengan tingkat keacakan lebih rendah, dan nilai yang lebih tinggi untuk respons dengan tingkat keacakan lebih tinggi Defaultnya adalah40
.TOP_P
: nilaiFLOAT64
dalam rentang[0.0,1.0]
membantu menentukan probabilitas token yang dipilih. Tentukan nilai yang lebih rendah untuk respons acak yang lebih sedikit dan nilai yang lebih tinggi untuk respons acak yang lebih banyak. Defaultnya adalah0.95
.FLATTEN_JSON
: nilaiBOOL
yang menentukan apakah akan menampilkan teks yang dihasilkan dan atribut keamanan di kolom terpisah. Defaultnya adalahFALSE
.STOP_SEQUENCES
: nilaiARRAY<STRING>
yang menghapus string yang ditentukan jika disertakan dalam respons dari model. String dicocokkan persis, termasuk kapitalisasi. Defaultnya adalah array kosong.
Contoh
Contoh berikut menunjukkan permintaan dengan karakteristik ini:
- Menggunakan kolom
prompt
dari tabelprompts
untuk prompt. - Menampilkan teks yang dihasilkan dan atribut keamanan dalam kolom terpisah.
SELECT * FROM ML.GENERATE_TEXT( MODEL `mydataset.text_model`, TABLE mydataset.prompts, STRUCT(TRUE AS flatten_json_output));
text-unicorn
SELECT * FROM ML.GENERATE_TEXT( MODEL `PROJECT_ID.DATASET_ID.MODEL_NAME`, TABLE PROJECT_ID.DATASET_ID.TABLE_NAME, STRUCT(TOKENS AS max_output_tokens, TEMPERATURE AS temperature, TOP_K AS top_k, TOP_P AS top_p, FLATTEN_JSON AS flatten_json_output, STOP_SEQUENCES AS stop_sequences) );
Ganti kode berikut:
PROJECT_ID
: project ID Anda.DATASET_ID
: ID set data yang berisi model.MODEL_NAME
: nama model.TABLE_NAME
: nama tabel yang berisi prompt. Tabel ini harus memiliki kolom yang bernamaprompt
, atau Anda dapat menggunakan alias untuk menggunakan kolom dengan nama yang berbeda.TOKENS
: nilaiINT64
yang menetapkan jumlah maksimum token yang dapat dibuat dalam respons. Nilai ini harus dalam rentang[1,1024]
. Tentukan nilai yang lebih rendah untuk respons yang lebih singkat dan nilai yang lebih tinggi untuk respons yang lebih panjang. Defaultnya adalah128
.TEMPERATURE
: nilaiFLOAT64
dalam rentang[0.0,1.0]
yang mengontrol tingkat keacakan dalam pemilihan token. Defaultnya adalah0
.Nilai yang lebih rendah untuk
temperature
cocok untuk prompt yang memerlukan respons yang lebih deterministik dan kurang terbuka atau kreatif, sedangkan nilai yang lebih tinggi untuktemperature
dapat memberikan hasil yang lebih beragam atau kreatif. Nilai0
untuktemperature
bersifat deterministik, yang berarti bahwa respons probabilitas tertinggi selalu dipilih.TOP_K
: nilaiINT64
dalam rentang[1,40]
yang menentukan kumpulan awal token yang dipertimbangkan model untuk dipilih. Tentukan nilai yang lebih rendah untuk respons dengan tingkat keacakan lebih rendah, dan nilai yang lebih tinggi untuk respons dengan tingkat keacakan lebih tinggi Defaultnya adalah40
.TOP_P
: nilaiFLOAT64
dalam rentang[0.0,1.0]
membantu menentukan probabilitas token yang dipilih. Tentukan nilai yang lebih rendah untuk respons acak yang lebih sedikit dan nilai yang lebih tinggi untuk respons acak yang lebih banyak. Defaultnya adalah0.95
.FLATTEN_JSON
: nilaiBOOL
yang menentukan apakah akan menampilkan teks yang dihasilkan dan atribut keamanan di kolom terpisah. Defaultnya adalahFALSE
.STOP_SEQUENCES
: nilaiARRAY<STRING>
yang menghapus string yang ditentukan jika disertakan dalam respons dari model. String dicocokkan persis, termasuk kapitalisasi. Defaultnya adalah array kosong.
Contoh
Contoh berikut menunjukkan permintaan dengan karakteristik ini:
- Menggunakan kolom
prompt
dari tabelprompts
untuk prompt. - Menampilkan teks yang dihasilkan dan atribut keamanan dalam kolom terpisah.
SELECT * FROM ML.GENERATE_TEXT( MODEL `mydataset.text_model`, TABLE mydataset.prompts, STRUCT(TRUE AS flatten_json_output));
Membuat teks dari data teks menggunakan perintah dari kueri
Buat teks menggunakan
fungsi ML.GENERATE_TEXT
dengan model jarak jauh, dan menggunakan kueri yang menyediakan data perintah:
gemini-1.5-flash
SELECT * FROM ML.GENERATE_TEXT( MODEL `PROJECT_ID.DATASET_ID.MODEL_NAME`, (PROMPT_QUERY), STRUCT(TOKENS AS max_output_tokens, TEMPERATURE AS temperature, TOP_P AS top_p, FLATTEN_JSON AS flatten_json_output, STOP_SEQUENCES AS stop_sequences, GROUND_WITH_GOOGLE_SEARCH AS ground_with_google_search, SAFETY_SETTINGS AS safety_settings) );
PROJECT_ID
: project ID Anda.DATASET_ID
: ID set data yang berisi model.MODEL_NAME
: nama model.PROMPT_QUERY
: kueri yang menyediakan data prompt.TOKENS
: nilaiINT64
yang menetapkan jumlah maksimum token yang dapat dibuat dalam respons. Nilai ini harus dalam rentang[1,8192]
. Tentukan nilai yang lebih rendah untuk respons yang lebih singkat dan nilai yang lebih tinggi untuk respons yang lebih panjang. Defaultnya adalah128
.TEMPERATURE
: nilaiFLOAT64
dalam rentang[0.0,2.0]
yang mengontrol tingkat keacakan dalam pemilihan token. Defaultnya adalah0
.Nilai yang lebih rendah untuk
temperature
cocok untuk prompt yang memerlukan respons yang lebih deterministik dan kurang terbuka atau kreatif, sedangkan nilai yang lebih tinggi untuktemperature
dapat memberikan hasil yang lebih beragam atau kreatif. Nilai0
untuktemperature
bersifat deterministik, yang berarti bahwa respons probabilitas tertinggi selalu dipilih.TOP_P
: nilaiFLOAT64
dalam rentang[0.0,1.0]
membantu menentukan probabilitas token yang dipilih. Tentukan nilai yang lebih rendah untuk respons acak yang lebih sedikit dan nilai yang lebih tinggi untuk respons acak yang lebih banyak. Defaultnya adalah0.95
.FLATTEN_JSON
: nilaiBOOL
yang menentukan apakah akan menampilkan teks yang dihasilkan dan atribut keamanan di kolom terpisah. Defaultnya adalahFALSE
.STOP_SEQUENCES
: nilaiARRAY<STRING>
yang menghapus string yang ditentukan jika disertakan dalam respons dari model. String dicocokkan persis, termasuk kapitalisasi. Defaultnya adalah array kosong.GROUND_WITH_GOOGLE_SEARCH
: nilaiBOOL
yang menentukan apakah model Vertex AI menggunakan Grounding dengan Google Penelusuran saat membuat respons. Perujukan memungkinkan model menggunakan informasi tambahan dari internet saat menghasilkan respons, untuk membuat respons model lebih spesifik dan faktual. Jikaflatten_json_output
dan kolom ini ditetapkan keTrue
, kolomml_generate_text_grounding_result
tambahan akan disertakan dalam hasil, yang memberikan sumber yang digunakan model untuk mengumpulkan informasi tambahan. Defaultnya adalahFALSE
.SAFETY_SETTINGS
: nilaiARRAY<STRUCT<STRING AS category, STRING AS threshold>>
yang mengonfigurasi nilai minimum keamanan konten untuk memfilter respons. Elemen pertama dalam struct menentukan kategori bahaya, dan elemen kedua dalam struct menentukan nilai minimum pemblokiran yang sesuai. Model ini memfilter konten yang melanggar setelan ini. Anda hanya dapat menentukan setiap kategori satu kali. Misalnya, Anda tidak dapat menentukanSTRUCT('HARM_CATEGORY_DANGEROUS_CONTENT' AS category, 'BLOCK_MEDIUM_AND_ABOVE' AS threshold)
danSTRUCT('HARM_CATEGORY_DANGEROUS_CONTENT' AS category, 'BLOCK_ONLY_HIGH' AS threshold)
. Jika tidak ada setelan keamanan untuk kategori tertentu, setelan keamananBLOCK_MEDIUM_AND_ABOVE
akan digunakan.Kategori yang didukung adalah sebagai berikut:
HARM_CATEGORY_HATE_SPEECH
HARM_CATEGORY_DANGEROUS_CONTENT
HARM_CATEGORY_HARASSMENT
HARM_CATEGORY_SEXUALLY_EXPLICIT
Batas yang didukung adalah sebagai berikut:
BLOCK_NONE
(Dibatasi)BLOCK_LOW_AND_ABOVE
BLOCK_MEDIUM_AND_ABOVE
(Default)BLOCK_ONLY_HIGH
HARM_BLOCK_THRESHOLD_UNSPECIFIED
Untuk mengetahui informasi selengkapnya, lihat definisi kategori keamanan dan nilai minimum pemblokiran.
Contoh 1
Contoh berikut menunjukkan permintaan dengan karakteristik ini:
- Meminta ringkasan teks di kolom
body
pada tabelarticles
. - Menampilkan teks yang dihasilkan dan atribut keamanan dalam kolom terpisah.
SELECT * FROM ML.GENERATE_TEXT( MODEL `mydataset.text_model`, ( SELECT CONCAT('Summarize this text', body) AS prompt FROM mydataset.articles ), STRUCT(TRUE AS flatten_json_output));
Contoh 2
Contoh berikut menunjukkan permintaan dengan karakteristik ini:
- Menggunakan kueri untuk membuat data prompt dengan menyambungkan string yang memberikan awalan prompt dengan kolom tabel.
- Menampilkan respons singkat.
- Tidak menampilkan teks yang dihasilkan dan atribut keamanan dalam kolom terpisah.
SELECT * FROM ML.GENERATE_TEXT( MODEL `mydataset.text_model`, ( SELECT CONCAT(question, 'Text:', description, 'Category') AS prompt FROM mydataset.input_table ), STRUCT( 100 AS max_output_tokens, FALSE AS flatten_json_output));
gemini-1.5-pro
SELECT * FROM ML.GENERATE_TEXT( MODEL `PROJECT_ID.DATASET_ID.MODEL_NAME`, (PROMPT_QUERY), STRUCT(TOKENS AS max_output_tokens, TEMPERATURE AS temperature, TOP_P AS top_p, FLATTEN_JSON AS flatten_json_output, STOP_SEQUENCES AS stop_sequences, GROUND_WITH_GOOGLE_SEARCH AS ground_with_google_search, SAFETY_SETTINGS AS safety_settings) );
PROJECT_ID
: project ID Anda.DATASET_ID
: ID set data yang berisi model.MODEL_NAME
: nama model.PROMPT_QUERY
: kueri yang menyediakan data prompt.TOKENS
: nilaiINT64
yang menetapkan jumlah maksimum token yang dapat dibuat dalam respons. Nilai ini harus dalam rentang[1,8192]
. Tentukan nilai yang lebih rendah untuk respons yang lebih singkat dan nilai yang lebih tinggi untuk respons yang lebih panjang. Defaultnya adalah128
.TEMPERATURE
: nilaiFLOAT64
dalam rentang[0.0,2.0]
yang mengontrol tingkat keacakan dalam pemilihan token. Defaultnya adalah0
.Nilai yang lebih rendah untuk
temperature
cocok untuk prompt yang memerlukan respons yang lebih deterministik dan kurang terbuka atau kreatif, sedangkan nilai yang lebih tinggi untuktemperature
dapat memberikan hasil yang lebih beragam atau kreatif. Nilai0
untuktemperature
bersifat deterministik, yang berarti bahwa respons probabilitas tertinggi selalu dipilih.TOP_P
: nilaiFLOAT64
dalam rentang[0.0,1.0]
membantu menentukan probabilitas token yang dipilih. Tentukan nilai yang lebih rendah untuk respons acak yang lebih sedikit dan nilai yang lebih tinggi untuk respons acak yang lebih banyak. Defaultnya adalah0.95
.FLATTEN_JSON
: nilaiBOOL
yang menentukan apakah akan menampilkan teks yang dihasilkan dan atribut keamanan di kolom terpisah. Defaultnya adalahFALSE
.STOP_SEQUENCES
: nilaiARRAY<STRING>
yang menghapus string yang ditentukan jika disertakan dalam respons dari model. String dicocokkan persis, termasuk kapitalisasi. Defaultnya adalah array kosong.GROUND_WITH_GOOGLE_SEARCH
: nilaiBOOL
yang menentukan apakah model Vertex AI menggunakan Grounding dengan Google Penelusuran saat membuat respons. Perujukan memungkinkan model menggunakan informasi tambahan dari internet saat menghasilkan respons, untuk membuat respons model lebih spesifik dan faktual. Jikaflatten_json_output
dan kolom ini ditetapkan keTrue
, kolomml_generate_text_grounding_result
tambahan akan disertakan dalam hasil, yang memberikan sumber yang digunakan model untuk mengumpulkan informasi tambahan. Defaultnya adalahFALSE
.SAFETY_SETTINGS
: nilaiARRAY<STRUCT<STRING AS category, STRING AS threshold>>
yang mengonfigurasi nilai minimum keamanan konten untuk memfilter respons. Elemen pertama dalam struct menentukan kategori bahaya, dan elemen kedua dalam struct menentukan nilai minimum pemblokiran yang sesuai. Model ini memfilter konten yang melanggar setelan ini. Anda hanya dapat menentukan setiap kategori satu kali. Misalnya, Anda tidak dapat menentukanSTRUCT('HARM_CATEGORY_DANGEROUS_CONTENT' AS category, 'BLOCK_MEDIUM_AND_ABOVE' AS threshold)
danSTRUCT('HARM_CATEGORY_DANGEROUS_CONTENT' AS category, 'BLOCK_ONLY_HIGH' AS threshold)
. Jika tidak ada setelan keamanan untuk kategori tertentu, setelan keamananBLOCK_MEDIUM_AND_ABOVE
akan digunakan.Kategori yang didukung adalah sebagai berikut:
HARM_CATEGORY_HATE_SPEECH
HARM_CATEGORY_DANGEROUS_CONTENT
HARM_CATEGORY_HARASSMENT
HARM_CATEGORY_SEXUALLY_EXPLICIT
Batas yang didukung adalah sebagai berikut:
BLOCK_NONE
(Dibatasi)BLOCK_LOW_AND_ABOVE
BLOCK_MEDIUM_AND_ABOVE
(Default)BLOCK_ONLY_HIGH
HARM_BLOCK_THRESHOLD_UNSPECIFIED
Untuk mengetahui informasi selengkapnya, lihat definisi kategori keamanan dan nilai minimum pemblokiran.
Contoh 1
Contoh berikut menunjukkan permintaan dengan karakteristik ini:
- Meminta ringkasan teks di kolom
body
pada tabelarticles
. - Menampilkan teks yang dihasilkan dan atribut keamanan dalam kolom terpisah.
SELECT * FROM ML.GENERATE_TEXT( MODEL `mydataset.text_model`, ( SELECT CONCAT('Summarize this text', body) AS prompt FROM mydataset.articles ), STRUCT(TRUE AS flatten_json_output));
Contoh 2
Contoh berikut menunjukkan permintaan dengan karakteristik ini:
- Menggunakan kueri untuk membuat data prompt dengan menyambungkan string yang memberikan awalan prompt dengan kolom tabel.
- Menampilkan respons singkat.
- Tidak menampilkan teks yang dihasilkan dan atribut keamanan dalam kolom terpisah.
SELECT * FROM ML.GENERATE_TEXT( MODEL `mydataset.text_model`, ( SELECT CONCAT(question, 'Text:', description, 'Category') AS prompt FROM mydataset.input_table ), STRUCT( 100 AS max_output_tokens, FALSE AS flatten_json_output));
gemini-pro
SELECT * FROM ML.GENERATE_TEXT( MODEL `PROJECT_ID.DATASET_ID.MODEL_NAME`, (PROMPT_QUERY), STRUCT(TOKENS AS max_output_tokens, TEMPERATURE AS temperature, TOP_K AS top_k, TOP_P AS top_p, FLATTEN_JSON AS flatten_json_output, STOP_SEQUENCES AS stop_sequences, GROUND_WITH_GOOGLE_SEARCH AS ground_with_google_search, SAFETY_SETTINGS AS safety_settings) );
PROJECT_ID
: project ID Anda.DATASET_ID
: ID set data yang berisi model.MODEL_NAME
: nama model.PROMPT_QUERY
: kueri yang menyediakan data prompt.TOKENS
: nilaiINT64
yang menetapkan jumlah maksimum token yang dapat dibuat dalam respons. Nilai ini harus dalam rentang[1,8192]
. Tentukan nilai yang lebih rendah untuk respons yang lebih singkat dan nilai yang lebih tinggi untuk respons yang lebih panjang. Defaultnya adalah128
.TEMPERATURE
: nilaiFLOAT64
dalam rentang[0.0,1.0]
yang mengontrol tingkat keacakan dalam pemilihan token. Defaultnya adalah0
.Nilai yang lebih rendah untuk
temperature
cocok untuk prompt yang memerlukan respons yang lebih deterministik dan kurang terbuka atau kreatif, sedangkan nilai yang lebih tinggi untuktemperature
dapat memberikan hasil yang lebih beragam atau kreatif. Nilai0
untuktemperature
bersifat deterministik, yang berarti bahwa respons probabilitas tertinggi selalu dipilih.TOP_K
: nilaiINT64
dalam rentang[1,40]
yang menentukan kumpulan awal token yang dipertimbangkan model untuk dipilih. Tentukan nilai yang lebih rendah untuk respons dengan tingkat keacakan lebih rendah, dan nilai yang lebih tinggi untuk respons dengan tingkat keacakan lebih tinggi Defaultnya adalah40
.TOP_P
: nilaiFLOAT64
dalam rentang[0.0,1.0]
membantu menentukan probabilitas token yang dipilih. Tentukan nilai yang lebih rendah untuk respons acak yang lebih sedikit dan nilai yang lebih tinggi untuk respons acak yang lebih banyak. Defaultnya adalah0.95
.FLATTEN_JSON
: nilaiBOOL
yang menentukan apakah akan menampilkan teks yang dihasilkan dan atribut keamanan di kolom terpisah. Defaultnya adalahFALSE
.STOP_SEQUENCES
: nilaiARRAY<STRING>
yang menghapus string yang ditentukan jika disertakan dalam respons dari model. String dicocokkan persis, termasuk kapitalisasi. Defaultnya adalah array kosong.GROUND_WITH_GOOGLE_SEARCH
: nilaiBOOL
yang menentukan apakah model Vertex AI menggunakan Grounding dengan Google Penelusuran saat membuat respons. Perujukan memungkinkan model menggunakan informasi tambahan dari internet saat menghasilkan respons, untuk membuat respons model lebih spesifik dan faktual. Jikaflatten_json_output
dan kolom ini ditetapkan keTrue
, kolomml_generate_text_grounding_result
tambahan akan disertakan dalam hasil, yang memberikan sumber yang digunakan model untuk mengumpulkan informasi tambahan. Defaultnya adalahFALSE
.SAFETY_SETTINGS
: nilaiARRAY<STRUCT<STRING AS category, STRING AS threshold>>
yang mengonfigurasi nilai minimum keamanan konten untuk memfilter respons. Elemen pertama dalam struct menentukan kategori bahaya, dan elemen kedua dalam struct menentukan nilai minimum pemblokiran yang sesuai. Model ini memfilter konten yang melanggar setelan ini. Anda hanya dapat menentukan setiap kategori satu kali. Misalnya, Anda tidak dapat menentukanSTRUCT('HARM_CATEGORY_DANGEROUS_CONTENT' AS category, 'BLOCK_MEDIUM_AND_ABOVE' AS threshold)
danSTRUCT('HARM_CATEGORY_DANGEROUS_CONTENT' AS category, 'BLOCK_ONLY_HIGH' AS threshold)
. Jika tidak ada setelan keamanan untuk kategori tertentu, setelan keamananBLOCK_MEDIUM_AND_ABOVE
akan digunakan.Kategori yang didukung adalah sebagai berikut:
HARM_CATEGORY_HATE_SPEECH
HARM_CATEGORY_DANGEROUS_CONTENT
HARM_CATEGORY_HARASSMENT
HARM_CATEGORY_SEXUALLY_EXPLICIT
Batas yang didukung adalah sebagai berikut:
BLOCK_NONE
(Dibatasi)BLOCK_LOW_AND_ABOVE
BLOCK_MEDIUM_AND_ABOVE
(Default)BLOCK_ONLY_HIGH
HARM_BLOCK_THRESHOLD_UNSPECIFIED
Untuk mengetahui informasi selengkapnya, lihat definisi kategori keamanan dan nilai minimum pemblokiran.
Contoh 1
Contoh berikut menunjukkan permintaan dengan karakteristik ini:
- Meminta ringkasan teks di kolom
body
pada tabelarticles
. - Menampilkan teks yang dihasilkan dan atribut keamanan dalam kolom terpisah.
SELECT * FROM ML.GENERATE_TEXT( MODEL `mydataset.text_model`, ( SELECT CONCAT('Summarize this text', body) AS prompt FROM mydataset.articles ), STRUCT(TRUE AS flatten_json_output));
Contoh 2
Contoh berikut menunjukkan permintaan dengan karakteristik ini:
- Menggunakan kueri untuk membuat data prompt dengan menyambungkan string yang memberikan awalan prompt dengan kolom tabel.
- Menampilkan respons singkat.
- Tidak menampilkan teks yang dihasilkan dan atribut keamanan dalam kolom terpisah.
SELECT * FROM ML.GENERATE_TEXT( MODEL `mydataset.text_model`, ( SELECT CONCAT(question, 'Text:', description, 'Category') AS prompt FROM mydataset.input_table ), STRUCT( 100 AS max_output_tokens, FALSE AS flatten_json_output));
Contoh 3
Contoh berikut menunjukkan permintaan dengan karakteristik ini:
- Meminta ringkasan teks di kolom
body
pada tabelarticles
. - Meratakan respons JSON menjadi kolom terpisah.
- Mengambil dan menampilkan data web publik untuk grounding respons.
- Memfilter respons yang tidak aman menggunakan dua setelan keamanan.
SELECT * FROM ML.GENERATE_TEXT( MODEL `mydataset.text_model`, ( SELECT CONCAT('Summarize this text', body) AS prompt FROM mydataset.articles ), STRUCT( TRUE AS flatten_json_output, TRUE AS ground_with_google_search, [STRUCT('HARM_CATEGORY_HATE_SPEECH' AS category, 'BLOCK_LOW_AND_ABOVE' AS threshold), STRUCT('HARM_CATEGORY_DANGEROUS_CONTENT' AS category, 'BLOCK_MEDIUM_AND_ABOVE' AS threshold)] AS safety_settings));
Claude
SELECT * FROM ML.GENERATE_TEXT( MODEL `PROJECT_ID.DATASET_ID.MODEL_NAME`, (PROMPT_QUERY), STRUCT(TOKENS AS max_output_tokens, TOP_K AS top_k, TOP_P AS top_p, FLATTEN_JSON AS flatten_json_output) );
PROJECT_ID
: project ID Anda.DATASET_ID
: ID set data yang berisi model.MODEL_NAME
: nama model.PROMPT_QUERY
: kueri yang menyediakan data prompt.TOKENS
: nilaiINT64
yang menetapkan jumlah maksimum token yang dapat dibuat dalam respons. Nilai ini harus dalam rentang[1,4096]
. Tentukan nilai yang lebih rendah untuk respons yang lebih singkat dan nilai yang lebih tinggi untuk respons yang lebih panjang. Defaultnya adalah128
.TOP_K
: nilaiINT64
dalam rentang[1,40]
yang menentukan kumpulan awal token yang dipertimbangkan model untuk dipilih. Tentukan nilai yang lebih rendah untuk respons dengan tingkat keacakan lebih rendah, dan nilai yang lebih tinggi untuk respons dengan tingkat keacakan lebih tinggi Jika Anda tidak menentukan nilai, model akan menentukan nilai yang sesuai.TOP_P
: nilaiFLOAT64
dalam rentang[0.0,1.0]
membantu menentukan probabilitas token yang dipilih. Tentukan nilai yang lebih rendah untuk respons acak yang lebih sedikit dan nilai yang lebih tinggi untuk respons acak yang lebih banyak. Jika Anda tidak menentukan nilai, model akan menentukan nilai yang sesuai.FLATTEN_JSON
: nilaiBOOL
yang menentukan apakah akan menampilkan teks yang dihasilkan dan atribut keamanan di kolom terpisah. Defaultnya adalahFALSE
.
Contoh 1
Contoh berikut menunjukkan permintaan dengan karakteristik ini:
- Meminta ringkasan teks di kolom
body
pada tabelarticles
. - Menampilkan teks yang dihasilkan dan atribut keamanan dalam kolom terpisah.
SELECT * FROM ML.GENERATE_TEXT( MODEL `mydataset.text_model`, ( SELECT CONCAT('Summarize this text', body) AS prompt FROM mydataset.articles ), STRUCT(TRUE AS flatten_json_output));
Contoh 2
Contoh berikut menunjukkan permintaan dengan karakteristik ini:
- Menggunakan kueri untuk membuat data prompt dengan menyambungkan string yang memberikan awalan prompt dengan kolom tabel.
- Menampilkan respons singkat.
- Tidak menampilkan teks yang dihasilkan dan atribut keamanan dalam kolom terpisah.
SELECT * FROM ML.GENERATE_TEXT( MODEL `mydataset.text_model`, ( SELECT CONCAT(question, 'Text:', description, 'Category') AS prompt FROM mydataset.input_table ), STRUCT( 100 AS max_output_tokens, FALSE AS flatten_json_output));
text-bison
SELECT * FROM ML.GENERATE_TEXT( MODEL `PROJECT_ID.DATASET_ID.MODEL_NAME`, (PROMPT_QUERY), STRUCT(TOKENS AS max_output_tokens, TEMPERATURE AS temperature, TOP_K AS top_k, TOP_P AS top_p, FLATTEN_JSON AS flatten_json_output, STOP_SEQUENCES AS stop_sequences) );
PROJECT_ID
: project ID Anda.DATASET_ID
: ID set data yang berisi model.MODEL_NAME
: nama model.PROMPT_QUERY
: kueri yang menyediakan data prompt.TOKENS
: nilaiINT64
yang menetapkan jumlah maksimum token yang dapat dibuat dalam respons. Nilai ini harus dalam rentang[1,1024]
. Tentukan nilai yang lebih rendah untuk respons yang lebih singkat dan nilai yang lebih tinggi untuk respons yang lebih panjang. Defaultnya adalah128
.TEMPERATURE
: nilaiFLOAT64
dalam rentang[0.0,1.0]
yang mengontrol tingkat keacakan dalam pemilihan token. Defaultnya adalah0
.Nilai yang lebih rendah untuk
temperature
cocok untuk prompt yang memerlukan respons yang lebih deterministik dan kurang terbuka atau kreatif, sedangkan nilai yang lebih tinggi untuktemperature
dapat memberikan hasil yang lebih beragam atau kreatif. Nilai0
untuktemperature
bersifat deterministik, yang berarti bahwa respons probabilitas tertinggi selalu dipilih.TOP_K
: nilaiINT64
dalam rentang[1,40]
yang menentukan kumpulan awal token yang dipertimbangkan model untuk dipilih. Tentukan nilai yang lebih rendah untuk respons dengan tingkat keacakan lebih rendah, dan nilai yang lebih tinggi untuk respons dengan tingkat keacakan lebih tinggi Defaultnya adalah40
.TOP_P
: nilaiFLOAT64
dalam rentang[0.0,1.0]
membantu menentukan probabilitas token yang dipilih. Tentukan nilai yang lebih rendah untuk respons acak yang lebih sedikit dan nilai yang lebih tinggi untuk respons acak yang lebih banyak. Defaultnya adalah0.95
.FLATTEN_JSON
: nilaiBOOL
yang menentukan apakah akan menampilkan teks yang dihasilkan dan atribut keamanan di kolom terpisah. Defaultnya adalahFALSE
.STOP_SEQUENCES
: nilaiARRAY<STRING>
yang menghapus string yang ditentukan jika disertakan dalam respons dari model. String dicocokkan persis, termasuk kapitalisasi. Defaultnya adalah array kosong.
Contoh 1
Contoh berikut menunjukkan permintaan dengan karakteristik ini:
- Meminta ringkasan teks di kolom
body
pada tabelarticles
. - Menampilkan teks yang dihasilkan dan atribut keamanan dalam kolom terpisah.
SELECT * FROM ML.GENERATE_TEXT( MODEL `mydataset.text_model`, ( SELECT CONCAT('Summarize this text', body) AS prompt FROM mydataset.articles ), STRUCT(TRUE AS flatten_json_output));
Contoh 2
Contoh berikut menunjukkan permintaan dengan karakteristik ini:
- Menggunakan kueri untuk membuat data prompt dengan menyambungkan string yang memberikan awalan prompt dengan kolom tabel.
- Menampilkan respons singkat.
- Tidak menampilkan teks yang dihasilkan dan atribut keamanan dalam kolom terpisah.
SELECT * FROM ML.GENERATE_TEXT( MODEL `mydataset.text_model`, ( SELECT CONCAT(question, 'Text:', description, 'Category') AS prompt FROM mydataset.input_table ), STRUCT( 100 AS max_output_tokens, FALSE AS flatten_json_output));
text-bison32
SELECT * FROM ML.GENERATE_TEXT( MODEL `PROJECT_ID.DATASET_ID.MODEL_NAME`, (PROMPT_QUERY), STRUCT(TOKENS AS max_output_tokens, TEMPERATURE AS temperature, TOP_K AS top_k, TOP_P AS top_p, FLATTEN_JSON AS flatten_json_output, STOP_SEQUENCES AS stop_sequences) );
PROJECT_ID
: project ID Anda.DATASET_ID
: ID set data yang berisi model.MODEL_NAME
: nama model.PROMPT_QUERY
: kueri yang menyediakan data prompt.TOKENS
: nilaiINT64
yang menetapkan jumlah maksimum token yang dapat dibuat dalam respons. Nilai ini harus dalam rentang[1,8192]
. Tentukan nilai yang lebih rendah untuk respons yang lebih singkat dan nilai yang lebih tinggi untuk respons yang lebih panjang. Defaultnya adalah128
.TEMPERATURE
: nilaiFLOAT64
dalam rentang[0.0,1.0]
yang mengontrol tingkat keacakan dalam pemilihan token. Defaultnya adalah0
.Nilai yang lebih rendah untuk
temperature
cocok untuk prompt yang memerlukan respons yang lebih deterministik dan kurang terbuka atau kreatif, sedangkan nilai yang lebih tinggi untuktemperature
dapat memberikan hasil yang lebih beragam atau kreatif. Nilai0
untuktemperature
bersifat deterministik, yang berarti bahwa respons probabilitas tertinggi selalu dipilih.TOP_K
: nilaiINT64
dalam rentang[1,40]
yang menentukan kumpulan awal token yang dipertimbangkan model untuk dipilih. Tentukan nilai yang lebih rendah untuk respons dengan tingkat keacakan lebih rendah, dan nilai yang lebih tinggi untuk respons dengan tingkat keacakan lebih tinggi Defaultnya adalah40
.TOP_P
: nilaiFLOAT64
dalam rentang[0.0,1.0]
membantu menentukan probabilitas token yang dipilih. Tentukan nilai yang lebih rendah untuk respons acak yang lebih sedikit dan nilai yang lebih tinggi untuk respons acak yang lebih banyak. Defaultnya adalah0.95
.FLATTEN_JSON
: nilaiBOOL
yang menentukan apakah akan menampilkan teks yang dihasilkan dan atribut keamanan di kolom terpisah. Defaultnya adalahFALSE
.STOP_SEQUENCES
: nilaiARRAY<STRING>
yang menghapus string yang ditentukan jika disertakan dalam respons dari model. String dicocokkan persis, termasuk kapitalisasi. Defaultnya adalah array kosong.
Contoh 1
Contoh berikut menunjukkan permintaan dengan karakteristik ini:
- Meminta ringkasan teks di kolom
body
pada tabelarticles
. - Menampilkan teks yang dihasilkan dan atribut keamanan dalam kolom terpisah.
SELECT * FROM ML.GENERATE_TEXT( MODEL `mydataset.text_model`, ( SELECT CONCAT('Summarize this text', body) AS prompt FROM mydataset.articles ), STRUCT(TRUE AS flatten_json_output));
Contoh 2
Contoh berikut menunjukkan permintaan dengan karakteristik ini:
- Menggunakan kueri untuk membuat data prompt dengan menyambungkan string yang memberikan awalan prompt dengan kolom tabel.
- Menampilkan respons singkat.
- Tidak menampilkan teks yang dihasilkan dan atribut keamanan dalam kolom terpisah.
SELECT * FROM ML.GENERATE_TEXT( MODEL `mydataset.text_model`, ( SELECT CONCAT(question, 'Text:', description, 'Category') AS prompt FROM mydataset.input_table ), STRUCT( 100 AS max_output_tokens, FALSE AS flatten_json_output));
text-unicorn
SELECT * FROM ML.GENERATE_TEXT( MODEL `PROJECT_ID.DATASET_ID.MODEL_NAME`, (PROMPT_QUERY), STRUCT(TOKENS AS max_output_tokens, TEMPERATURE AS temperature, TOP_K AS top_k, TOP_P AS top_p, FLATTEN_JSON AS flatten_json_output, STOP_SEQUENCES AS stop_sequences) );
PROJECT_ID
: project ID Anda.DATASET_ID
: ID set data yang berisi model.MODEL_NAME
: nama model.PROMPT_QUERY
: kueri yang menyediakan data prompt.TOKENS
: nilaiINT64
yang menetapkan jumlah maksimum token yang dapat dibuat dalam respons. Nilai ini harus dalam rentang[1,1024]
. Tentukan nilai yang lebih rendah untuk respons yang lebih singkat dan nilai yang lebih tinggi untuk respons yang lebih panjang. Defaultnya adalah128
.TEMPERATURE
: nilaiFLOAT64
dalam rentang[0.0,1.0]
yang mengontrol tingkat keacakan dalam pemilihan token. Defaultnya adalah0
.Nilai yang lebih rendah untuk
temperature
cocok untuk prompt yang memerlukan respons yang lebih deterministik dan kurang terbuka atau kreatif, sedangkan nilai yang lebih tinggi untuktemperature
dapat memberikan hasil yang lebih beragam atau kreatif. Nilai0
untuktemperature
bersifat deterministik, yang berarti bahwa respons probabilitas tertinggi selalu dipilih.TOP_K
: nilaiINT64
dalam rentang[1,40]
yang menentukan kumpulan awal token yang dipertimbangkan model untuk dipilih. Tentukan nilai yang lebih rendah untuk respons dengan tingkat keacakan lebih rendah, dan nilai yang lebih tinggi untuk respons dengan tingkat keacakan lebih tinggi Defaultnya adalah40
.TOP_P
: nilaiFLOAT64
dalam rentang[0.0,1.0]
membantu menentukan probabilitas token yang dipilih. Tentukan nilai yang lebih rendah untuk respons acak yang lebih sedikit dan nilai yang lebih tinggi untuk respons acak yang lebih banyak. Defaultnya adalah0.95
.FLATTEN_JSON
: nilaiBOOL
yang menentukan apakah akan menampilkan teks yang dihasilkan dan atribut keamanan di kolom terpisah. Defaultnya adalahFALSE
.STOP_SEQUENCES
: nilaiARRAY<STRING>
yang menghapus string yang ditentukan jika disertakan dalam respons dari model. String dicocokkan persis, termasuk kapitalisasi. Defaultnya adalah array kosong.
Contoh 1
Contoh berikut menunjukkan permintaan dengan karakteristik ini:
- Meminta ringkasan teks di kolom
body
pada tabelarticles
. - Menampilkan teks yang dihasilkan dan atribut keamanan dalam kolom terpisah.
SELECT * FROM ML.GENERATE_TEXT( MODEL `mydataset.text_model`, ( SELECT CONCAT('Summarize this text', body) AS prompt FROM mydataset.articles ), STRUCT(TRUE AS flatten_json_output));
Contoh 2
Contoh berikut menunjukkan permintaan dengan karakteristik ini:
- Menggunakan kueri untuk membuat data prompt dengan menyambungkan string yang memberikan awalan prompt dengan kolom tabel.
- Menampilkan respons singkat.
- Tidak menampilkan teks yang dihasilkan dan atribut keamanan dalam kolom terpisah.
SELECT * FROM ML.GENERATE_TEXT( MODEL `mydataset.text_model`, ( SELECT CONCAT(question, 'Text:', description, 'Category') AS prompt FROM mydataset.input_table ), STRUCT( 100 AS max_output_tokens, FALSE AS flatten_json_output));
Membuat teks dari data tabel objek
Buat teks menggunakan fungsi ML.GENERATE_TEXT
dengan model jarak jauh, menggunakan tabel objek untuk memberikan konten yang akan dianalisis dan memberikan data perintah dalam parameter prompt
:
gemini-1.5-flash
SELECT * FROM ML.GENERATE_TEXT( MODEL `PROJECT_ID.DATASET_ID.MODEL_NAME`, TABLE PROJECT_ID.DATASET_ID.TABLE_NAME, STRUCT(PROMPT AS prompt, TOKENS AS max_output_tokens, TEMPERATURE AS temperature, TOP_P AS top_p, FLATTEN_JSON AS flatten_json_output, STOP_SEQUENCES AS stop_sequences, SAFETY_SETTINGS AS safety_settings) );
Ganti kode berikut:
PROJECT_ID
: project ID Anda.DATASET_ID
: ID set data yang berisi model.MODEL_NAME
: nama model.TABLE_NAME
: nama tabel objek yang berisi konten yang akan dianalisis. Untuk informasi selengkapnya tentang jenis konten yang dapat Anda analisis, lihat Input.Bucket Cloud Storage yang digunakan oleh tabel objek harus berada di project yang sama tempat Anda membuat model dan tempat Anda memanggil fungsi
ML.GENERATE_TEXT
. Jika ingin memanggil fungsiML.GENERATE_TEXT
di project yang berbeda dengan project yang berisi bucket Cloud Storage yang digunakan oleh tabel objek, Anda harus memberikan peran Storage Admin di tingkat bucket ke akun layananservice-A@gcp-sa-aiplatform.
.PROMPT
: perintah yang akan digunakan untuk menganalisis konten.TOKENS
: nilaiINT64
yang menetapkan jumlah maksimum token yang dapat dibuat dalam respons. Nilai ini harus dalam rentang[1,8192]
. Tentukan nilai yang lebih rendah untuk respons yang lebih singkat dan nilai yang lebih tinggi untuk respons yang lebih panjang. Defaultnya adalah128
.TEMPERATURE
: nilaiFLOAT64
dalam rentang[0.0,2.0]
yang mengontrol tingkat keacakan dalam pemilihan token. Defaultnya adalah0
.Nilai yang lebih rendah untuk
temperature
cocok untuk prompt yang memerlukan respons yang lebih deterministik dan kurang terbuka atau kreatif, sedangkan nilai yang lebih tinggi untuktemperature
dapat memberikan hasil yang lebih beragam atau kreatif. Nilai0
untuktemperature
bersifat deterministik, yang berarti bahwa respons probabilitas tertinggi selalu dipilih.TOP_P
: nilaiFLOAT64
dalam rentang[0.0,1.0]
membantu menentukan probabilitas token yang dipilih. Tentukan nilai yang lebih rendah untuk respons acak yang lebih sedikit dan nilai yang lebih tinggi untuk respons acak yang lebih banyak. Defaultnya adalah0.95
.FLATTEN_JSON
: nilaiBOOL
yang menentukan apakah akan menampilkan teks yang dihasilkan dan atribut keamanan di kolom terpisah. Defaultnya adalahFALSE
.STOP_SEQUENCES
: nilaiARRAY<STRING>
yang menghapus string yang ditentukan jika disertakan dalam respons dari model. String dicocokkan persis, termasuk kapitalisasi. Defaultnya adalah array kosong.SAFETY_SETTINGS
: nilaiARRAY<STRUCT<STRING AS category, STRING AS threshold>>
yang mengonfigurasi nilai minimum keamanan konten untuk memfilter respons. Elemen pertama dalam struct menentukan kategori bahaya, dan elemen kedua dalam struct menentukan nilai minimum pemblokiran yang sesuai. Model ini memfilter konten yang melanggar setelan ini. Anda hanya dapat menentukan setiap kategori satu kali. Misalnya, Anda tidak dapat menentukanSTRUCT('HARM_CATEGORY_DANGEROUS_CONTENT' AS category, 'BLOCK_MEDIUM_AND_ABOVE' AS threshold)
danSTRUCT('HARM_CATEGORY_DANGEROUS_CONTENT' AS category, 'BLOCK_ONLY_HIGH' AS threshold)
. Jika tidak ada setelan keamanan untuk kategori tertentu, setelan keamananBLOCK_MEDIUM_AND_ABOVE
akan digunakan.Kategori yang didukung adalah sebagai berikut:
HARM_CATEGORY_HATE_SPEECH
HARM_CATEGORY_DANGEROUS_CONTENT
HARM_CATEGORY_HARASSMENT
HARM_CATEGORY_SEXUALLY_EXPLICIT
Batas yang didukung adalah sebagai berikut:
BLOCK_NONE
(Dibatasi)BLOCK_LOW_AND_ABOVE
BLOCK_MEDIUM_AND_ABOVE
(Default)BLOCK_ONLY_HIGH
HARM_BLOCK_THRESHOLD_UNSPECIFIED
Untuk mengetahui informasi selengkapnya, lihat definisi kategori keamanan dan nilai minimum pemblokiran.
Contoh
Contoh ini menganalisis konten video dari tabel objek yang bernama
videos
dan mendeskripsikan konten di setiap video:
SELECT * FROM ML.GENERATE_TEXT( MODEL `mydataset.video_model`, TABLE `mydataset.videos`, STRUCT('What is happening in this video?' AS PROMPT, TRUE AS FLATTEN_JSON_OUTPUT));
Contoh ini menerjemahkan dan mentranskripsikan konten audio dari tabel objek
yang bernama feedback
:
SELECT * FROM ML.GENERATE_TEXT( MODEL `mydataset.audio_model`, TABLE `mydataset.feedback`, STRUCT('What is the content of this audio clip, translated into Spanish?' AS PROMPT, TRUE AS FLATTEN_JSON_OUTPUT));
Contoh ini mengklasifikasikan konten PDF dari tabel objek
yang bernama invoices
:
SELECT * FROM ML.GENERATE_TEXT( MODEL `mydataset.classify_model`, TABLE `mydataset.invoices`, STRUCT('Classify this document based on the invoice total, using the following categories: 0 to 100, 101 to 200, greater than 200' AS PROMPT, TRUE AS FLATTEN_JSON_OUTPUT));
gemini-1.5-pro
SELECT * FROM ML.GENERATE_TEXT( MODEL `PROJECT_ID.DATASET_ID.MODEL_NAME`, TABLE PROJECT_ID.DATASET_ID.TABLE_NAME, STRUCT(PROMPT AS prompt, TOKENS AS max_output_tokens, TEMPERATURE AS temperature, TOP_P AS top_p, FLATTEN_JSON AS flatten_json_output, STOP_SEQUENCES AS stop_sequences, SAFETY_SETTINGS AS safety_settings) );
Ganti kode berikut:
PROJECT_ID
: project ID Anda.DATASET_ID
: ID set data yang berisi model.MODEL_NAME
: nama model.TABLE_NAME
: nama tabel objek yang berisi konten yang akan dianalisis. Untuk informasi selengkapnya tentang jenis konten yang dapat Anda analisis, lihat Input.Bucket Cloud Storage yang digunakan oleh tabel objek harus berada di project yang sama tempat Anda membuat model dan tempat Anda memanggil fungsi
ML.GENERATE_TEXT
. Jika ingin memanggil fungsiML.GENERATE_TEXT
di project yang berbeda dengan project yang berisi bucket Cloud Storage yang digunakan oleh tabel objek, Anda harus memberikan peran Storage Admin di tingkat bucket ke akun layananservice-A@gcp-sa-aiplatform.
.PROMPT
: perintah yang akan digunakan untuk menganalisis konten.TOKENS
: nilaiINT64
yang menetapkan jumlah maksimum token yang dapat dibuat dalam respons. Nilai ini harus dalam rentang[1,8192]
. Tentukan nilai yang lebih rendah untuk respons yang lebih singkat dan nilai yang lebih tinggi untuk respons yang lebih panjang. Defaultnya adalah128
.TEMPERATURE
: nilaiFLOAT64
dalam rentang[0.0,2.0]
yang mengontrol tingkat keacakan dalam pemilihan token. Defaultnya adalah0
.Nilai yang lebih rendah untuk
temperature
cocok untuk prompt yang memerlukan respons yang lebih deterministik dan kurang terbuka atau kreatif, sedangkan nilai yang lebih tinggi untuktemperature
dapat memberikan hasil yang lebih beragam atau kreatif. Nilai0
untuktemperature
bersifat deterministik, yang berarti bahwa respons probabilitas tertinggi selalu dipilih.TOP_P
: nilaiFLOAT64
dalam rentang[0.0,1.0]
membantu menentukan probabilitas token yang dipilih. Tentukan nilai yang lebih rendah untuk respons acak yang lebih sedikit dan nilai yang lebih tinggi untuk respons acak yang lebih banyak. Defaultnya adalah0.95
.FLATTEN_JSON
: nilaiBOOL
yang menentukan apakah akan menampilkan teks yang dihasilkan dan atribut keamanan di kolom terpisah. Defaultnya adalahFALSE
.STOP_SEQUENCES
: nilaiARRAY<STRING>
yang menghapus string yang ditentukan jika disertakan dalam respons dari model. String dicocokkan persis, termasuk kapitalisasi. Defaultnya adalah array kosong.SAFETY_SETTINGS
: nilaiARRAY<STRUCT<STRING AS category, STRING AS threshold>>
yang mengonfigurasi nilai minimum keamanan konten untuk memfilter respons. Elemen pertama dalam struct menentukan kategori bahaya, dan elemen kedua dalam struct menentukan nilai minimum pemblokiran yang sesuai. Model ini memfilter konten yang melanggar setelan ini. Anda hanya dapat menentukan setiap kategori satu kali. Misalnya, Anda tidak dapat menentukanSTRUCT('HARM_CATEGORY_DANGEROUS_CONTENT' AS category, 'BLOCK_MEDIUM_AND_ABOVE' AS threshold)
danSTRUCT('HARM_CATEGORY_DANGEROUS_CONTENT' AS category, 'BLOCK_ONLY_HIGH' AS threshold)
. Jika tidak ada setelan keamanan untuk kategori tertentu, setelan keamananBLOCK_MEDIUM_AND_ABOVE
akan digunakan.Kategori yang didukung adalah sebagai berikut:
HARM_CATEGORY_HATE_SPEECH
HARM_CATEGORY_DANGEROUS_CONTENT
HARM_CATEGORY_HARASSMENT
HARM_CATEGORY_SEXUALLY_EXPLICIT
Batas yang didukung adalah sebagai berikut:
BLOCK_NONE
(Dibatasi)BLOCK_LOW_AND_ABOVE
BLOCK_MEDIUM_AND_ABOVE
(Default)BLOCK_ONLY_HIGH
HARM_BLOCK_THRESHOLD_UNSPECIFIED
Untuk mengetahui informasi selengkapnya, lihat definisi kategori keamanan dan nilai minimum pemblokiran.
Contoh
Contoh ini menganalisis konten video dari tabel objek yang bernama
videos
dan mendeskripsikan konten di setiap video:
SELECT * FROM ML.GENERATE_TEXT( MODEL `mydataset.video_model`, TABLE `mydataset.videos`, STRUCT('What is happening in this video?' AS PROMPT, TRUE AS FLATTEN_JSON_OUTPUT));
Contoh ini menerjemahkan dan mentranskripsikan konten audio dari tabel objek
yang bernama feedback
:
SELECT * FROM ML.GENERATE_TEXT( MODEL `mydataset.audio_model`, TABLE `mydataset.feedback`, STRUCT('What is the content of this audio clip, translated into Spanish?' AS PROMPT, TRUE AS FLATTEN_JSON_OUTPUT));
Contoh ini mengklasifikasikan konten PDF dari tabel objek
yang bernama invoices
:
SELECT * FROM ML.GENERATE_TEXT( MODEL `mydataset.classify_model`, TABLE `mydataset.invoices`, STRUCT('Classify this document based on the invoice total, using the following categories: 0 to 100, 101 to 200, greater than 200' AS PROMPT, TRUE AS FLATTEN_JSON_OUTPUT));
gemini-pro-vision
SELECT * FROM ML.GENERATE_TEXT( MODEL `PROJECT_ID.DATASET_ID.MODEL_NAME`, TABLE PROJECT_ID.DATASET_ID.TABLE_NAME, STRUCT(PROMPT AS prompt, TOKENS AS max_output_tokens, TEMPERATURE AS temperature, TOP_K AS top_k, TOP_P AS top_p, FLATTEN_JSON AS flatten_json_output, STOP_SEQUENCES AS stop_sequences, SAFETY_SETTINGS AS safety_settings) );
Ganti kode berikut:
PROJECT_ID
: project ID Anda.DATASET_ID
: ID set data yang berisi model.MODEL_NAME
: nama model.TABLE_NAME
: nama tabel objek yang berisi konten yang akan dianalisis. Untuk informasi selengkapnya tentang jenis konten yang dapat Anda analisis, lihat Input.Bucket Cloud Storage yang digunakan oleh tabel objek harus berada di project yang sama tempat Anda membuat model dan tempat Anda memanggil fungsi
ML.GENERATE_TEXT
. Jika ingin memanggil fungsiML.GENERATE_TEXT
di project yang berbeda dengan project yang berisi bucket Cloud Storage yang digunakan oleh tabel objek, Anda harus memberikan peran Storage Admin di tingkat bucket ke akun layananservice-A@gcp-sa-aiplatform.
.PROMPT
: perintah yang akan digunakan untuk menganalisis konten.TOKENS
: nilaiINT64
yang menetapkan jumlah maksimum token yang dapat dibuat dalam respons. Nilai ini harus dalam rentang[1,2048]
. Tentukan nilai yang lebih rendah untuk respons yang lebih singkat dan nilai yang lebih tinggi untuk respons yang lebih panjang. Defaultnya adalah2048
.TEMPERATURE
: nilaiFLOAT64
dalam rentang[0.0,1.0]
yang mengontrol tingkat keacakan dalam pemilihan token. Defaultnya adalah0.4
.Nilai yang lebih rendah untuk
temperature
cocok untuk prompt yang memerlukan respons yang lebih deterministik dan kurang terbuka atau kreatif, sedangkan nilai yang lebih tinggi untuktemperature
dapat memberikan hasil yang lebih beragam atau kreatif. Nilai0
untuktemperature
bersifat deterministik, yang berarti bahwa respons probabilitas tertinggi selalu dipilih.TOP_K
: nilaiINT64
dalam rentang[1,40]
yang menentukan kumpulan awal token yang dipertimbangkan model untuk dipilih. Tentukan nilai yang lebih rendah untuk respons dengan tingkat keacakan lebih rendah, dan nilai yang lebih tinggi untuk respons dengan tingkat keacakan lebih tinggi Defaultnya adalah32
.TOP_P
: nilaiFLOAT64
dalam rentang[0.0,1.0]
membantu menentukan probabilitas token yang dipilih. Tentukan nilai yang lebih rendah untuk respons acak yang lebih sedikit dan nilai yang lebih tinggi untuk respons acak yang lebih banyak. Defaultnya adalah0.95
.FLATTEN_JSON
: nilaiBOOL
yang menentukan apakah akan menampilkan teks yang dihasilkan dan atribut keamanan di kolom terpisah. Defaultnya adalahFALSE
.STOP_SEQUENCES
: nilaiARRAY<STRING>
yang menghapus string yang ditentukan jika disertakan dalam respons dari model. String dicocokkan persis, termasuk kapitalisasi. Defaultnya adalah array kosong.SAFETY_SETTINGS
: nilaiARRAY<STRUCT<STRING AS category, STRING AS threshold>>
yang mengonfigurasi nilai minimum keamanan konten untuk memfilter respons. Elemen pertama dalam struct menentukan kategori bahaya, dan elemen kedua dalam struct menentukan nilai minimum pemblokiran yang sesuai. Model ini memfilter konten yang melanggar setelan ini. Anda hanya dapat menentukan setiap kategori satu kali. Misalnya, Anda tidak dapat menentukanSTRUCT('HARM_CATEGORY_DANGEROUS_CONTENT' AS category, 'BLOCK_MEDIUM_AND_ABOVE' AS threshold)
danSTRUCT('HARM_CATEGORY_DANGEROUS_CONTENT' AS category, 'BLOCK_ONLY_HIGH' AS threshold)
. Jika tidak ada setelan keamanan untuk kategori tertentu, setelan keamananBLOCK_MEDIUM_AND_ABOVE
akan digunakan.Kategori yang didukung adalah sebagai berikut:
HARM_CATEGORY_HATE_SPEECH
HARM_CATEGORY_DANGEROUS_CONTENT
HARM_CATEGORY_HARASSMENT
HARM_CATEGORY_SEXUALLY_EXPLICIT
Batas yang didukung adalah sebagai berikut:
BLOCK_NONE
(Dibatasi)BLOCK_LOW_AND_ABOVE
BLOCK_MEDIUM_AND_ABOVE
(Default)BLOCK_ONLY_HIGH
HARM_BLOCK_THRESHOLD_UNSPECIFIED
Untuk mengetahui informasi selengkapnya, lihat definisi kategori keamanan dan nilai minimum pemblokiran.
Contoh
Contoh ini menganalisis konten video dari tabel objek yang bernama
videos
dan mendeskripsikan konten di setiap video:
SELECT * FROM ML.GENERATE_TEXT( MODEL `mydataset.video_model`, TABLE `mydataset.videos`, STRUCT('What is happening in this video?' AS PROMPT, TRUE AS FLATTEN_JSON_OUTPUT));