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 :
Avant de commencer
- 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.
-
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 Vertex AI Agent Builder, Cloud Storage, BigQuery APIs.
-
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 Vertex AI Agent Builder, Cloud Storage, BigQuery APIs.
Préparer l'ensemble de données
Remarque: 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
), passez à Créer une application pour la recherche multimédia.
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
- Ouvrez la console Google Cloud.
- Sélectionnez votre projet Google Cloud.
- Notez l'ID du projet dans la fiche Informations sur le projet de la page du tableau de bord. Vous aurez besoin de l'ID du projet pour les procédures suivantes.
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.
Importer l'ensemble de données
Pour faciliter l'importation, l'ensemble de données MovieLens est disponible dans un bucket Cloud Storage public.
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
Créez un ensemble de données BigQuery :
bq mk movielens
Chargez
movies.csv
dans une nouvelle table BigQuerymovies
:bq load --skip_leading_rows=1 movielens.movies \ gs://cloud-samples-data/gen-app-builder/media-recommendations/movies.csv \ movieId:integer,title,genres
Chargez
ratings.csv
dans une nouvelle table BigQueryratings
: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
).
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.
Accédez à la page BigQuery de la console Google Cloud.
Dans le volet Explorateur, développez le nom de votre projet, développez l'ensemble de données
movielens
, puis cliquez surmovies_view
pour ouvrir la la page de requête pour cette vue.Accédez à l'onglet Explorateur de tables.
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.
Cliquez sur Exécuter pour afficher les données du film dans la vue que vous avez créée.
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
Dans la console Google Cloud, accédez à la page Agent Builder.
Lisez et acceptez les conditions d'utilisation, puis cliquez sur Continuer et activer l'API.
Créer une application pour la recherche multimédia
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.
Dans la console Google Cloud, accédez à la page Agent Builder.
Cliquez sur
Créer l'application .Sur la page Créer une application, sous Recherche dans le catalogue multimédia, cliquez sur Créer.
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.Cliquez sur Continuer.
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
), sélectionnez-le, cliquez sur Créer et passez à Prévisualiser la recherche.Si vous n'avez pas de datastore contenant l'ensemble de données MovieLens, créez un datastore et sélectionnez-le :
Sur la page Datastores, cliquez sur Créer un data store.
Saisissez un nom à afficher pour votre datastore, tel que
quickstart-media-data-store
, puis cliquez sur Créer.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
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).
Sur la page Sélectionner une source de données, choisissez BigQuery.
Saisissez le nom de la vue BigQuery
movies
que vous avez créée, puis cliquez sur Importer.PROJECT_ID.movielens.movies_view
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
Ouvrez l'onglet Événements.
Cliquez sur Importer des événements.
Sélectionnez BigQuery.
Saisissez le nom de la vue BigQuery
user_events
que vous avez créée, puis cliquez sur Importer.PROJECT_ID.movielens.user_events
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.
Prévisualiser et configurer la recherche
Dans le menu de navigation, cliquez sur
Configurations .Dans le champ Rechercher ici, saisissez le nom d'un film, par exemple "Le Seigneur des anneaux".
Notez que les résultats de la recherche sont pertinents par rapport au titre du film saisi.
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 :
- Configurer les champs pour la recherche
- Configurer la saisie semi-automatique
- Configurer les résultats de recherche
Une fois les modifications effectuées, cliquez sur Enregistrer et publier pour mettre à jour le widget.
Déployer le widget Recherche
Dans le menu de navigation, cliquez sur Intégration.
Assurez-vous que l'onglet Widget est sélectionné.
Sélectionnez le type d'autorisation de widget Basé sur JWT ou OAuth.
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
, saisissezexample.com
comme domaine.Cliquez sur Ajouter, puis sur Enregistrer.
Copiez l'extrait de code fourni dans la section Copiez le code suivant dans votre application Web.
Dans votre codebase, générez un jeton d'autorisation.
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.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.
- Pour éviter des frais Google Cloud inutiles, supprimez votre projet à l'aide de la console Google Cloud si vous n'en avez plus besoin.
- 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.
- 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.
- Suivez la procédure décrite dans Désactiver Vertex AI Agent Builder.
Si vous avez créé un ensemble de données BigQuery, supprimez-le dans Cloud Shell :
bq rm --recursive --dataset movielens