Mulai menggunakan rekomendasi media

Anda dapat dengan cepat membuat aplikasi rekomendasi media yang canggih. Rekomendasi media memungkinkan audiens Anda menemukan konten yang lebih dipersonalisasi, seperti apa yang akan ditonton atau dibaca selanjutnya, dengan hasil berkualitas Google yang disesuaikan berdasarkan tujuan pengoptimalan.

Untuk informasi umum tentang Vertex AI Search untuk media, lihat Pengantar penelusuran dan rekomendasi media.

Dalam tutorial memulai ini, Anda akan menggunakan set data Movielens untuk menunjukkan cara mengupload katalog konten media dan peristiwa pengguna ke Vertex AI Search serta melatih model rekomendasi film yang dipersonalisasi. Set data Movielens berisi katalog film (dokumen) dan rating film pengguna (peristiwa pengguna).

Dalam tutorial ini, Anda akan melatih model rekomendasi jenis Lainnya yang Mungkin Anda Sukai yang dioptimalkan untuk rasio klik-tayang (CTR). Setelah dilatih, model dapat merekomendasikan film berdasarkan ID pengguna dan film awal.

Untuk memenuhi persyaratan data minimum bagi model, setiap rating film positif (4 atau lebih tinggi) diperlakukan sebagai peristiwa item tampilan.

Perkiraan waktu untuk menyelesaikan tutorial ini:

Jika Anda telah menyelesaikan tutorial Memulai penelusuran 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 rekomendasi media.

Tujuan

  • Pelajari cara mengimpor dokumen media dan data peristiwa pengguna dari BigQuery ke Vertex AI Search.
  • Melatih dan mengevaluasi model rekomendasi.

Sebelum mengikuti tutorial ini, pastikan Anda telah melakukan langkah-langkah di Sebelum memulai.


Jika ingin mengikuti panduan langkah demi langkah untuk tugas ini langsung di Konsol Google Cloud, klik Pandu saya:

Pandu saya


Sebelum memulai

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Vertex AI Agent Builder, Cloud Storage, BigQuery APIs.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Vertex AI Agent Builder, Cloud Storage, BigQuery APIs.

    Enable the APIs

Menyiapkan set data

Anda menggunakan Cloud Shell untuk mengimpor set data Movielens dan menyusun ulang set data untuk Vertex AI Search untuk media.

Buka Cloud Shell

  1. Buka konsol Google Cloud.
  2. Pilih project Google Cloud Anda.
  3. Catat project ID di kartu Project info di halaman dasbor. Anda memerlukan project ID untuk prosedur berikut.
  4. Klik tombol Activate Cloud Shell di bagian atas konsol. Sesi Cloud Shell akan terbuka di dalam frame baru di bagian bawah Konsol Google Cloud dan menampilkan perintah command line.

    Cloud Shell

Mengimpor set data

Set data Movielens tersedia di bucket Cloud Storage publik untuk mempermudah impor.

  1. Jalankan perintah berikut menggunakan project ID Anda untuk menetapkan project default untuk command line.

    gcloud config set project PROJECT_ID
    
  2. Buat set data BigQuery:

    bq mk movielens
    
  3. Muat movies.csv ke tabel BigQuery movies baru:

    bq load --skip_leading_rows=1 movielens.movies \
      gs://cloud-samples-data/gen-app-builder/media-recommendations/movies.csv \
      movieId:integer,title,genres
    
  4. Muat ratings.csv ke tabel BigQuery ratings baru:

    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 agar mengikuti format yang diharapkan untuk rekomendasi media. Rekomendasi media memerlukan data peristiwa pengguna untuk membuat model. Untuk panduan ini, Anda akan membuat peristiwa view-item palsu selama 90 hari terakhir dari rating positif (< 4).

  1. Buat tampilan yang mengonversi tabel film menjadi skema Document yang ditentukan Google:

    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_view
    

    Sekarang, tampilan baru memiliki skema yang diharapkan Vertex AI Agent Builder API.

  2. Buka halaman BigQuery di konsol Google Cloud.

    Buka BigQuery

  3. Di panel Penjelajah, luaskan nama project Anda, luaskan set data movielens, lalu klik movies_view untuk membuka halaman kueri untuk tampilan ini.

    Tampilan produk

  4. Buka tab Penjelajah tabel.

  5. Di panel Kueri yang dihasilkan, klik tombol Salin ke kueri. Editor kueri akan terbuka.

  6. Klik Jalankan untuk melihat data film dalam tampilan yang Anda buat.

  7. Buat fictive peristiwa pengguna 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 Agent Builder

  1. Di konsol Google Cloud, buka halaman Agent Builder.

    Agent Builder

  2. Baca dan setujui Persyaratan Layanan, lalu klik Lanjutkan dan aktifkan API.

Membuat aplikasi untuk rekomendasi media

Prosedur di bagian ini memandu Anda membuat dan men-deploy aplikasi rekomendasi media.

  1. Di konsol Google Cloud, buka halaman Agent Builder.

    Agent Builder

  2. Klik Create app.

  3. Di halaman Buat aplikasi, pada bagian Rekomendasi media, klik Buat.

  4. Di kolom Nama aplikasi, masukkan nama untuk aplikasi Anda, seperti quickstart-media-recommendations. ID aplikasi Anda akan muncul di bagian nama aplikasi.

  5. Di bagian Jenis rekomendasi, pastikan Lainnya yang mungkin Anda sukai dipilih.

  6. Di bagian Tujuan Bisnis, pastikan Rasio klik-tayang (CTR) dipilih.

  7. Klik Lanjutkan.

  8. Jika Anda telah menyelesaikan tutorial Memulai penelusuran media dan masih memiliki penyimpanan data (nama yang disarankan quickstart-media-data-store), pilih penyimpanan data tersebut, klik Buat, lalu lanjutkan ke Melatih model rekomendasi.

  9. Di halaman Data Store, klik Create data store.

  10. Masukkan nama tampilan untuk penyimpanan data Anda, seperti quickstart-media-data-store, lalu klik Create.

  11. Pilih penyimpanan data yang baru saja Anda buat, lalu klik Create untuk membuat aplikasi.

