Premiers pas avec la recherche multimédia

Vous pouvez créer rapidement une application de recherche multimédia de pointe. Celle-ci permet à vos audiences de découvrir du contenu, avec des résultats de qualité Google.

Pour en savoir plus sur Vertex AI Search pour les contenus multimédias, consultez la Présentation de la recherche et des recommandations multimédias.

Dans ce tutoriel de démarrage, vous allez utiliser l'ensemble de données MovieLens pour démontrer comment importer votre catalogue de contenus multimédias dans Vertex AI Search. L'ensemble de données MovieLens contient un catalogue de films (documents).

Après avoir importé les données du film, vous allez créer une application de recherche et la tester via la page d'aperçu.

Si vous avez suivi le tutoriel Premiers pas avec les recommandations de contenus multimédias et que vous avez toujours le data store (nom suggéréquickstart-media-data-store), vous pouvez utiliser ce datastore au lieu d'en créer un autre. Dans ce cas, vous devez commencer le tutoriel à l'étape Créer une application pour la recherche multimédia.

Durée estimée pour suivre ce tutoriel : environ une heure.

Objectifs

  • Découvrez comment importer des documents multimédias pour créer un datastore multimédia.
  • Créez, configurez et testez une application de recherche.

Avant de suivre ce tutoriel, assurez-vous d'avoir effectué les étapes de la section Avant de commencer.


Pour obtenir des instructions détaillées sur cette tâche directement dans la console Google Cloud, cliquez sur Visite guidée :

Visite guidée


Avant de commencer

  1. Connectez-vous à votre compte Google Cloud. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
  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

Préparer l'ensemble de données

Remarque: Si vous avez terminé le tutoriel Premiers pas avec les recommandations de médias et que vous disposez toujours du data store (nom suggéré quickstart-media-data-store), passez à l'étape Créer une application pour la recherche de médias.

Vous allez utiliser Cloud Shell pour importer l'ensemble de données MovieLens et restructurer l'ensemble de données pour Vertex AI Search for Media.

Ouvrir Cloud Shell

  1. Ouverts Console Google Cloud
  2. Sélectionnez votre projet Google Cloud.
  3. Notez l'ID du projet dans la fiche Informations sur le projet du tableau de bord. . Vous aurez besoin de l'ID du projet pour les procédures suivantes.
  4. Cliquez sur le bouton Activer Cloud Shell en haut de la console. Une session Cloud Shell s'ouvre dans un nouveau cadre en bas de la console Google Cloud et affiche une invite de ligne de commande.

    Cloud Shell

Importer l'ensemble de données

Pour faciliter l'importation, l'ensemble de données MovieLens est disponible dans un bucket Cloud Storage public.

  1. Exécutez la commande suivante en utilisant votre ID de projet pour définir le projet par défaut pour la ligne de commande.

    gcloud config set project PROJECT_ID
    
  2. Créez un ensemble de données BigQuery :

    bq mk movielens
    
  3. Chargez movies.csv dans une nouvelle table BigQuery movies :

    bq load --skip_leading_rows=1 movielens.movies \
      gs://cloud-samples-data/gen-app-builder/media-recommendations/movies.csv \
      movieId:integer,title,genres
    
  4. Chargez ratings.csv dans une nouvelle table BigQuery ratings :

    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
    

Créer des vues BigQuery

Au cours de cette étape, vous allez restructurer l'ensemble de données MovieLens afin qu'il respecte le format attendu pour les datastores multimédias.

Pour ce guide, vous allez créer de faux événements utilisateur view-item au cours des 90 derniers jours à partir de notes positives (< 4).

  1. Créez une vue qui convertit la table des films dans le schéma Document :

    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
    

    La nouvelle vue comporte maintenant le schéma attendu par l'API Vertex AI Agent Builder.

  2. Accédez à la page BigQuery de la console Google Cloud.

    Accéder à BigQuery

  3. Dans le volet Explorateur, développez le nom de votre projet, développez l'ensemble de données movielens, puis cliquez sur movies_view pour ouvrir la la page de requête pour cette vue.

    Vue des produits

  4. Accédez à l'onglet Explorateur de tables.

  5. Dans le volet Requête générée, cliquez sur le bouton Copier dans la requête. L'éditeur de requête s'ouvre.

  6. Cliquez sur Exécuter pour afficher les données du film dans la vue que vous avez créée.

  7. Créez des événements utilisateur fictifs à partir des évaluations de films en exécutant la commande Cloud Shell suivante :

    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
    

Activer Vertex AI Agent Builder

  1. Dans la console Google Cloud, accédez à la page Agent Builder.

    Agent Builder

  2. Lisez et acceptez les conditions d'utilisation, puis cliquez sur Continuer et activer l'API.

