Menganalisis data multimodal di BigQuery

Dokumen ini menjelaskan fitur BigQuery yang dapat Anda gunakan untuk membuat dan menganalisis data multimodal. Fitur ini dapat digunakan di BigQuery dengan GoogleSQL dan dengan Python menggunakan BigQuery DataFrames.

Fitur data multimodal BigQuery memungkinkan Anda melakukan tugas berikut:

  • Integrasikan data tidak terstruktur yang disimpan di Cloud Storage sebagai kolom lain bersama data terstruktur dalam tabel BigQuery standar dengan merepresentasikan data tidak terstruktur sebagai nilai ObjectRef.
  • Buat anotasi, embedding, dan nilai skalar dari data multimodal dengan menggunakan fungsi AI generatif BigQuery ML dengan model Gemini.
  • Buat anotasi, embedding, dan nilai skalar dari data multimodal dengan membuat DataFrame multimodal di BigQuery DataFrames dan menggunakan library Python.

Untuk tutorial langkah demi langkah yang menggunakan konsol Google Cloud , lihat Menganalisis data multimodal dengan SQL dan Python.

Manfaat

Fitur data multimodal BigQuery menawarkan manfaat berikut:

  • Kemampuan penyusunan: Anda dapat menyimpan dan mengelola data terstruktur dan tidak terstruktur dalam baris tabel standar yang sama menggunakan nilai ObjectRef. Misalnya, Anda dapat menyimpan gambar untuk produk dalam baris yang sama dengan informasi produk lainnya. Anda dapat menggunakan fungsi SQL standar untuk membuat dan memperbarui kolom yang berisi nilai ObjectRef, dan Anda dapat membuat nilai ObjectRef sebagai output tindakan transformasi pada objek.
  • Menambahkan beberapa data tidak terstruktur dalam perintah AI generatif: menambahkan beberapa nilai ObjectRef sebagai input ke fungsi AI generatif. Misalnya, Anda dapat membuat sematan data gambar dan teks dari tabel yang sama. Untuk pembuatan teks dan nilai skalar, Anda juga dapat merujuk ke beberapa objek dalam perintah yang Anda kirim ke model. Misalnya, Anda dapat membuat perintah yang meminta model untuk membuat deskripsi produk berdasarkan gambar dan atribut produk.
  • Mempertahankan pengurutan potongan: Anda dapat membagi objek menjadi beberapa bagian, lalu menyimpan bagian-bagian tersebut sebagai array nilai ObjectRef dalam kolom tabel standar, untuk mempertahankan urutannya. Misalnya, Anda dapat mengurai gambar dari video, lalu menyimpan gambar ini sebagai array nilai ObjectRef, sehingga gambar tetap dalam urutan yang sama seperti yang muncul dalam video asli.

ObjectRef nilai

Nilai ObjectRef adalah nilai STRUCT yang menggunakan skema ObjectRef. Anda dapat menyimpan metadata objek Cloud Storage dan pengotorisasi terkait dalam tabel standar BigQuery dengan membuat kolom STRUCT atau ARRAY<STRUCT> yang menggunakan format ini. Nilai pemberi otorisasi mengidentifikasi koneksi resource Cloud yang digunakan BigQuery untuk mengakses objek Cloud Storage. Jika Anda menyetel pemberi otorisasi ke NULL, BigQuery akan menggunakan kredensial pengguna akhir Anda.

Gunakan nilai ObjectRef saat Anda perlu mengintegrasikan data tidak terstruktur ke dalam tabel standar. Misalnya, dalam tabel produk, Anda dapat menyimpan gambar produk di baris yang sama dengan informasi produk lainnya dengan menambahkan kolom yang berisi nilai ObjectRef.

Buat dan perbarui nilai ObjectRef menggunakan fungsi GoogleSQL berikut:

  • OBJ.MAKE_REF: membuat nilai ObjectRef yang berisi metadata untuk objek Cloud Storage.
  • OBJ.FETCH_METADATA: mengambil metadata Cloud Storage untuk nilai ObjectRef yang diisi sebagian dengan nilai uri dan authorizer.

Untuk mengetahui informasi selengkapnya, lihat Bekerja dengan nilai ObjectRef.

ObjectRefRuntime nilai

