Ringkasan AI generatif
Dokumen ini menjelaskan fungsi kecerdasan buatan (AI) generatif yang didukung BigQuery. Fungsi ini menerima input bahasa alami dan menggunakan model Vertex AI yang telah dilatih serta model BigQuery bawaan.
BigQuery menawarkan berbagai fungsi AI untuk membantu tugas seperti berikut:
- Membuat konten kreatif.
- Menganalisis, mendeteksi sentimen, dan menjawab pertanyaan tentang teks atau data tidak terstruktur, seperti gambar.
- Meringkas ide atau kesan utama yang disampaikan oleh konten.
- Mengekstrak data terstruktur dari teks.
- Mengklasifikasikan teks atau data tidak terstruktur ke dalam kategori yang ditentukan pengguna.
- Membuat embedding untuk menelusuri teks, gambar, dan video yang serupa.
- Memberi rating pada input untuk mengurutkannya berdasarkan kualitas, kemiripan, atau kriteria lainnya.
Fungsi AI dikelompokkan ke dalam kategori berikut untuk membantu Anda menyelesaikan tugas ini:
Fungsi AI serbaguna: Fungsi ini memberi Anda kontrol dan transparansi penuh atas pilihan model, perintah, dan parameter yang akan digunakan.
Melakukan inferensi LLM, seperti menjawab pertanyaan tentang data Anda
AI.GENERATEadalah fungsi inferensi yang paling fleksibel, yang memungkinkan Anda menganalisis data terstruktur atau tidak terstruktur.AI.GENERATE_TEXTadalah versi bernilai tabel dariAI.GENERATEyang juga mendukung model partner dan model terbuka.
Membuat output terstruktur, seperti mengekstrak nama, alamat, atau deskripsi objek dari teks, dokumen, atau gambar.
AI.GENERATE, saat Anda menentukan skema output.AI.GENERATE_TABLEadalah versi bernilai tabel dariAI.GENERATEyang memanggil model jarak jauh dan memungkinkan Anda menentukan skema output kustom.- Jika skema output Anda memiliki satu kolom, Anda dapat menggunakan salah satu fungsi khusus:
AI.GENERATE_BOOL,AI.GENERATE_DOUBLE, atauAI.GENERATE_INT.
Membuat embedding untuk penelusuran dan pengelompokan semantik
AI.EMBED: Membuat embedding dari data teks atau gambar.AI.GENERATE_EMBEDDING: Fungsi bernilai tabel yang menambahkan kolom data teks, gambar, audio, video, atau dokumen tersemat ke tabel Anda.
**Fungsi AI terkelola**: Fungsi ini memiliki sintaksis yang disederhanakan dan dioptimalkan untuk biaya dan kualitas. Dengan mode yang dioptimalkan (Pratinjau), fungsi ini dapat diskalakan ke jutaan atau miliaran baris.
AI.IF: memfilter data Anda dengan kondisi bahasa alami.AI.SCORE: memberi rating pada input, seperti berdasarkan kualitas atau sentimen.AI.CLASSIFY: mengklasifikasikan input ke dalam kategori yang ditentukan pengguna.AI.AGG: mengagregasi input untuk meringkas atau menganalisis data Anda.
Fungsi utilitas: Gunakan
AI.COUNT_TOKENSfungsi untuk memperkirakan jumlah token dalam perintah input sebelum Anda menjalankan kueri.Fungsi khusus tugas: Fungsi ini menggunakan Cloud AI API untuk membantu Anda melakukan tugas seperti natural language processing, terjemahan mesin, pemrosesan dokumen, transkripsi audio, dan computer vision.
Fungsi AI serbaguna
Fungsi AI serbaguna memberi Anda kontrol dan transparansi penuh atas pilihan model, perintah, dan parameter yang akan digunakan. Outputnya mencakup informasi mendetail tentang panggilan ke model, termasuk status dan respons model lengkap, yang mungkin menyertakan informasi tentang rating keamanan atau kutipan.
Melakukan inferensi LLM
Fungsi AI.GENERATE
adalah fungsi inferensi fleksibel yang berfungsi dengan
mengirimkan permintaan ke model Vertex AI Gemini dan
menampilkan respons model tersebut. Anda dapat menggunakan fungsi ini untuk menganalisis data teks, gambar, audio, video, atau PDF. Misalnya, Anda dapat menganalisis gambar perlengkapan rumah untuk membuat teks untuk kolom design_type, sehingga SKU perlengkapan memiliki deskripsi terkait, seperti mid-century modern atau farmhouse.
Anda dapat melakukan tugas AI generatif dengan menggunakan model jarak jauh di
BigQuery ML untuk mereferensikan model yang di-deploy
ke atau dihosting di Vertex AI dengan
AI.GENERATE_TEXT fungsi bernilai tabel.
Anda dapat menggunakan jenis model jarak jauh berikut:
remote models:
Model jarak jauh di salah satu model Gemini yang tersedia secara umum atau pratinjau untuk menganalisis konten teks, gambar, audio, video, atau PDF dari tabel standar atau tabel objek dengan perintah yang Anda berikan sebagai argumen fungsi.
Model jarak jauh di model partner Anthropic Claude, Mistral AI , atau Llama, atau model terbuka yang didukung, untuk menganalisis perintah yang Anda berikan dalam kueri atau dari kolom dalam tabel standar.
Gunakan topik berikut untuk mencoba pembuatan teks di BigQuery ML:
- Membuat teks menggunakan model Gemini dan fungsi
AI.GENERATE_TEXT. - Membuat teks menggunakan model Gemma dan fungsi
AI.GENERATE_TEXT. - Menganalisis gambar dengan model Gemini.
- Membuat teks menggunakan fungsi
AI.GENERATE_TEXTdengan data Anda. - Menyesuaikan model menggunakan data Anda.
Untuk beberapa model, Anda dapat memilih untuk mengonfigurasi tuning terawasi, yang memungkinkan Anda melatih model dengan data Anda sendiri agar lebih sesuai untuk kasus penggunaan Anda. Semua inferensi terjadi di Vertex AI. Hasilnya disimpan di BigQuery.
Membuat data terstruktur
Pembuatan data terstruktur sangat mirip dengan pembuatan teks, kecuali Anda dapat memformat respons dari model dengan menentukan skema SQL. Misalnya, Anda dapat membuat tabel yang berisi nama, nomor telepon, alamat, permintaan, dan kutipan harga pelanggan dari transkrip panggilan telepon.
Anda dapat membuat data terstruktur dengan cara berikut:
Fungsi
AI.GENERATEmemanggil endpoint Vertex AI dan dapat membuat nilaiSTRUCTdengan skema kustom Anda.Untuk mencobanya, lihat cara menggunakan output terstruktur saat Anda memanggil fungsi
AI.GENERATE.-
Untuk mencoba membuat data terstruktur, lihat Membuat data terstruktur menggunakan fungsi
AI.GENERATE_TABLE. Untuk satu kolom output, Anda dapat menggunakan salah satu fungsi inferensi khusus berikut:
Membuat embedding
Embedding adalah vektor numerik berdimensi tinggi yang merepresentasikan entity tertentu, seperti potongan teks atau file audio. Membuat embedding memungkinkan Anda menangkap semantik data Anda dengan cara yang memudahkan Anda untuk memahami dan membandingkan data.
Beberapa kasus penggunaan umum untuk pembuatan embedding adalah sebagai berikut:
- Menggunakan retrieval-augmented generation (RAG) untuk menambah respons model terhadap kueri pengguna dengan mereferensikan data tambahan dari sumber tepercaya. RAG memberikan akurasi faktual dan konsistensi respons yang lebih baik, serta memberikan akses ke data yang lebih baru daripada data pelatihan model.
- Melakukan penelusuran multimodal. Misalnya, menggunakan input teks untuk menelusuri gambar.
- Melakukan penelusuran semantik untuk menemukan item serupa untuk rekomendasi, penggantian, dan deduplikasi rekaman.
- Membuat embedding untuk digunakan dengan model k-means untuk pengelompokan.
Untuk mengetahui informasi selengkapnya tentang cara membuat embedding dan menggunakannya untuk melakukan tugas ini, lihat Pengantar embedding dan penelusuran vektor.
Fungsi AI terkelola
Fungsi AI terkelola menyederhanakan tugas rutin, seperti pemfilteran, klasifikasi, atau agregasi. Fungsi ini dapat menganalisis data teks, gambar, audio, video, atau PDF. Fungsi ini menggunakan Gemini dan tidak memerlukan penyesuaian. BigQuery menggunakan prompt engineering dan dapat memilih model serta parameter yang sesuai untuk digunakan dalam tugas tertentu guna mengoptimalkan kualitas dan konsistensi hasil Anda. Setiap fungsi menampilkan nilai skalar, seperti BOOL, FLOAT64, atau STRING, dan tidak menyertakan informasi status tambahan dari model. Fungsi AI terkelola berikut tersedia:
AI.IF: Memfilter teks atau data multimodal, seperti dalam klausaWHEREatauJOIN, berdasarkan perintah. Misalnya, Anda dapat memfilter deskripsi produk berdasarkan deskripsi item yang akan menjadi hadiah yang bagus.AI.SCORE: Memberi rating pada input berdasarkan perintah untuk mengurutkan baris berdasarkan kualitas, kemiripan, atau kriteria lainnya. Anda dapat menggunakan fungsi ini dalam klausaORDER BYuntuk mengekstrak K item teratas menurut skor. Misalnya, Anda dapat menemukan 10 ulasan pengguna teratas yang paling positif atau negatif untuk suatu produk.AI.CLASSIFY: Mengklasifikasikan teks ke dalam kategori yang ditentukan pengguna. Anda dapat menggunakan fungsi ini dalam klausaGROUP BYuntuk mengelompokkan input menurut kategori yang Anda tentukan. Misalnya, Anda dapat mengklasifikasikan tiket dukungan berdasarkan apakah tiket tersebut terkait dengan penagihan, pengiriman, kualitas produk, atau hal lainnya.AI.AGG: Mengagregasi input berdasarkan petunjuk bahasa alami untuk meringkas atau menganalisis data Anda. Misalnya, Anda dapat memindai log sesi aplikasi pengguna untuk menentukan tempat pelanggan mengalami kesulitan, atau Anda dapat meringkas konten dari kumpulan gambar yang besar.
Untuk tutorial yang menunjukkan contoh cara menggunakan fungsi ini, lihat Melakukan analisis semantik dengan fungsi AI terkelola.
Untuk tutorial notebook yang menunjukkan cara menggunakan fungsi AI terkelola dan serbaguna, lihat Analisis semantik dengan fungsi AI.
Fungsi khusus tugas
Selain fungsi yang lebih umum yang dijelaskan di bagian sebelumnya, Anda dapat mengembangkan solusi khusus tugas di BigQuery ML menggunakan Cloud AI API. Tugas yang didukung mencakup hal berikut:
Untuk mengetahui informasi selengkapnya, lihat Ringkasan solusi khusus tugas.
Lokasi
Lokasi yang didukung untuk model pembuatan teks dan embedding bervariasi berdasarkan jenis dan versi model yang Anda gunakan. Untuk mengetahui informasi selengkapnya, lihat Lokasi.
Harga
Anda akan dikenai biaya untuk resource komputasi yang Anda gunakan untuk menjalankan kueri terhadap model. Model jarak jauh melakukan panggilan ke model Vertex AI, sehingga kueri terhadap model jarak jauh juga dikenai biaya dari Vertex AI.
Untuk mengetahui informasi selengkapnya, lihat Harga BigQuery ML.
Melacak penggunaan token
Saat Anda memanggil fungsi AI generatif yang menggunakan model Gemini selain model embedding, Anda dapat melihat jumlah total setiap jenis token yang diproses oleh kueri. Di panel Query results, klik Job information. Jumlah berikut akan muncul, yang dipecah berdasarkan modalitas jika berlaku:
- Jumlah token input: Jumlah total token input ke semua fungsi AI generatif yang dipanggil dalam kueri.
- Jumlah token output. Jumlah total token di semua respons kandidat yang dibuat oleh kueri.
- Jumlah token pemikiran. Jumlah total token yang merupakan bagian dari pemikiran yang dibuat model, jika berlaku.
- Jumlah token cache. Jumlah total token input yang di- cache secara implisit oleh kueri.
Melacak biaya
Fungsi AI generatif di BigQuery berfungsi dengan mengirimkan permintaan ke Vertex AI, yang dapat dikenai biaya. Untuk memperkirakan jumlah token input
sebelum menjalankan kueri, gunakan fungsi
AI.COUNT_TOKENS.
Untuk melacak biaya Vertex AI yang dikeluarkan oleh tugas yang Anda jalankan di BigQuery, ikuti langkah-langkah berikut:
- Lihat laporan penagihan Anda di Penagihan Cloud.
Gunakan filter untuk mempersempit hasil.
Untuk layanan, pilih Vertex AI.
Untuk melihat biaya tugas tertentu, filter menurut label.
Tetapkan kunci ke
bigquery_job_id_prefixdan nilai ke ID tugas Anda. Jika ID tugas Anda lebih panjang dari 63 karakter, gunakan hanya 63 karakter pertama. Jika ID tugas Anda berisi karakter huruf besar, ubah menjadi huruf kecil. Atau, Anda dapat mengaitkan tugas dengan label kustom untuk membantu Anda mencarinya nanti.
Diperlukan waktu hingga 24 jam agar beberapa biaya muncul di Penagihan Cloud.
Pemantauan
Untuk lebih memahami perilaku fungsi AI yang Anda panggil di BigQuery, Anda dapat mengaktifkan logging permintaan dan respons. Untuk mencatat seluruh permintaan dan respons yang dikirim ke dan diterima dari Vertex AI, ikuti langkah-langkah berikut:
Aktifkan log permintaan-respons di Vertex AI. Log disimpan di BigQuery. Anda harus mengaktifkan logging secara terpisah untuk setiap model dasar dan region yang berbeda. Untuk mencatat kueri yang berjalan di region
us, tentukanus-central1region dalam permintaan Anda. Untuk mencatat kueri yang berjalan di regioneu, tentukan regioneurope-west4dalam permintaan Anda.Jalankan kueri menggunakan fungsi AI yang melakukan panggilan ke Vertex AI menggunakan model yang Anda aktifkan logging-nya pada langkah sebelumnya.
Untuk melihat permintaan dan respons Vertex AI lengkap, kueri tabel logging Anda untuk baris tempat
labels.bigquery_job_id_prefixbidang kolomfull_requestcocok dengan 63 karakter pertama ID tugas Anda. Secara opsional, Anda dapat menggunakan label kueri kustom untuk membantu Anda mencari kueri dalam log.Misalnya, Anda dapat menggunakan kueri yang mirip dengan berikut:
SELECT * FROM `my_project.my_dataset.request_response_logging` WHERE JSON_VALUE(full_request, '$.labels.bigquery_job_id_prefix') = 'bquxjob_123456...';
Pengelolaan error
Error tingkat baris, seperti RESOURCE_EXHAUSTED, dapat terjadi jika fungsi AI melebihi kuota atau batas layanan jarak jauh. Saat terjadi error tingkat baris, fungsi akan menampilkan NULL untuk baris tersebut, yang dapat mengakibatkan hasil kueri yang tidak lengkap.
Semua fungsi AI dapat mengalami error ini. Namun, fungsi AI terkelola (AI.IF, AI.CLASSIFY, dan AI.SCORE) mendukung argumen max_error_ratio untuk membantu Anda mengelolanya. Gunakan argumen ini untuk menetapkan batas kegagalan yang memungkinkan kueri berhasil meskipun terjadi kegagalan tingkat baris.
Nilai default untuk max_error_ratio adalah 1.0. Untuk menurunkan toleransi error, tetapkan ke nilai yang lebih kecil (misalnya, 0.2) sehingga kueri gagal, bukan berhasil dengan kegagalan sebagian. Untuk mengetahui detail sintaksis, lihat dokumentasi referensi untuk AI.IF,AI.CLASSIFY,atauAI.SCORE.
Jika kueri berhasil dengan kegagalan sebagian, BigQuery akan menampilkan peringatan. Untuk mengetahui informasi selengkapnya tentang error fungsi, periksa kolom Gen AI function errors di tab Job information pada hasil kueri di the Google Cloud konsol.
Jika kueri Anda menyertakan klausa LIMIT, batas akan diterapkan setelah model memproses batch baris. Akibatnya, proporsi nilai NULL dalam kumpulan hasil akhir Anda mungkin tampak lebih tinggi daripada max_error_ratio yang ditentukan.
Misalnya, kueri Anda memiliki klausa LIMIT 10 dan max_error_ratio sebesar 0.2. Model mungkin memproses 20 baris sebelum batas diterapkan. Jika 3 dari 20 baris tersebut gagal, rasio error adalah 0.15 (15%), yang berada dalam batas 20%. Namun, jika subset baris yang dipilih oleh klausa LIMIT kebetulan menyertakan 3 baris yang gagal, output yang terlihat akan berisi 30% nilai NULL.
Langkah berikutnya
- Untuk pengantar AI dan ML di BigQuery, lihat Pengantar AI dan ML di BigQuery.
- Untuk mengetahui informasi selengkapnya tentang melakukan inferensi atas machine learning model, lihat Ringkasan inferensi model.
- Untuk mengetahui informasi selengkapnya tentang pernyataan dan fungsi SQL yang didukung untuk model AI generatif, lihat Perjalanan pengguna menyeluruh untuk model AI generatif.