GSP1246
Présentation
Dans cet atelier, vous allez apprendre à utiliser BigQuery Machine Learning
avec des modèles distants (Gemini) en SQL pour extraire des mots clés, évaluer
les sentiments exprimés dans les avis clients et répondre aux avis clients
avec des prompts zero-shot et few-shot.
BigQuery est une plate-forme d'analyse de données entièrement gérée et
compatible avec l'IA, conçue pour être multimoteur, multiformat et multicloud.
Elle vous aide à maximiser la valeur de vos données. BigQuery
Machine Learning, l'une de ses fonctionnalités essentielles, vous permet de
créer et d'exécuter des modèles de machine learning (ML)
à l'aide de requêtes SQL ou avec des notebooks Colab Enterprise.
Gemini
est une famille de modèles d'IA générative développés par Google DeepMind, et
conçus pour les cas d'utilisation multimodaux. L'API Gemini vous donne accès
aux
modèles Gemini.
Vous allez également exploiter le modèle Gemini pour générer des résumés et
extraire les mots clés pertinents d'images d'avis clients.
Objectifs
Dans cet atelier, vous allez apprendre à :
- créer une connexion à une ressource cloud dans BigQuery ;
- créer l'ensemble de données et les tables dans BigQuery ;
- créer les modèles distants Gemini dans BigQuery ;
-
demander à Gemini d'analyser les mots clés et les sentiments (positifs ou
négatifs) des avis clients textuels ;
- générer un rapport avec le nombre d'avis positifs et négatifs ;
- répondre aux avis clients ;
-
demander à Gemini d'extraire un résumé et les mots clés pour chaque image
d'avis client.
Préparation
Avant de cliquer sur le bouton "Démarrer l'atelier"
Lisez ces instructions. Les ateliers sont minutés, et vous ne pouvez pas les mettre en pause. Le minuteur, qui démarre lorsque vous cliquez sur Démarrer l'atelier, indique combien de temps les ressources Google Cloud resteront accessibles.
Cet atelier pratique vous permet de suivre les activités dans un véritable environnement cloud, et non dans un environnement de simulation ou de démonstration. Des identifiants temporaires vous sont fournis pour vous permettre de vous connecter à Google Cloud le temps de l'atelier.
Pour réaliser cet atelier :
- Vous devez avoir accès à un navigateur Internet standard (nous vous recommandons d'utiliser Chrome).
Remarque : Ouvrez une fenêtre de navigateur en mode incognito (recommandé) ou de navigation privée pour effectuer cet atelier. Vous éviterez ainsi les conflits entre votre compte personnel et le compte temporaire de participant, qui pourraient entraîner des frais supplémentaires facturés sur votre compte personnel.
- Vous disposez d'un temps limité. N'oubliez pas qu'une fois l'atelier commencé, vous ne pouvez pas le mettre en pause.
Remarque : Utilisez uniquement le compte de participant pour cet atelier. Si vous utilisez un autre compte Google Cloud, des frais peuvent être facturés à ce compte.
Démarrer l'atelier et se connecter à la console Google Cloud
-
Cliquez sur le bouton Démarrer l'atelier. Si l'atelier est payant, une boîte de dialogue s'affiche pour vous permettre de sélectionner un mode de paiement.
Sur la gauche, vous trouverez le panneau "Détails concernant l'atelier", qui contient les éléments suivants :
- Le bouton "Ouvrir la console Google Cloud"
- Le temps restant
- Les identifiants temporaires que vous devez utiliser pour cet atelier
- Des informations complémentaires vous permettant d'effectuer l'atelier
-
Cliquez sur Ouvrir la console Google Cloud (ou effectuez un clic droit et sélectionnez Ouvrir le lien dans la fenêtre de navigation privée si vous utilisez le navigateur Chrome).
L'atelier lance les ressources, puis ouvre la page "Se connecter" dans un nouvel onglet.
Conseil : Réorganisez les onglets dans des fenêtres distinctes, placées côte à côte.
Remarque : Si la boîte de dialogue Sélectionner un compte s'affiche, cliquez sur Utiliser un autre compte.
-
Si nécessaire, copiez le nom d'utilisateur ci-dessous et collez-le dans la boîte de dialogue Se connecter.
{{{user_0.username | "Username"}}}
Vous trouverez également le nom d'utilisateur dans le panneau "Détails concernant l'atelier".
-
Cliquez sur Suivant.
-
Copiez le mot de passe ci-dessous et collez-le dans la boîte de dialogue Bienvenue.
{{{user_0.password | "Password"}}}
Vous trouverez également le mot de passe dans le panneau "Détails concernant l'atelier".
-
Cliquez sur Suivant.
Important : Vous devez utiliser les identifiants fournis pour l'atelier. Ne saisissez pas ceux de votre compte Google Cloud.
Remarque : Si vous utilisez votre propre compte Google Cloud pour cet atelier, des frais supplémentaires peuvent vous être facturés.
-
Accédez aux pages suivantes :
- Acceptez les conditions d'utilisation.
- N'ajoutez pas d'options de récupération ni d'authentification à deux facteurs (ce compte est temporaire).
- Ne vous inscrivez pas à des essais sans frais.
Après quelques instants, la console Cloud s'ouvre dans cet onglet.
Remarque : Pour accéder aux produits et services Google Cloud, cliquez sur le menu de navigation ou saisissez le nom du service ou du produit dans le champ Recherche.
Tâche 1 : Créer la connexion à une ressource cloud et attribuer un rôle IAM
Créer la connexion à une ressource cloud dans BigQuery
Dans cette tâche, vous allez créer une connexion à une ressource cloud dans
BigQuery pour pouvoir travailler avec les modèles Gemini. Vous allez également
accorder des autorisations IAM au compte de service de la connexion à la
ressource cloud en lui attribuant un rôle, afin de lui permettre d'accéder aux
services Agent Platform.
Ouvrir la console BigQuery
- Dans la console Google Cloud, sélectionnez le menu de navigation > BigQuery.
Le message Bienvenue sur BigQuery dans Cloud Console s'affiche. Il contient un lien vers le guide de démarrage rapide et les notes de version.
- Cliquez sur OK.
La console BigQuery s'ouvre.
-
Accédez au volet Explorateur, cliquez sur
+ Ajouter des données, puis saisissez
Agent Platform dans le champ
Rechercher des sources de données.
-
Cliquez sur le résultat Agent Platform, puis sur
Fédération BigQuery.
-
Dans la liste "Type de connexion", sélectionnez
Modèles distants Agent Platform, fonctions à distance et Lakehouse
(Ressource Cloud).
-
Dans le champ "ID de connexion", saisissez
gemini_conn pour votre connexion.
-
Sélectionnez Multirégional comme
Type d'emplacement, puis États-Unis dans
le menu déroulant.
-
Utilisez les valeurs par défaut des autres paramètres.
-
Cliquez sur Créer une connexion.
-
Cliquez sur Accéder à la connexion.
-
Copiez l'ID de compte de service indiqué dans le volet "Informations de
connexion" dans un fichier texte. Vous en aurez besoin à l'étape suivante.
Vous verrez également que la connexion est ajoutée sous la section
"Connexions externes" de votre projet dans l'explorateur BigQuery.
Attribuer le rôle d'utilisateur Agent Platform au compte de service de la
connexion
-
Dans le menu de navigation de la console, cliquez sur
IAM et administration.
-
Cliquez sur Accorder l'accès.
-
Dans le champ Nouveaux comptes principaux, saisissez l'ID
de compte de service que vous avez copié précédemment.
-
Dans le champ "Sélectionner un rôle", saisissez
Agent Platform, puis choisissez le rôle
Utilisateur Agent Platform.
-
Cliquez sur Enregistrer.
Le compte de service inclut désormais le rôle Utilisateur Agent Platform.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Créer la connexion à une ressource cloud et attribuer un rôle IAM
Tâche 2 : Examiner les images et les fichiers, et attribuer le rôle IAM au
compte de service
Dans cette tâche, vous allez examiner l'ensemble de données et les fichiers
image. Vous accorderez ensuite des autorisations IAM au compte de service de
la connexion à la ressource cloud.
Examiner les fichiers image et l'ensemble de données d'avis clients sur
Cloud Storage
Avant de commencer cette tâche, pour accorder des autorisations au compte de
service de la connexion à la ressource, examinez l'ensemble de données et les
fichiers image.
-
Dans la console, sélectionnez le menu de navigation (
), puis Cloud Storage.
-
Cliquez sur Buckets, puis sélectionnez le bucket
-bucket.
-
Dans le bucket, ouvrez le dossier gsp1246. Il contient deux
éléments :
-
Le dossier
images contient tous les fichiers image que vous
allez analyser. Vous pouvez y accéder et prendre connaissance des
fichiers image.
-
Le fichier
customer_reviews.csv est l'ensemble de données
qui contient les avis clients textuels.
Remarque : Vous pouvez utiliser l'URL authentifiée pour chaque image et le fichier customer_reviews.csv pour télécharger et consulter chaque élément.
Attribuer le rôle IAM "Administrateur des objets Storage" au compte de service
de la connexion
Vous allez attribuer les autorisations IAM requises au compte de service de la
connexion à la ressource avant de commencer à travailler dans BigQuery. Vous
vous assurez ainsi d'éviter les erreurs de type "accès refusé" lors de
l'exécution des requêtes.
-
Revenez à la racine du bucket.
-
Cliquez sur l'onglet Autorisations.
-
Cliquez sur Accorder l'accès.
-
Dans le champ Nouveaux comptes principaux, saisissez l'ID
de compte de service que vous avez copié précédemment.
-
Dans le champ "Sélectionner un rôle", saisissez
Objets Storage, puis sélectionnez le rôle
Administrateur des objets de l'espace de stockage.
-
Cliquez sur Enregistrer.
Le compte de service inclut désormais le rôle d'administrateur des objets
de l'espace de stockage.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Examiner les images et les fichiers, et attribuer le rôle IAM au compte de
service
Tâche 3 : Créer l'ensemble de données et les tables dans BigQuery
Dans cette tâche, vous allez créer un ensemble de données pour le projet, la
table pour les avis clients et la table d'objets image.
Créer l'ensemble de données
-
Dans la console, ouvrez le menu de navigation (
) et sélectionnez BigQuery.
-
Accédez au volet Explorateur. Pour
, sélectionnez Afficher les actions (
) à côté d'Ensembles de données, puis
Créer un ensemble de données.
Vous
créez un ensemble de données
pour stocker des objets de bases de données, dont des tables et des
modèles.
-
Dans le volet Créer un ensemble de données, saisissez les
informations suivantes :
| Champ |
Valeur |
| ID de l'ensemble de données |
gemini_demo |
| Type d'emplacement |
Sélectionnez Multirégional
|
| Emplacement multirégional |
Sélectionnez États-Unis
|
Conservez les valeurs par défaut dans les autres champs.
-
Cliquez sur Créer un ensemble de données.
L'ensemble de données gemini_demo est désormais créé et se
trouve en dessous de votre projet dans l'explorateur BigQuery.
Créer la table pour les avis clients
Pour créer la table des avis clients, vous allez utiliser une requête SQL.
-
Cliquez sur le signe + pour
créer une requête SQL.
-
Dans l'éditeur de requête, collez la requête ci-dessous.
LOAD DATA OVERWRITE gemini_demo.customer_reviews
(customer_review_id INT64, customer_id INT64, location_id INT64, review_datetime DATETIME, review_text STRING, social_media_source STRING, social_media_handle STRING)
FROM FILES (
format = 'CSV',
uris = ['gs://{{{project_0.project_id|set at lab start}}}-bucket/gsp1246/customer_reviews.csv']);
Cette requête utilise l'instruction LOAD DATA
pour charger le fichier customer_reviews.csv à partir de
Cloud Storage vers une table BigQuery avec les noms de colonne et les
types de données indiqués.
-
Cliquez sur Exécuter.
La requête est traitée et la table customer_reviews est créée
avec customer_review_id, customer_id,
location_id, review_datetime,
review_text, social_media_source et
social_media_handle pour chaque avis dans l'ensemble de
données.
-
Dans le volet de l'explorateur classique, cliquez sur la table
customer_reviews, et examinez le schéma et les détails.
Vous pouvez interroger la table pour examiner les enregistrements.
Créer la table d'objets pour les images d'avis
Pour créer la table d'objets, vous allez utiliser une requête SQL.
-
Cliquez sur le signe + pour
créer une requête SQL.
-
Dans l'éditeur de requête, collez la requête ci-dessous.
CREATE OR REPLACE EXTERNAL TABLE
`gemini_demo.review_images`
WITH CONNECTION `us.gemini_conn`
OPTIONS (
object_metadata = 'SIMPLE',
uris = ['gs://{{{project_0.project_id|set at lab start}}}-bucket/gsp1246/images/*']
);
-
Exécutez la requête.
La
table d'objets
review_images est ajoutée à l'ensemble de données
gemini_demo et chargée avec l'URI (l'emplacement
Cloud Storage) de chaque avis audio dans l'exemple d'ensemble de données.
-
Dans l'explorateur classique, cliquez sur la table
review_images, et examinez le schéma et les détails. Vous
pouvez interroger la table pour examiner des enregistrements spécifiques.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Créer l'ensemble de données, les tables et la réservation d'emplacements
dans BigQuery
Tâche 4 : Créer les modèles Gemini dans BigQuery
Maintenant que les tables sont créées, vous pouvez commencer à les utiliser.
Dans cette tâche, vous allez créer un modèle pour
Gemini dans BigQuery.
Créer le modèle Gemini Flash
-
Cliquez sur le signe + pour
créer une requête SQL.
-
Dans l'éditeur de requête, collez la requête ci-dessous et exécutez-la.
CREATE OR REPLACE MODEL `gemini_demo.gemini_flash`
REMOTE WITH CONNECTION `us.gemini_conn`
OPTIONS (endpoint = '{{{project_0.startup_script.gemini_flash_model_id | model_id | disablehighlight}}}')
Ce code crée le modèle gemini_flash. Celui-ci est ajouté à
l'ensemble de données gemini_demo, dans la section des
modèles.
-
Dans l'explorateur classique, cliquez sur le modèle
gemini_flash, et examinez le schéma et les détails.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Créer les modèles Gemini dans BigQuery
Tâche 5 : Demander à Gemini d'analyser les mots clés et les sentiments des
avis clients
Dans cette tâche, vous allez utiliser le modèle Gemini pour analyser les mots
clés et le sentiment de chaque avis client, qu'il soit positif ou négatif.
Analyser les mots clés des avis clients
-
Cliquez sur le signe + pour
créer une requête SQL.
-
Dans l'éditeur de requête, collez la requête ci-dessous et exécutez-la.
CREATE OR REPLACE TABLE
`gemini_demo.customer_reviews_keywords` AS (
SELECT ml_generate_text_llm_result, social_media_source, review_text, customer_id, location_id, review_datetime
FROM
ML.GENERATE_TEXT(
MODEL `gemini_demo.gemini_flash`,
(
SELECT social_media_source, customer_id, location_id, review_text, review_datetime, CONCAT(
'For each review, provide keywords from the review. Answer in JSON format with one key: keywords. Keywords should be a list.',
review_text) AS prompt
FROM `gemini_demo.customer_reviews`
),
STRUCT(
0.2 AS temperature, TRUE AS flatten_json_output)));
Cette requête récupère les avis clients de la table
customer_reviews et crée des prompts demandant au modèle
gemini_flash d'identifier les mots clés de chaque avis. Les
résultats sont ensuite stockés dans une nouvelle table appelée
customer_reviews_keywords.
Patientez quelques instants. Le traitement des enregistrements d'avis
clients par le modèle prend environ 30 secondes.
Lorsque le modèle a terminé cette opération, la table
customer_reviews_keywords est créée.
-
Dans l'explorateur classique, cliquez sur la table
customer_reviews_keywords, et examinez le schéma et les
détails.
-
Cliquez sur le signe + pour
créer une requête SQL.
-
Dans l'éditeur de requête, collez la requête suivante et exécutez-la :
SELECT * FROM `gemini_demo.customer_reviews_keywords`
Les lignes de la table customer_reviews_keywords sont
affichées avec la colonne
ml_generate_text_llm_result contenant l'analyse des mots
clés, et les colonnes social_media_source,
review_text, customer_id,
location_id et review_datetime incluses.
Analyser les avis clients pour déterminer si le sentiment est positif ou
négatif
-
Cliquez sur le signe + pour
créer une requête SQL.
-
Dans l'éditeur de requête, collez la requête ci-dessous et exécutez-la.
CREATE OR REPLACE TABLE
`gemini_demo.customer_reviews_analysis` AS (
SELECT ml_generate_text_llm_result, social_media_source, review_text, customer_id, location_id, review_datetime
FROM
ML.GENERATE_TEXT(
MODEL `gemini_demo.gemini_flash`,
(
SELECT social_media_source, customer_id, location_id, review_text, review_datetime, CONCAT(
'Classify the sentiment of the following text as positive or negative.',
review_text, "In your response don't include the sentiment explanation. Remove all extraneous information from your response, it should be a boolean response either positive or negative.") AS prompt
FROM `gemini_demo.customer_reviews`
),
STRUCT(
0.2 AS temperature, TRUE AS flatten_json_output)));
Cette requête récupère les avis clients de la table
customer_reviews et crée des prompts demandant au modèle
gemini_flash de classer le sentiment de chaque avis. Les
résultats sont ensuite stockés dans une nouvelle table appelée
customer_reviews_analysis, que vous pouvez utiliser
ultérieurement pour réaliser des analyses approfondies.
Patientez quelques instants. Le traitement des enregistrements d'avis
clients par le modèle prend environ 20 secondes.
Lorsque le modèle a terminé cette opération, la table
customer_reviews_analysis est créée.
-
Dans l'explorateur classique, cliquez sur la table
customer_reviews_analysis, et examinez le schéma et les
détails.
-
Cliquez sur le signe + pour
créer une requête SQL.
-
Dans l'éditeur de requête, collez la requête suivante et exécutez-la :
SELECT * FROM `gemini_demo.customer_reviews_analysis`
ORDER BY review_datetime
Les lignes de la table customer_reviews_analysis sont
affichées avec la colonne
ml_generate_text_llm_result contenant l'analyse des
sentiments, avec les colonnes social_media_source,
review_text, customer_id,
location_id et review_datetime incluses.
Examinez quelques enregistrements. Vous remarquerez peut-être que le
format de certains résultats, classés positifs ou négatifs, est incorrect.
Ils peuvent par exemple contenir des caractères superflus, tels que des
points ou des espaces en trop. Vous pouvez nettoyer les enregistrements en
utilisant la vue ci-dessous.
Créer une vue pour nettoyer les enregistrements
-
Cliquez sur le signe + pour
créer une requête SQL.
-
Dans l'éditeur de requête, collez la requête suivante et exécutez-la :
CREATE OR REPLACE VIEW gemini_demo.cleaned_data_view AS
SELECT
REPLACE(REPLACE(REPLACE(LOWER(ml_generate_text_llm_result), '.', ''), ' ', ''), '\n', '') AS sentiment,
REGEXP_REPLACE(REGEXP_REPLACE(REGEXP_REPLACE(social_media_source, r'Google(\+|\sReviews|\sLocal|\sMy\sBusiness|\sreviews|\sMaps)?',
'Google'), 'YELP', 'Yelp'), r'SocialMedia1?', 'Social Media') AS social_media_source,
review_text,
customer_id,
location_id,
review_datetime
FROM
gemini_demo.customer_reviews_analysis;
La requête crée la vue cleaned_data_view, qui comprend les
résultats d'analyse des sentiments, le texte de l'avis, le numéro client
et l'ID de zone géographique. Puis, elle nettoie le résultat d'analyse des
sentiments (positif ou négatif), mettant toutes les lettres en minuscules
et supprimant les caractères superflus (comme les espaces en trop ou les
points). La vue obtenue facilitera les analyses approfondies réalisées
ultérieurement au cours de cet atelier.
-
Vous pouvez interroger la vue avec la requête ci-dessous pour voir les
lignes créées.
SELECT * FROM `gemini_demo.cleaned_data_view`
ORDER BY review_datetime
Cette requête extrait toutes les données de la vue
cleaned_data_view, puis les organise par ordre croissant en
fonction de la date et de l'heure des avis.
Créer un rapport sur les nombres d'avis positifs et négatifs
-
Vous pouvez utiliser BigQuery pour créer un rapport sur les nombres d'avis
positifs et négatifs avec un graphique à barres. Commencez avec la requête
ci-dessous.
SELECT sentiment, COUNT(*) AS count
FROM `gemini_demo.cleaned_data_view`
WHERE sentiment IN ('positive', 'negative')
GROUP BY sentiment;
Cette requête affiche les nombres d'avis positifs et négatifs.
-
Pour créer un rapport avec un graphique à barres sur ces nombres, cliquez
sur GRAPHIQUE dans la section "Résultats de la requête"
de BigQuery. BigQuery définit automatiquement la configuration du
graphique avec le type de graphique "Barres". La colonne de sentiment (le
sentiment prédit comme positif ou négatif) et la barre affichent le
nombre.
Créer un nombre d'avis positifs et négatifs en fonction de la source de
réseaux sociaux
-
Vous pouvez utiliser BigQuery pour lister le nombre d'avis positifs et
négatifs par source de réseaux sociaux en utilisant la requête ci-dessous.
SELECT sentiment, social_media_source, COUNT(*) AS count
FROM `gemini_demo.cleaned_data_view`
WHERE sentiment IN ('positive') OR sentiment IN ('negative')
GROUP BY sentiment, social_media_source
ORDER BY sentiment, count;
Cliquez sur Vérifier ma progression pour valider l'objectif.
Demander à Gemini d'analyser les mots clés et les sentiments des avis
clients
Tâche 6 : Répondre aux avis clients
Vous pouvez également utiliser Gemini pour répondre aux avis clients. Dans
cette tâche, vous allez apprendre à créer une réponse marketing à l'aide d'un
prompt zero-shot et une réponse du service client à l'aide d'un prompt
few-shot, pour des avis spécifiques de la table customer_reviews.
Remarque : Pour plus d'informations, consultez la section sur les prompts zero-shot et few-shot dans la documentation de Google AI for Developers.
Réponse marketing
Le client avec le customer_id 5576 a répondu comme suit :
The location was clean and inviting. I also like that there is a variety of seating because sometimes I want to cuddle up with my coffee and read and other times I prefer a tall chair and table so I can work on projects.
Cet avis est clairement positif. Comment pouvez-vous utiliser
pour répondre à ce client et le remercier pour son avis positif ?
-
Vous pouvez utiliser
avec ces requêtes. Dans l'éditeur de requête, collez la requête ci-dessous
et exécutez-la.
CREATE OR REPLACE TABLE
`gemini_demo.customer_reviews_marketing` AS (
SELECT ml_generate_text_llm_result, social_media_source, review_text, customer_id, location_id, review_datetime
FROM
ML.GENERATE_TEXT(
MODEL `gemini_demo.gemini_flash`,
(
SELECT social_media_source, customer_id, location_id, review_text, review_datetime, CONCAT(
'You are a marketing representative. How could we incentivise this customer with this positive review? Provide a single response, and should be simple and concise, do not include emojis. Answer in JSON format with one key: marketing. Marketing should be a string.', review_text) AS prompt
FROM `gemini_demo.customer_reviews`
WHERE customer_id = 5576
),
STRUCT(
0.2 AS temperature, TRUE AS flatten_json_output)));
Cette requête est conçue pour analyser les avis clients de la table
customer_reviews, spécifiquement ceux du "customer_id" 5576.
Lorsque vous exécutez la requête, elle utilise Gemini pour générer des
suggestions marketing basées sur le texte de l'avis, puis elle stocke les
résultats dans une nouvelle table appelée
customer_reviews_marketing. Cette table contiendra les
données d'origine de l'avis avec les suggestions marketing générées, vous
permettant de les analyser facilement et d'agir en conséquence.
-
Vous pouvez afficher les détails de la table
customer_reviews_marketing en exécutant la requête SQL
ci-dessous.
SELECT * FROM `gemini_demo.customer_reviews_marketing`
Notez que la colonne ml_generate_text_llm_result contient la
réponse.
-
Vous pouvez en faciliter la lecture et agir sur la réponse en utilisant la
requête SQL ci-dessous :
CREATE OR REPLACE TABLE
`gemini_demo.customer_reviews_marketing_formatted` AS (
SELECT
review_text,
JSON_QUERY(RTRIM(LTRIM(results.ml_generate_text_llm_result, " ```json"), "```"), "$.marketing") AS marketing,
social_media_source, customer_id, location_id, review_datetime
FROM
`gemini_demo.customer_reviews_marketing` results )
-
Vous pouvez afficher les détails de la table en exécutant la requête SQL
ci-dessous.
SELECT * FROM `gemini_demo.customer_reviews_marketing_formatted`
Observez la colonne marketing. Vous pouvez configurer une
application pour qu'elle récupère automatiquement la réponse dans la
colonne marketing, afin de joindre un fichier de bon de
réduction de 10 % (sous forme de notification pour le compte du client
dans l'application Data Beans). Le système peut également générer et
envoyer directement un e-mail au client avec ces informations
Réponse du service client
Le client avec le customer_id 8844 a répondu comme suit :
I had a very disappointing experience at this coffee truck. The service was terrible - the staff were rude and inattentive, and we had to wait a long time for our food and drinks. The food itself was mediocre at best - the coffee was weak and the pastries were stale. The shop itself was also very cramped and noisy, making it difficult to relax and enjoy our time there. To top it all off, the prices were very high, making the whole experience even worse. I would definitely not recommend this place to anyone.
Cet avis est clairement négatif. Comment pouvez-vous utiliser Gemini pour
répondre à ce client et informer les responsables du food truck de cette
expérience afin de prendre les mesures nécessaires ?
-
Vous pouvez utiliser Gemini avec ces requêtes. Dans l'éditeur de requête,
collez la requête ci-dessous et exécutez-la.
CREATE OR REPLACE TABLE
`gemini_demo.customer_reviews_cs_response` AS (
SELECT ml_generate_text_llm_result, social_media_source, review_text, customer_id, location_id, review_datetime
FROM
ML.GENERATE_TEXT(
MODEL `gemini_demo.gemini_flash`,
(
SELECT social_media_source, customer_id, location_id, review_text, review_datetime, CONCAT(
'How would you respond to this customer review? If the customer says the coffee is weak or burnt, respond stating "thank you for the review we will provide your response to the location that you did not like the coffee and it could be improved." Or if the review states the service is bad, respond to the customer stating, "the location they visited has been notified and we are taking action to improve our service at that location." From the customer reviews provide actions that the location can take to improve. The response and the actions should be simple, and to the point. Do not include any extraneous or special characters in your response. Answer in JSON format with two keys: Response, and Actions. Response should be a string. Actions should be a string.', review_text) AS prompt
FROM `gemini_demo.customer_reviews`
WHERE customer_id = 8844
),
STRUCT(
0.2 AS temperature, TRUE AS flatten_json_output)));
Cette requête sert à automatiser les réponses du service client en
utilisant Gemini pour analyser les avis clients et générer des réponses et
des plans d'action appropriés. Cet exemple illustre parfaitement comment
Google Cloud peut améliorer le service client et rendre les opérations
commerciales plus efficaces. Une fois la requête exécutée, la table
customer_reviews_cs_response est créée.
-
Vous pouvez afficher les détails de la table en exécutant la requête SQL
ci-dessous.
SELECT * FROM `gemini_demo.customer_reviews_cs_response`
Notez que la colonne ml_generate_text_llm_result contient la
réponse et les actions, représentées par deux clés distinctes.
-
Vous pouvez en faciliter la lecture en utilisant la requête SQL ci-dessous
pour séparer la réponse et les actions en deux colonnes dans une nouvelle
table appelée customer_reviews_cs_response_formatted :
CREATE OR REPLACE TABLE
`gemini_demo.customer_reviews_cs_response_formatted` AS (
SELECT
review_text,
JSON_QUERY(RTRIM(LTRIM(results.ml_generate_text_llm_result, " ```json"), "```"), "$.Response") AS Response,
JSON_QUERY(RTRIM(LTRIM(results.ml_generate_text_llm_result, " ```json"), "```"), "$.Actions") AS Actions,
social_media_source, customer_id, location_id, review_datetime
FROM
`gemini_demo.customer_reviews_cs_response` results )
-
Vous pouvez afficher les détails de la table en exécutant la requête SQL
ci-dessous.
SELECT * FROM `gemini_demo.customer_reviews_cs_response_formatted`
Notez que les champs de réponse et d'actions sont désormais créés. Vous
pouvez générer deux applications distinctes : une pour répondre au client
et l'autre pour l'établissement. Celui-ci pourra ainsi prendre des mesures
pour s'améliorer, et le client sera informé que son commentaire a été
reçu.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Répondre aux avis clients
Tâche 7 : Demander à Gemini de fournir des mots clés et des résumés pour
chaque image
Dans cette tâche, vous allez utiliser Gemini pour analyser les images et
générer des mots clés et des résumés.
Analyser les images avec le modèle
-
Cliquez sur le signe + pour
créer une requête SQL.
-
Dans l'éditeur de requête, collez la requête ci-dessous et exécutez-la.
CREATE OR REPLACE TABLE
`gemini_demo.review_images_results` AS (
SELECT
uri,
ml_generate_text_llm_result
FROM
ML.GENERATE_TEXT( MODEL `gemini_demo.gemini_flash`,
TABLE `gemini_demo.review_images`,
STRUCT( 0.2 AS temperature,
'For each image, provide a summary of what is happening in the image and keywords from the summary. Answer in JSON format with two keys: summary, keywords. Summary should be a string, keywords should be a list.' AS PROMPT,
TRUE AS FLATTEN_JSON_OUTPUT)));
Patientez quelques instants. L'exécution de cette opération prend environ
trois minutes.
Lorsque le modèle a fini de traiter l'image, la table
review_images_results est créée.
-
Dans l'explorateur classique, cliquez sur la table
review_image_results, et examinez le schéma et les
détails.
-
Cliquez sur le signe + pour
créer une requête SQL.
-
Dans l'éditeur de requête, collez la requête suivante et exécutez-la :
SELECT * FROM `gemini_demo.review_images_results`
Cette requête affiche les lignes de chaque image d'avis avec l'URI
(l'emplacement Cloud Storage de l'image d'avis) et un résultat JSON
incluant le résumé et les mots clés fournis par le modèle Gemini Vision.
Vous pouvez récupérer ces résultats dans un format plus lisible en
utilisant la requête suivante.
-
Cliquez sur le signe + pour
créer une requête SQL.
-
Dans l'éditeur de requête, collez la requête suivante et exécutez-la :
CREATE OR REPLACE TABLE
`gemini_demo.review_images_results_formatted` AS (
SELECT
uri,
JSON_QUERY(RTRIM(LTRIM(results.ml_generate_text_llm_result, " ```json"), "```"), "$.summary") AS summary,
JSON_QUERY(RTRIM(LTRIM(results.ml_generate_text_llm_result, " ```json"), "```"), "$.keywords") AS keywords
FROM
`gemini_demo.review_images_results` results )
Cette requête crée la table review_images_results_formatted.
-
Vous pouvez interroger la table avec la requête ci-dessous pour voir les
lignes créées.
SELECT * FROM `gemini_demo.review_images_results_formatted`
Notez que les résultats de la colonne d'URI restent les mêmes, mais que le
JSON est désormais converti en colonnes de résumé et de mots clés pour
chaque ligne.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Demander à Gemini de fournir des résumés et des mots clés pour les images
d'avis clients
Félicitations !
Vous avez créé une connexion à une ressource cloud dans BigQuery. Vous avez
également créé un ensemble de données, des tables et des modèles pour demander
à Gemini d'analyser le sentiment des avis clients, avec un rapport sur les
nombres d'avis positifs et négatifs. Vous avez ensuite utilisé des prompts
zero-shot et few-shot avec Gemini pour répondre à ces avis. Pour finir, vous
avez exploité le modèle Gemini pour analyser des images, et générer des
résumés et des mots clés.
Étapes suivantes et informations supplémentaires
Formations et certifications Google Cloud
Les formations et certifications Google Cloud vous aident à tirer pleinement parti des technologies Google Cloud. Nos cours portent sur les compétences techniques et les bonnes pratiques à suivre pour être rapidement opérationnel et poursuivre votre apprentissage. Nous proposons des formations pour tous les niveaux, à la demande, en salle et à distance, pour nous adapter aux emplois du temps de chacun. Les certifications vous permettent de valider et de démontrer vos compétences et votre expérience en matière de technologies Google Cloud.
Dernière mise à jour du manuel : 20 novembre 2025
Dernier test de l'atelier : 20 novembre 2025
Copyright 2026 Google LLC. Tous droits réservés. Google et le logo Google sont des marques de Google LLC. Tous les autres noms d'entreprises et de produits peuvent être des marques des entreprises auxquelles ils sont associés.