Nilai ObjectRefRuntime adalah nilai JSON yang menggunakan skema ObjectRefRuntime. Nilai ObjectRefRuntime berisi metadata objek Cloud Storage dari nilai ObjectRef yang digunakan untuk membuatnya, pemberi otorisasi terkait, dan URL akses. Anda dapat menggunakan URL akses untuk membaca atau mengubah objek di Cloud Storage.

Gunakan nilai ObjectRefRuntime untuk bekerja dengan data objek dalam alur kerja analisis dan transformasi. URL akses dalam nilai ObjectRefRuntime akan habis masa berlakunya paling lama setelah 6 jam, meskipun Anda dapat mengonfigurasi waktu habis masa berlaku yang lebih singkat. Jika Anda menyimpan nilai ObjectRefRuntime di mana pun sebagai bagian dari alur kerja, Anda harus memperbarui data ini secara rutin. Untuk mempertahankan metadata objek, simpan nilai ObjectRef, lalu gunakan untuk membuat nilai ObjectRefRuntime saat Anda membutuhkannya. Nilai ObjectRef tidak perlu diperbarui kecuali jika objek yang mendasarinya di Cloud Storage diubah.

Buat nilai ObjectRefRuntime menggunakan fungsi OBJ.GET_ACCESS_URL.

Fungsi AI generatif

Buat teks, embedding, dan nilai skalar berdasarkan input ObjectRef atau ObjectRefRuntime dengan menggunakan fungsi AI generatif berikut dengan model Gemini:

Bekerja dengan data multimodal di Python

Anda dapat menganalisis data multimodal di Python menggunakan class dan metode BigQuery DataFrames.

DataFrame Multimodal

Buat DataFrame multimodal yang mengintegrasikan data terstruktur dan tidak terstruktur dengan menggunakan metode read_gbq: buat DataFrame multimodal dari tabel objek.

Untuk mencobanya, lihat tutorial Multimodal Dataframes di GitHub.

Metode AI generatif

Gunakan metode berikut untuk melakukan tugas AI generatif pada data multimodal:

Tabel objek

Tabel objek baru yang Anda buat memiliki kolom ref yang berisi nilai ObjectRef untuk objek tertentu. Koneksi yang digunakan untuk membuat tabel objek digunakan untuk mengisi nilai authorizer di kolom ref. Anda dapat menggunakan kolom ref untuk mengisi dan memperbarui nilai ObjectRef dalam tabel standar.

Set data Insight Penyimpanan

Set data Storage Insights adalah set data BigQuery tertaut yang dapat Anda kueri untuk menganalisis dan memvisualisasikan data Cloud Storage Anda. Kolom ref berisi nilai ObjectRef yang dapat Anda gunakan untuk menganalisis data dan metadata objek.

Batasan

Batasan berikut berlaku untuk fitur data multimodal BigQuery:

  • Jika Anda tidak secara eksplisit menentukan nama project yang berisi koneksi di kolom authorizer dari nilai ObjectRef, maka koneksi harus ada di project yang berisi tabel objek yang menyimpannya, atau di project tempat kueri yang mereferensikan nilai ObjectRef dijalankan.
  • Anda tidak dapat memiliki lebih dari 20 koneksi resource Cloud di project dan region tempat kueri Anda mengakses data objek sebagai nilai ObjectRef.
  • Anda dapat mereferensikan nilai ObjectRef dari maksimal lima project selain project tempat Anda menjalankan kueri.

Biaya

Biaya berikut berlaku saat menggunakan data multimodal:

  • Penyimpanan metadata objek sebagai nilai ObjectRef dalam tabel standar berkontribusi pada biaya penyimpanan BigQuery untuk tabel tersebut.
  • Kueri yang dijalankan pada nilai ObjectRef akan menimbulkan biaya komputasi BigQuery.
  • Objek baru yang Anda buat dari transformasi objek akan dikenai biaya Cloud Storage.
  • Data baru yang Anda buat dan pertahankan di BigQuery akan dikenai biaya penyimpanan BigQuery.
  • Penggunaan fungsi AI generatif menimbulkan biaya Vertex AI.
  • Penggunaan UDF Python BigQuery, serta metode transformasi objek dan DataFrame multimodal di DataFrame BigQuery, akan menimbulkan biaya UDF Python.

Untuk mengetahui informasi selengkapnya, lihat halaman harga berikut:

Langkah berikutnya