Menganalisis data multimodal di Python dengan BigQuery DataFrames
Tutorial ini menunjukkan cara menganalisis data multimodal di notebook Python menggunakan class dan metode BigQuery DataFrames.
Tutorial ini menggunakan katalog produk dari set data toko hewan peliharaan Cymbal publik.
Untuk mengupload notebook yang sudah diisi dengan tugas yang dibahas dalam tutorial ini, lihat BigFrames Multimodal DataFrame.
Tujuan
- Membuat DataFrame multimodal.
- Menggabungkan data terstruktur dan tidak terstruktur dalam DataFrame.
- Mengubah gambar.
- Membuat teks dan embedding berdasarkan data gambar.
- Membagi PDF menjadi beberapa bagian 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 untuk memberi Anda peran IAM berikut:
-
Membuat koneksi:
BigQuery Connection Admin (
roles/bigquery.connectionAdmin
) -
Berikan 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, koneksi, dan notebook Cloud Storage yang digunakan dalam tutorial ini.
Membuat bucket
Buat bucket Cloud Storage untuk menyimpan objek yang ditransformasi:
Di Google Cloud console, buka halaman Buckets.
Klik
Create.Di halaman Create a bucket, di bagian Get started, masukkan nama 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 Add data akan terbuka.
Di panel Filter By, di bagian Data Source Type, pilih Business Applications.
Atau, di kolom Search for data sources, 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 panel editor, klik panah drop-down
di samping kueri SQL, lalu klik Notebook.Di panel Start with a template, klik Close.
Klik Connect > Connect to a runtime.
Jika Anda sudah memiliki runtime, terima setelan default, lalu klik Connect. Jika Anda tidak 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
class 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 dalam 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
Transformasikan data gambar menggunakan metode berikut dari
class Series.BlobAccessor
:
Gambar yang ditransformasi ditulis ke Cloud Storage.
Mengubah gambar:
- Di notebook, buat sel kode dan salin kode berikut ke dalamnya:
- Perbarui semua referensi ke
{dst_bucket}
untuk merujuk ke bucket yang Anda buat, dalam formatgs://mybucket
. Klik Run
.Kode ini menampilkan gambar asli serta semua transformasinya.
Buat teks
Buat 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 penyematan yang dihasilkan oleh panggilan ke model penyematan.
Membagi PDF
Bagi objek PDF menjadi beberapa bagian 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 dikelompokkan.
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.