Menganalisis data multimodal di Python dengan DataFrame BigQuery
Tutorial ini menunjukkan cara menganalisis data multimodal di notebook Python menggunakan kelas dan metode BigQuery DataFrames.
Tutorial ini menggunakan katalog produk dari set data toko hewan Cymbal publik.
Untuk mengupload notebook yang sudah diisi dengan tugas yang dibahas dalam tutorial ini, lihat DataFrame Multimodal BigFrames.
Tujuan
- Buat DataFrame multimodal.
- Gabungkan data terstruktur dan tidak terstruktur dalam DataFrame.
- Mentransformasi gambar.
- Menghasilkan teks dan embedding berdasarkan data gambar.
- Mengelompokkan PDF untuk analisis lebih lanjut.
Biaya
Dalam dokumen ini, Anda akan menggunakan komponen Google Cloudyang dapat ditagih berikut:
- BigQuery: you incur costs for the data that you process in BigQuery.
- BigQuery Python UDFs: you incur costs for using BigQuery DataFrames image transformation and chunk PDF methods.
- Cloud Storage: you incur costs for the objects stored in Cloud Storage.
- Vertex AI: you incur costs for calls to Vertex AI models.
Untuk membuat perkiraan biaya berdasarkan proyeksi penggunaan Anda,
gunakan kalkulator harga.
Untuk mengetahui informasi selengkapnya, lihat halaman harga berikut:
Sebelum memulai
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the BigQuery, BigQuery Connection, Cloud Storage, and Vertex AI APIs.
Peran yang diperlukan
Untuk mendapatkan izin yang Anda perlukan untuk menyelesaikan tutorial ini, minta administrator Anda untuk memberi Anda peran IAM berikut:
-
Membuat koneksi:
BigQuery Connection Admin (
roles/bigquery.connectionAdmin
) -
Memberikan izin ke akun layanan koneksi:
Project IAM Admin (
roles/resourcemanager.projectIamAdmin
) -
Buat bucket Cloud Storage:
Storage Admin (
roles/storage.admin
) -
Menjalankan tugas BigQuery:
BigQuery User (
roles/bigquery.user
) -
Membuat dan memanggil UDF Python:
BigQuery Data Editor (
roles/bigquery.dataEditor
) -
Buat URL yang memungkinkan Anda membaca dan mengubah objek Cloud Storage:
BigQuery ObjectRef Admin (
roles/bigquery.objectRefAdmin
) -
Menggunakan notebook:
-
BigQuery Read Session User (
roles/bigquery.readSessionUser
) -
Pengguna Runtime Notebook (
roles/aiplatform.notebookRuntimeUser
) -
Pengguna Runtime Notebook (
roles/aiplatform.notebookRuntimeUser
) -
Pembuat Kode (
roles/dataform.codeCreator
)
-
BigQuery Read Session User (
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Siapkan
Di bagian ini, Anda akan membuat bucket Cloud Storage, koneksi, dan notebook yang digunakan dalam tutorial ini.
Membuat bucket
Buat bucket Cloud Storage untuk menyimpan objek yang telah diubah:
Di konsol Google Cloud , buka halaman Buckets.
Klik
Create.Di halaman Create a bucket, di bagian Get started, masukkan nama yang unik secara global yang memenuhi persyaratan nama bucket.
Klik Buat.
Membuat koneksi
Buat koneksi resource Cloud dan dapatkan akun layanan koneksi. BigQuery menggunakan koneksi untuk mengakses objek di Cloud Storage.
Buka halaman BigQuery.
Di panel Penjelajah, klik
Tambahkan data.Dialog Tambahkan data akan terbuka.
Di panel Filter Menurut, di bagian Jenis Sumber Data, pilih Aplikasi Bisnis.
Atau, di kolom Telusuri sumber data, Anda dapat memasukkan
Vertex AI
.Di bagian Sumber data unggulan, klik Vertex AI.
Klik kartu solusi Vertex AI Models: BigQuery Federation.
Dalam daftar Connection type, pilih Vertex AI remote models, remote functions and BigLake (Cloud Resource).
Di kolom Connection ID, ketik
bigframes-default-connection
.Klik Create connection.
Klik Go to connection.
Di panel Connection info, salin ID akun layanan untuk digunakan di langkah berikutnya.
Memberikan izin ke akun layanan koneksi
Berikan peran yang diperlukan akun layanan koneksi untuk mengakses Cloud Storage dan Vertex AI. Anda harus memberikan peran ini di project yang sama dengan yang Anda buat atau pilih di bagian Sebelum memulai.
Untuk memberikan peran, ikuti langkah-langkah berikut:
Buka halaman IAM & Admin.
Klik
Berikan akses.Di kolom New principals, masukkan ID akun layanan yang Anda salin sebelumnya.
Di kolom Select a role, pilih Cloud Storage, lalu pilih Storage Object User.
Klik Add another role.
Di kolom Pilih peran, pilih Vertex AI, lalu pilih Pengguna Vertex AI.
Klik Simpan.
Membuat notebook
Buat notebook tempat Anda dapat menjalankan kode Python:
Buka halaman BigQuery.
Di panel tab editor, klik
panah drop-down di samping SQL query, lalu klik Notebook.Di panel Start with a template, klik Close.
Klik Hubungkan > Hubungkan ke runtime.
Jika Anda memiliki runtime yang ada, terima setelan default, lalu klik Connect. Jika Anda belum memiliki runtime, pilih Create new Runtime, lalu klik Connect.
Mungkin perlu waktu beberapa menit hingga runtime disiapkan.
Membuat DataFrame multimodal
Buat DataFrame multimodal yang mengintegrasikan data terstruktur dan tidak terstruktur
dengan menggunakan
metode from_glob_path
dari
kelas Session
:
- Di notebook, buat sel kode dan salin kode berikut ke dalamnya:
Klik
Run.Panggilan terakhir ke
df_image
menampilkan gambar yang telah ditambahkan ke DataFrame. Atau, Anda dapat memanggil metode.display
.
Menggabungkan data terstruktur dan tidak terstruktur di DataFrame
Gabungkan data teks dan gambar dalam DataFrame multimodal:
- Di notebook, buat sel kode dan salin kode berikut ke dalamnya:
Klik Run
.Kode ini menampilkan data DataFrame.
Di notebook, buat sel kode dan salin kode berikut ke dalamnya:
Klik Run
.Kode ini menampilkan gambar dari DataFrame dengan nilai kolom
author
adalahalice
.
Melakukan transformasi gambar
Ubah data gambar menggunakan metode berikut dari
class Series.BlobAccessor
:
Gambar yang ditransformasi ditulis ke Cloud Storage.
Mentransformasi gambar:
- Di notebook, buat sel kode dan salin kode berikut ke dalamnya:
- Perbarui semua referensi ke
{dst_bucket}
agar merujuk ke bucket yang Anda buat, dalam formatgs://mybucket
. Klik Run
.Kode ini menampilkan gambar asli serta semua transformasinya.
Buat teks
Membuat teks dari data multimodal menggunakan
metode predict
dari
class GeminiTextGenerator
:
- Di notebook, buat sel kode dan salin kode berikut ke dalamnya:
Klik Run
.Kode ini menampilkan dua gambar pertama di
df_image
, beserta teks yang dihasilkan sebagai respons terhadap pertanyaanwhat item is it?
untuk kedua gambar.Di notebook, buat sel kode dan salin kode berikut ke dalamnya:
Klik Run
.Kode ini menampilkan dua gambar pertama di
df_image
, dengan teks yang dihasilkan sebagai respons terhadap pertanyaanwhat item is it?
untuk gambar pertama, dan teks yang dihasilkan sebagai respons terhadap pertanyaanwhat color is the picture?
untuk gambar kedua.
Membuat embedding
Buat embedding untuk data multimodal menggunakan
metode predict
dari
class MultimodalEmbeddingGenerator
:
- Di notebook, buat sel kode dan salin kode berikut ke dalamnya:
Klik Run
.Kode ini menampilkan embedding yang dihasilkan oleh panggilan ke model embedding.
Membagi PDF
Kelompokkan objek PDF menggunakan
metode pdf_chunk
dari
class Series.BlobAccessor
:
- Di notebook, buat sel kode dan salin kode berikut ke dalamnya:
Klik Run
.Kode ini menampilkan data PDF yang dipecah-pecah.
Pembersihan
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.