Mengimpor data

Selanjutnya, impor data film dan peristiwa pengguna yang diformat sebelumnya.

Mengimpor dokumen

  1. Di bagian Sumber native pada halaman Impor dokumen, pilih BigQuery.

  2. Masukkan nama tampilan BigQuery movies yang Anda buat, lalu klik Import.

    PROJECT_ID.movielens.movies_view
    
  3. Tunggu hingga semua dokumen diimpor, yang akan memerlukan waktu sekitar 15 menit. Setelah selesai, akan ada 86.537 dokumen.

    Anda dapat memeriksa tab Aktivitas untuk mengetahui status operasi impor. Setelah impor selesai, status operasi impor akan berubah menjadi Selesai.

Mengimpor peristiwa pengguna

  1. Pada tab Peristiwa, klik Impor Peristiwa.

  2. Di bagian Sumber native pada halaman Impor dokumen, pilih BigQuery.

  3. Masukkan nama tampilan BigQuery user_events yang Anda buat, lalu klik Import.

    PROJECT_ID.movielens.user_events
    
  4. Tunggu hingga minimal satu juta peristiwa telah diimpor sebelum melanjutkan ke langkah berikutnya, untuk memenuhi persyaratan data guna melatih model baru.

    Anda dapat memeriksa tab Aktivitas untuk mengetahui status operasi. Proses ini memerlukan waktu sekitar satu jam untuk diselesaikan karena Anda mengimpor jutaan baris.

  5. Untuk melihat apakah persyaratan telah terpenuhi, buka tab Kualitas data > Persyaratan. Meskipun setelah peristiwa pengguna diimpor, tab Persyaratan mungkin memerlukan waktu beberapa saat untuk memperbarui statusnya menjadi Persyaratan data terpenuhi.

Melatih model rekomendasi

  1. Buka halaman Konfigurasi.

  2. Klik tab Penayangan. Konfigurasi penayangan telah dibuat.

    Jika ingin menyesuaikan setelan Penurunan rekomendasi atau Diversifikasi hasil, Anda dapat melakukannya di halaman ini.

  3. Klik tab Pelatihan.

    Setelah persyaratan data terpenuhi, model akan mulai dilatih secara otomatis. Anda dapat melihat status pelatihan dan penyesuaian di halaman ini.

    Mungkin perlu waktu beberapa hari agar model dilatih dan siap untuk mengirim kueri. Kolom Ready to query menunjukkan Yes saat proses selesai. Anda perlu memuat ulang halaman untuk melihat perubahan Tidak menjadi Ya.

Pratinjau rekomendasi

Setelah model siap untuk membuat kueri:

  1. Di menu navigasi, klik Pratinjau.

  2. Klik kolom Document ID. Daftar ID dokumen akan muncul.

  3. Masukkan ID dokumen (film) seed, seperti 4993 untuk "The Lord of the Rings: The Fellowship of the Ring (2001)".

    Masukkan ID

  4. Pilih nama Konfigurasi penayangan dari menu drop-down.

  5. Klik Dapatkan rekomendasi. Daftar dokumen yang direkomendasikan akan muncul.

Men-deploy aplikasi untuk data terstruktur

Tidak ada widget rekomendasi untuk men-deploy aplikasi. Untuk menguji aplikasi sebelum deployment:

  1. Buka halaman Data, tab Dokumen, lalu salin ID dokumen.

  2. Buka halaman Integrasi. Halaman ini menyertakan contoh perintah untuk metode servingConfigs.recommend di REST API.

  3. Tempel ID dokumen yang Anda salin sebelumnya ke kolom Document ID.

  4. Biarkan kolom User Pseudo ID apa adanya.

  5. Salin contoh permintaan dan jalankan di Cloud Shell.

Untuk mendapatkan bantuan dalam mengintegrasikan aplikasi rekomendasi ke aplikasi web Anda, lihat contoh kode di Mendapatkan rekomendasi media.

Pembersihan

Agar tidak menimbulkan biaya pada akun Google Cloud Anda untuk resource yang digunakan pada halaman ini, ikuti langkah-langkah berikut.

Anda dapat menggunakan kembali penyimpanan data yang dibuat untuk penelusuran media dalam tutorial Memulai penelusuran media. Coba tutorial tersebut sebelum melakukan prosedur pembersihan ini.

  1. Untuk menghindari tagihan Google Cloud yang tidak perlu, gunakan Konsol Google Cloud untuk menghapus project jika Anda tidak memerlukannya.
  2. Jika Anda membuat project baru untuk mempelajari Vertex AI Agent Builder dan Anda tidak lagi memerlukan project tersebut, hapus project tersebut.
  3. Jika Anda menggunakan project Google Cloud yang sudah ada, hapus resource yang dibuat untuk menghindari tagihan pada akun Anda. Untuk mengetahui informasi selengkapnya, lihat Menghapus aplikasi.
  4. Ikuti langkah-langkah di Menonaktifkan Vertex AI Agent Builder.
  5. Jika Anda membuat set data BigQuery, hapus di Cloud Shell:

    bq rm --recursive --dataset movielens
    

Langkah selanjutnya