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.GENERATE adalah fungsi inferensi yang paling fleksibel, yang memungkinkan Anda menganalisis data terstruktur atau tidak terstruktur.
      • AI.GENERATE_TEXT adalah versi bernilai tabel dari AI.GENERATE yang 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_TABLE adalah versi bernilai tabel dari AI.GENERATE yang 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, atau AI.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_TOKENS fungsi 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:

Gunakan topik berikut untuk mencoba pembuatan teks di BigQuery ML:

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:

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 klausa WHERE atau JOIN, 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 klausa ORDER BY untuk 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 klausa GROUP BY untuk 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:

  1. Lihat laporan penagihan Anda di Penagihan Cloud.
  2. Gunakan filter untuk mempersempit hasil.

    Untuk layanan, pilih Vertex AI.

  3. Untuk melihat biaya tugas tertentu, filter menurut label.

    Tetapkan kunci ke bigquery_job_id_prefix dan 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:

  1. 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, tentukan us-central1 region dalam permintaan Anda. Untuk mencatat kueri yang berjalan di region eu, tentukan region europe-west4 dalam permintaan Anda.

  2. Jalankan kueri menggunakan fungsi AI yang melakukan panggilan ke Vertex AI menggunakan model yang Anda aktifkan logging-nya pada langkah sebelumnya.

  3. Untuk melihat permintaan dan respons Vertex AI lengkap, kueri tabel logging Anda untuk baris tempat labels.bigquery_job_id_prefix bidang kolom full_request cocok 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