Mulai menggunakan penelusuran media
Anda dapat dengan cepat membuat aplikasi penelusuran media canggih. Penelusuran media memungkinkan audiens Anda menemukan konten, dengan hasil berkualitas Google.
Untuk informasi umum tentang Vertex AI Search for media, lihat Pengantar penelusuran dan rekomendasi media.Dalam tutorial memulai ini, Anda akan menggunakan set data Movielens untuk menunjukkan cara mengupload katalog konten media ke Vertex AI Search. Set data Movielens berisi katalog film (dokumen).
Setelah mengupload data film, Anda akan membuat aplikasi penelusuran dan mengujinya melalui halaman pratinjau.
Jika Anda telah menyelesaikan tutorial Memulai rekomendasi media dan masih memiliki penyimpanan data (nama yang disarankan quickstart-media-data-store), Anda dapat menggunakan penyimpanan data tersebut, bukan
membuat penyimpanan data lain. Dalam hal ini, Anda harus memulai tutorial di
Membuat aplikasi untuk penelusuran media.
Estimasi waktu untuk menyelesaikan tutorial ini: ~1 jam.
Tujuan
- Mempelajari cara mengimpor dokumen media untuk membuat penyimpanan data media.
- Membuat, mengonfigurasi, dan menguji aplikasi penelusuran.
Sebelum mengikuti tutorial ini, pastikan Anda telah melakukan langkah-langkah di Sebelum Anda memulai.
Untuk mengikuti panduan langkah demi langkah untuk tugas ini langsung di Google Cloud konsol, klik Pandu saya:
Sebelum memulai
- Login ke akun Anda. Google Cloud Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Vertex AI Search (Discovery Engine), Cloud Storage, BigQuery APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Make sure that you have the following role or roles on the project: Discovery Engine Admin and BigQuery Admin.
Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
-
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
- For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.
Grant the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
- Click Grant access.
-
In the New principals field, enter your user identifier. This is typically the email address for a Google Account.
- Click Select a role, then search for the role.
- To grant additional roles, click Add another role and add each additional role.
- Click Save.
-
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Vertex AI Search (Discovery Engine), Cloud Storage, BigQuery APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Make sure that you have the following role or roles on the project: Discovery Engine Admin and BigQuery Admin.
Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
-
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
- For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.
Grant the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
- Click Grant access.
-
In the New principals field, enter your user identifier. This is typically the email address for a Google Account.
- Click Select a role, then search for the role.
- To grant additional roles, click Add another role and add each additional role.
- Click Save.
-
Menyiapkan set data
Catatan: Jika Anda telah menyelesaikan tutorial Memulai rekomendasi media dan masih memiliki penyimpanan data (nama yang disarankanquickstart-media-data-store), lanjutkan ke Membuat aplikasi untuk penelusuran media.
Anda menggunakan Cloud Shell untuk mengimpor set data Movielens dan menyusun ulang set data untuk Vertex AI Search for media.
Membuka Cloud Shell
- Buka Google Cloud konsol.
- Pilih project Anda. Google Cloud
- Catat project ID di kartu Project info di halaman dasbor. Anda akan memerlukan project ID untuk prosedur berikut.
Klik tombol Activate Cloud Shell di bagian atas konsol. Sesi Cloud Shell akan terbuka di dalam frame baru di bagian bawah Google Cloud konsol dan menampilkan prompt command line. Untuk mengetahui cara lain meluncurkan Cloud Shell, lihat Meluncurkan Cloud Shell.
Mengimpor set data
Set data Movielens tersedia di bucket Cloud Storage publik untuk memudahkan impor.
Jalankan perintah berikut menggunakan project ID Anda untuk menetapkan project default untuk command line.
gcloud config set project PROJECT_IDBuat set data BigQuery:
bq mk movielensMuat
movies.csvke dalam tabel BigQuerymoviesbaru:bq load --skip_leading_rows=1 movielens.movies \ gs://cloud-samples-data/gen-app-builder/media-recommendations/movies.csv \ movieId:integer,title,genresMuat
ratings.csvke dalam tabel BigQueryratingsbaru:bq load --skip_leading_rows=1 movielens.ratings \ gs://cloud-samples-data/gen-app-builder/media-recommendations/ratings.csv \ userId:integer,movieId:integer,rating:float,time:timestamp
Membuat tampilan BigQuery
Pada langkah ini, Anda akan menyusun ulang set data Movielens sehingga mengikuti format yang diharapkan untuk penyimpanan data media.
Untuk panduan ini, Anda akan membuat peristiwa pengguna view-item palsu selama 90 hari terakhir
dari rating positif (>= 4).
Buat tampilan yang mengonversi tabel film ke dalam skema
Documentskema:bq mk --project_id=PROJECT_ID \ --use_legacy_sql=false \ --view ' WITH t AS ( SELECT CAST(movieId AS string) AS id, SUBSTR(title, 0, 128) AS title, SPLIT(genres, "|") AS categories FROM `PROJECT_ID.movielens.movies`) SELECT id, "default_schema" as schemaId, null as parentDocumentId, TO_JSON_STRING(STRUCT(title as title, categories as categories, CONCAT("http://mytestdomain.movie/content/", id) as uri, "2023-01-01T00:00:00Z" as available_time, "2033-01-01T00:00:00Z" as expire_time, "movie" as media_type)) as jsonData FROM t;' \ movielens.movies_viewSekarang tampilan baru memiliki skema yang diharapkan Discovery Engine API.
Buka halaman BigQuery di Google Cloud konsol.
Di panel Explorer, luaskan nama project Anda, klik Datasets, pilih set data
movielens, lalu klikmovies_viewuntuk membuka halaman skema untuk tampilan ini.Atau, di panel Explorer , pilih tab Classic explorer , luaskan nama project Anda, luaskan set data
movielens, lalu klikmovies_viewuntuk membuka halaman skema untuk tampilan ini.
Buka tab Table explorer.
Di panel Generated query, klik tombol Copy to query. Editor kueri akan terbuka.
Klik Run untuk melihat data film dalam tampilan yang Anda buat.
Buat peristiwa pengguna fiktif dari rating film dengan menjalankan perintah Cloud Shell berikut:
bq mk --project_id=PROJECT_ID \ --use_legacy_sql=false \ --view ' WITH t AS ( SELECT MIN(UNIX_SECONDS(time)) AS old_start, MAX(UNIX_SECONDS(time)) AS old_end, UNIX_SECONDS(TIMESTAMP_SUB( CURRENT_TIMESTAMP(), INTERVAL 90 DAY)) AS new_start, UNIX_SECONDS(CURRENT_TIMESTAMP()) AS new_end FROM `PROJECT_ID.movielens.ratings`) SELECT CAST(userId AS STRING) AS userPseudoId, "view-item" AS eventType, FORMAT_TIMESTAMP("%Y-%m-%dT%X%Ez", TIMESTAMP_SECONDS(CAST( (t.new_start + (UNIX_SECONDS(time) - t.old_start) * (t.new_end - t.new_start) / (t.old_end - t.old_start)) AS int64))) AS eventTime, [STRUCT(movieId AS id, null AS name)] AS documents, FROM `PROJECT_ID.movielens.ratings`, t WHERE rating >= 4;' \ movielens.user_events
Mengaktifkan Vertex AI Search
Di Google Cloud konsol, buka halaman AI Applications.
Opsional: Klik Allow Google to selectively sample model input and responses.
Klik Continue and activate the API.
Membuat aplikasi untuk penelusuran media
Prosedur di bagian ini akan memandu Anda membuat dan men-deploy aplikasi penelusuran media.
Di Google Cloud konsol, buka halaman AI Applications.
Klik
Create app .Di halaman Create App, pada bagian Media catalog search, klik Create.
Di kolom Your app name , masukkan nama untuk aplikasi Anda, seperti
quickstart-media-search. ID aplikasi Anda akan muncul di bawah nama mesin.Klik Continue.
Jika Anda telah menyelesaikan tutorial Memulai rekomendasi media dan masih memiliki penyimpanan data (nama yang disarankan
quickstart-media-data-store), pilih penyimpanan data tersebut, klik Create, lalu lanjutkan ke Pratinjau penelusuran.Jika Anda tidak memiliki penyimpanan data yang berisi set data movielens, buat penyimpanan data baru dan pilih penyimpanan data tersebut:
Di halaman Data Stores, klik Create data store.
Masukkan nama tampilan untuk penyimpanan data Anda, seperti
quickstart-media-data-store, lalu klik Create.Pilih penyimpanan data yang baru saja Anda buat, lalu klik Create untuk membuat aplikasi. Anda akan dialihkan ke halaman Select a data source.
Mengimpor data
Selanjutnya, impor data film dan peristiwa pengguna yang diformat sebelumnya.
Mengimpor dokumen
Jika Anda tidak otomatis dialihkan ke halaman Select a data source:
- Buka tab Documents.
- Klik Import Data.
Di halaman Select a data source, pilih BigQuery.
Masukkan nama tampilan BigQuery
moviesyang Anda buat, lalu klik Import.PROJECT_ID.movielens.movies_viewTunggu hingga semua dokumen diimpor, yang akan memerlukan waktu sekitar 15 menit. Setelah selesai, akan ada 86.537 dokumen.
Anda dapat memeriksa status operasi impor di tab Activity. Setelah impor selesai, status operasi impor akan berubah menjadi Completed.
Mengimpor peristiwa pengguna
Buka tab Events.
Klik Import Events.
Pilih BigQuery.
Masukkan nama tampilan BigQuery
user_eventsyang Anda buat, lalu klik Import.PROJECT_ID.movielens.user_eventsAnda dapat melanjutkan ke langkah berikutnya sebelum peristiwa diimpor, tetapi hasil penelusuran belum akan berisi set data lengkap.
Anda dapat memeriksa status operasi di tab Activity. Proses ini memerlukan waktu sekitar satu jam karena Anda mengimpor jutaan baris.
Melihat pratinjau dan mengonfigurasi penelusuran
Di menu navigasi, klik
Configurations .Di kotak Search here, ketik nama film, seperti "The Lord of the Rings".
Perhatikan bahwa hasil penelusuran relevan dengan judul film yang dimasukkan.
Di halaman ini, Anda dapat menyesuaikan cara widget penelusuran menampilkan informasi hasil penelusuran. Lihat Mengonfigurasi hasil untuk widget penelusuran untuk mempelajari lebih lanjut.
Untuk aplikasi penelusuran media, Anda dapat:
- Mengonfigurasi kolom untuk penelusuran
- Mengonfigurasi pelengkapan otomatis
- Mengonfigurasi hasil penelusuran
Setelah melakukan perubahan, klik Save and publish untuk memperbarui widget.
Men-deploy widget penelusuran
Di menu navigasi, klik Integration.
Pastikan tab Widget dipilih.
Pilih JWT or OAuth based sebagai jenis otorisasi widget.
Di kolom Domain, masukkan nama domain untuk halaman web tempat Anda akan menempatkan widget. Misalnya, jika Anda akan menyalin widget ke halaman web
example.com/ai.html, masukkanexample.comsebagai domain.Klik Add, lalu klik Save.
Salin cuplikan kode yang disediakan di bagian Copy the following code to your web application.
Dalam codebase Anda, buat token otorisasi.
Untuk meneruskan token otorisasi ke widget, gunakan cuplikan kode "Set authorization token" yang disediakan di bagian Copy the following code to your web application dan ganti teks
<JWT or OAuth token provided by you backend>dengan token otorisasi Anda.Untuk mendapatkan bantuan dalam mengintegrasikan aplikasi penelusuran ke aplikasi web Anda, lihat contoh kode di Mendapatkan hasil penelusuran.
Pembersihan
Agar akunAnda tidak dikenai biaya untuk resource yang digunakan pada halaman ini, ikuti langkah-langkah berikut. Google Cloud
Anda dapat menggunakan kembali penyimpanan data yang dibuat untuk rekomendasi media di tutorial Memulai rekomendasi media. Coba tutorial tersebut sebelum melakukan prosedur pembersihan ini.
- Untuk menghindari tagihan yang tidak perlu Google Cloud , gunakan Google Cloud console untuk menghapus project Anda jika tidak lagi diperlukan.
- Jika Anda membuat project baru untuk mempelajari Vertex AI Search dan Anda tidak lagi memerlukan project tersebut, hapus project tersebut.
- Jika Anda menggunakan project yang sudah ada Google Cloud , hapus resource yang Anda buat untuk menghindari tagihan pada akun Anda. Untuk mengetahui informasi selengkapnya, lihat Menghapus aplikasi, Menghapus data dari penyimpanan data, dan Menghapus penyimpanan data.
- Ikuti langkah-langkah di Menonaktifkan Vertex AI Search.
Jika Anda membuat set data BigQuery, hapus set data tersebut di Cloud Shell:
bq rm --recursive --dataset movielens