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:

Pandu saya


Sebelum memulai

  1. 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.
  2. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  5. Make sure that you have the following role or roles on the project: Discovery Engine Admin and BigQuery Admin.

    Check for the roles

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. 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.

    4. 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

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. Click Grant access.
    4. In the New principals field, enter your user identifier. This is typically the email address for a Google Account.

    5. Click Select a role, then search for the role.
    6. To grant additional roles, click Add another role and add each additional role.
    7. Click Save.
  6. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  7. Verify that billing is enabled for your Google Cloud project.

  8. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  9. Make sure that you have the following role or roles on the project: Discovery Engine Admin and BigQuery Admin.

    Check for the roles

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. 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.

    4. 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

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. Click Grant access.
    4. In the New principals field, enter your user identifier. This is typically the email address for a Google Account.

    5. Click Select a role, then search for the role.
    6. To grant additional roles, click Add another role and add each additional role.
    7. Click Save.

Menyiapkan set data

Catatan: Jika Anda telah menyelesaikan tutorial Memulai rekomendasi media dan masih memiliki penyimpanan data (nama yang disarankan quickstart-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

  1. Buka Google Cloud konsol.
  2. Pilih project Anda. Google Cloud
  3. Catat project ID di kartu Project info di halaman dasbor. Anda akan 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 Google Cloud konsol dan menampilkan prompt command line. Untuk mengetahui cara lain meluncurkan Cloud Shell, lihat Meluncurkan Cloud Shell.

    Cloud Shell

Mengimpor set data

Set data Movielens tersedia di bucket Cloud Storage publik untuk memudahkan 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 dalam 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 dalam 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 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).

  1. Buat tampilan yang mengonversi tabel film ke dalam skema Document skema:

    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 Discovery Engine API.

  2. Buka halaman BigQuery di Google Cloud konsol.

    Buka BigQuery

  3. Di panel Explorer, luaskan nama project Anda, klik Datasets, pilih set data movielens, lalu klik movies_view untuk membuka halaman skema untuk tampilan ini.

    Atau, di panel Explorer , pilih tab Classic explorer , luaskan nama project Anda, luaskan set data movielens , lalu klik movies_view untuk membuka halaman skema untuk tampilan ini. Tampilan produk

  4. Buka tab Table explorer. Tampilan produk

  5. Di panel Generated query, klik tombol Copy to query. Editor kueri akan terbuka.

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

  7. 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

  1. Di Google Cloud konsol, buka halaman AI Applications.

    AI Applications

  2. Opsional: Klik Allow Google to selectively sample model input and responses.

  3. Klik Continue and activate the API.

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

  1. Di Google Cloud konsol, buka halaman AI Applications.

    AI Applications

  2. Klik Create app.

  3. Di halaman Create App, pada bagian Media catalog search, klik Create.

  4. Di kolom Your app name , masukkan nama untuk aplikasi Anda, seperti quickstart-media-search. ID aplikasi Anda akan muncul di bawah nama mesin.

  5. Klik Continue.

  6. 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.

  7. Jika Anda tidak memiliki penyimpanan data yang berisi set data movielens, buat penyimpanan data baru dan pilih penyimpanan data tersebut:

    1. Di halaman Data Stores, klik Create data store.

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

    3. 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

  1. Jika Anda tidak otomatis dialihkan ke halaman Select a data source:

    • Buka tab Documents.
    • Klik Import Data.
  2. Di halaman Select a data source, pilih BigQuery.

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

    PROJECT_ID.movielens.movies_view
    
  4. Tunggu 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

  1. Buka tab Events.

  2. Klik Import Events.

  3. Pilih BigQuery.

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

    PROJECT_ID.movielens.user_events
    
  5. Anda 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.

  1. Di menu navigasi, klik Configurations.

  2. Di kotak Search here, ketik nama film, seperti "The Lord of the Rings".

  3. Perhatikan bahwa hasil penelusuran relevan dengan judul film yang dimasukkan.

  4. 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:

    Setelah melakukan perubahan, klik Save and publish untuk memperbarui widget.

Men-deploy widget penelusuran

  1. Di menu navigasi, klik Integration.

  2. Pastikan tab Widget dipilih.

  3. Pilih JWT or OAuth based sebagai jenis otorisasi widget.

  4. 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, masukkan example.com sebagai domain.

  5. Klik Add, lalu klik Save.

  6. Salin cuplikan kode yang disediakan di bagian Copy the following code to your web application.

  7. Dalam codebase Anda, buat token otorisasi.

  8. 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.

  9. 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.

  1. Untuk menghindari tagihan yang tidak perlu Google Cloud , gunakan Google Cloud console untuk menghapus project Anda jika tidak lagi diperlukan.
  2. Jika Anda membuat project baru untuk mempelajari Vertex AI Search dan Anda tidak lagi memerlukan project tersebut, hapus project tersebut.
  3. 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.
  4. Ikuti langkah-langkah di Menonaktifkan Vertex AI Search.
  5. Jika Anda membuat set data BigQuery, hapus set data tersebut di Cloud Shell:

    bq rm --recursive --dataset movielens
    

Langkah berikutnya