Les procédures de cette section vous guident tout au long de la création et du déploiement d'une application de recherche de contenus multimédias.

  1. Dans la console Google Cloud, accédez à la page Agent Builder.

    Agent Builder

  2. Cliquez sur Créer l'application.

  3. Sur la page Créer une application, sélectionnez Recherche.

  4. Sous Contenu, cliquez sur Médias.

  5. Dans le champ Nom de votre application, saisissez le nom de votre application, par exemple quickstart-media-search. L'ID de votre application s'affiche sous le nom de l'application.

  6. Cliquez sur Continuer.

  7. Si vous avez terminé le tutoriel Premiers pas avec les recommandations de médias et que vous disposez toujours du data store (nom suggéré : quickstart-media-data-store), sélectionnez-le, cliquez sur Créer et passez à Prévisualiser la recherche.

  8. Si vous n'avez pas de datastore contenant l'ensemble de données MovieLens, créez un datastore et sélectionnez-le :

    1. Sur la page Datastores, cliquez sur Créer un data store.

    2. Saisissez un nom à afficher pour votre datastore, tel que quickstart-media-data-store, puis cliquez sur Créer.

    3. Sélectionnez le datastore que vous venez de créer, puis cliquez sur Créer pour créer votre application. Vous serez redirigé vers la page Sélectionner une source de données.

Importer des données

Importez ensuite les films et les données d'événements utilisateur qui ont été formatés précédemment.

Importer des documents

  1. Si vous n'êtes pas automatiquement redirigé vers la page Sélectionner une source de données :

    • Ouvrez l'onglet Documents.
    • Cliquez sur Import data (Importer les données).
  2. Sur la page Sélectionner une source de données, choisissez BigQuery.

  3. Saisissez le nom de la vue BigQuery movies que vous avez créée, puis cliquez sur Importer.

    PROJECT_ID.movielens.movies_view
    
  4. Attendez que tous les documents aient été importés, ce qui devrait prendre environ 15 minutes. Il devrait y avoir 86 537 documents une fois l'opération terminée.

    Vous pouvez consulter l'onglet Activité pour connaître l'état de l'opération d'importation. Une fois l'importation terminée, l'état de l'opération d'importation devient Terminée.

Importer des événements utilisateur

  1. Ouvrez l'onglet Événements.

  2. Cliquez sur Importer des événements.

  3. Sélectionnez BigQuery.

  4. Saisissez le nom de la vue BigQuery user_events que vous avez créée, puis cliquez sur Importer.

    PROJECT_ID.movielens.user_events
    
  5. Vous pouvez passer à l'étape suivante avant l'importation des événements, mais les résultats de recherche ne contiendront pas encore l'ensemble de données complet.

    Vous pouvez consulter l'onglet Activité pour connaître l'état de l'opération. Le processus prend environ une heure, car vous importez des millions de lignes.

  1. Dans le menu de navigation, cliquez sur Configurations.

  2. Dans le champ Rechercher ici, saisissez le nom d'un film, par exemple "Le Seigneur des anneaux".

  3. Notez que les résultats de la recherche sont pertinents par rapport au titre du film saisi.

  4. Sur cette page, vous pouvez personnaliser l'affichage des informations sur les résultats de recherche dans le widget Recherche. Pour en savoir plus, consultez la section Configurer les résultats du widget Recherche.

    Pour les applications de recherche de contenus multimédias, vous pouvez :

    Une fois les modifications effectuées, cliquez sur Enregistrer et publier pour mettre à jour le widget.

Déployer le widget Recherche

  1. Dans le menu de navigation, cliquez sur Intégration.

  2. Assurez-vous que l'onglet Widget est sélectionné.

  3. Sélectionnez le type d'autorisation de widget Basé sur JWT ou OAuth.

  4. Dans le champ Domaine, saisissez le nom de domaine de la page Web sur laquelle vous allez placer le widget. Par exemple, si vous souhaitez copier le widget sur la page Web example.com/ai.html, saisissez example.com comme domaine.

  5. Cliquez sur Ajouter, puis sur Enregistrer.

  6. Copiez l'extrait de code fourni dans la section Copiez le code suivant dans votre application Web.

  7. Dans votre codebase, générez un jeton d'autorisation.

  8. Pour transmettre le jeton d'autorisation à votre widget, utilisez l'extrait de code "Définir le jeton d'autorisation" fourni dans la section Copier le code suivant dans votre application Web et remplacez le texte <JWT or OAuth token provided by you backend> avec votre jeton d'autorisation.

  9. Pour découvrir comment intégrer l'application de recherche à votre application Web, consultez les exemples de code dans la section Obtenir des résultats de recherche.

Effectuer un nettoyage

Pour éviter que les ressources utilisées sur cette page soient facturées sur votre compte Google Cloud, procédez comme suit :

Vous pouvez réutiliser le datastore que vous avez créé pour les recommandations de médias dans le tutoriel Premiers pas avec les recommandations de médias. Suivez ce tutoriel avant d'effectuer cette procédure de nettoyage.

  1. Pour éviter des frais Google Cloud inutiles, supprimez votre projet à l'aide de la console Google Cloud si vous n'en avez plus besoin.
  2. Si vous avez créé un projet pour apprendre à utiliser les instances Vertex AI Agent Builder et que vous n'en avez plus besoin, supprimez-le.
  3. Si vous avez utilisé un projet Google Cloud existant, supprimez les ressources que vous avez créées pour éviter que des frais ne soient facturés sur votre compte. Pour en savoir plus, consultez Supprimer une application, Supprimer définitivement les données d'un datastore et Supprimer un datastore.
  4. Suivez la procédure décrite dans Désactiver Vertex AI Agent Builder.
  5. Si vous avez créé un ensemble de données BigQuery, supprimez-le dans Cloud Shell :

    bq rm --recursive --dataset movielens
    

Étape suivante