Testez vos connaissances et partagez-les avec notre communauté
done
Accédez à plus de 700 ateliers pratiques, badges de compétence et cours

Créer un fulfillment d'agent virtuel

Atelier 1 heure 30 minutes universal_currency_alt 1 crédit show_chart Débutant
info Cet atelier peut intégrer des outils d'IA pour vous accompagner dans votre apprentissage.
Testez vos connaissances et partagez-les avec notre communauté
done
Accédez à plus de 700 ateliers pratiques, badges de compétence et cours

GSP792

Google Cloud – Ateliers adaptés au rythme de chacun

Présentation

Dans cet atelier, vous allez continuer à utiliser l'agent virtuel Pigeon Travel créé dans l'atelier "Concevoir des flux de conversation pour votre agent". Vous allez également ajouter du contexte et configurer le fulfillment pour rechercher et stocker des réservations dans Firestore.

Remarque : Pour réaliser cet atelier, vous aurez besoin du fichier ZIP contenant l'agent, que vous avez exporté lors de l'atelier "Concevoir des flux de conversation pour votre agent". Si vous ne l'avez pas, vous devrez créer entièrement tous les intents et les entités dans l'atelier "Concevoir des flux de conversation pour votre agent" avant d'effectuer les étapes de cet atelier.

Objectifs de l'atelier

Dans cet atelier, vous allez effectuer les tâches suivantes :

  • Créer une collection Firestore
  • Configurer le fulfillment en tant que code Cloud Functions pour que l'agent puisse rechercher et changer le nom sur la réservation

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 vous-même les activités dans un véritable environnement cloud, et non dans un environnement de simulation ou de démonstration. Nous vous fournissons des identifiants temporaires pour 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/navigation privée pour effectuer cet atelier. Vous éviterez ainsi les conflits entre votre compte personnel et le temporaire étudiant, qui pourraient entraîner des frais supplémentaires facturés sur votre compte personnel.
  • vous disposez d'un temps limité ; une fois l'atelier commencé, vous ne pouvez pas le mettre en pause.
Remarque : Si vous possédez déjà votre propre compte ou projet Google Cloud, veillez à ne pas l'utiliser pour réaliser cet atelier afin d'éviter que des frais supplémentaires ne vous soient facturés.

Démarrer l'atelier et se connecter à la console Google Cloud

  1. Cliquez sur le bouton Démarrer l'atelier. Si l'atelier est payant, un pop-up 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
  2. 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.
  3. 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.

  4. Cliquez sur Suivant.

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

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

Après quelques instants, la console Cloud s'ouvre dans cet onglet.

Remarque : Pour afficher un menu contenant la liste des produits et services Google Cloud, cliquez sur le menu de navigation en haut à gauche. Icône du menu de navigation

Tâche 1 : Activer l'API

  1. Dans la console Cloud, accédez au menu de navigation (Icône du menu de navigation) > API et services > Activer les API et les services.

  2. Cliquez sur + Activer les API et les services.

  3. Recherchez Dialogflow.

  4. Cliquez sur la vignette API Dialogflow. Si l'API est désactivée, cliquez sur Activer.

  5. Recherchez Fonction Cloud.

  6. Cliquez sur l'API Cloud Functions et, si elle est déjà activée, cliquez sur Gérer.

  7. Cliquez sur Désactiver l'API.

    Si vous êtes invité à confirmer l'opération, cliquez sur Désactiver.

  8. Cliquez sur Activer.

    Une fois l'API réactivée, l'option permettant de la désactiver s'affiche sur la page.

Configurer les autorisations IAM

  1. Dans le menu de navigation (Icône du menu de navigation), accédez à IAM et administration > IAM.

  2. Pour modifier les autorisations de votre agent de service Google Cloud Functions, recherchez-le dans la liste IAM et sélectionnez l'icône en forme de crayon. Le compte de service aura le domaine @gcf-admin-robot.iam.gserviceaccount.com.

  3. Si aucun compte de service ne s'affiche, cochez la case Inclure les attributions de rôles fournies par Google.

  4. Cliquez sur Ajouter un autre rôle dans la boîte de dialogue, puis sélectionnez le rôle Artifact Registry > Lecteur Artifact Registry.

  5. Cliquez sur Enregistrer.

Tâche 2 : Créer votre agent Dialogflow

Vous nommerez votre agent "pigeon-travel".

  1. Accédez à la console Dialogflow.

  2. Cliquez sur le bouton Sign in with Google (Se connecter avec Google) et veillez à sélectionner les identifiants avec lesquels vous vous êtes connecté à cet atelier. Cliquez ensuite sur Allow (Autoriser).

  3. Décochez les cases concernant les préférences relatives aux e-mails (Email preferences) et acceptez les conditions d'utilisation (Terms of Service). Cliquez sur Accept (Accepter).

  4. Dans le menu de gauche, cliquez sur Create new agent (Créer un agent).

  5. Ajoutez maintenant les informations concernant l'agent telles quelles apparaissent dans la capture d'écran ci-dessous :

  • Agent Name (Nom de l'agent) : pigeon-travel
  • Default Time Zone (Fuseau horaire par défaut) : America/Denver
  • Google Project (Projet Google) : utilisez l'ID de projet de l'atelier
  1. Cliquez sur Create (Créer).

Cliquez sur Vérifier ma progression pour valider l'objectif. Créer l'agent Dialogflow

Tâche 3 : Importer votre agent Dialogflow

Dans l'atelier précédent, vous avez exporté l'agent Dialogflow créé. Vous allez maintenant le réimporter et continuer à le développer.

Cette procédure permet de créer un projet d'agent virtuel. Importez maintenant le travail réalisé précédemment.

  • Si vous n'avez pas de fichiers exportés à disposition, utilisez le fichier suivant :
https://storage.cloud.google.com/qwiklabs-resources-ccai-quest/pigeon-travel-gsp-792.zip
  • Téléchargez ce fichier sur votre poste de travail local.
  1. Cliquez sur l'icône des paramètres en forme de roue dentée Icône des paramètres en forme de roue dentée à côté du nom de l'agent.

  2. Sélectionnez l'onglet Export and Import (Exporter et importer).

Page contenant l'onglet "Export and Import" (Exporter et importer)

  1. Cliquez sur Import from zip (Importer depuis un fichier ZIP).

  2. Cliquez sur Select file (Sélectionner un fichier) et accédez au fichier ZIP contenant la configuration de votre agent virtuel. Si vous préférez, vous pouvez également faire glisser le fichier.

  3. Saisissez le mot "IMPORT" en majuscules pour activer le bouton d'importation, puis cliquez sur Import (Importer).

Page "Upload agent" (Importer l'agent)

  1. Cliquez sur Done (OK) pour fermer la fenêtre d'importation une fois l'opération terminée.

La configuration existante est importée dans le projet d'agent que vous venez de créer.

Cliquez sur Vérifier ma progression pour valider l'objectif. Importer votre agent Dialogflow

Tâche 4 : Configurer le fulfillment à l'aide de Cloud Functions pour rechercher des réservations dans Firestore

Jusqu'ici, l'agent a bien fonctionné en communiquant avec le client pour lui donner les informations qu'il demande, y compris un numéro de réservation. Cependant, les informations collectées ne sont ni vérifiées ni enregistrées pour permettre des actions ultérieures. Dans cette section, vous allez configurer le fulfillment en ajoutant le code Node.js et le déployer comme fonction Cloud pour que votre agent recherche la réservation en cours et ajoute la modification.

Configurer Firestore

  1. Dans la console, accédez au menu de navigation > Bases de données > Firestore.

  2. Cliquez sur Créer une base de données.

  3. Dans Sélectionner le mode Firestore, choisissez Mode natif (recommandé) et cliquez sur Continuer.

  4. Pour l'emplacement, sélectionnez Multirégional, puis choisissez nam5 (États-Unis).

  5. Cliquez sur Créer une base de données. Une fois la base de données créée, vous pouvez créer une collection.

  6. Cliquez sur Commencer une collection.

  7. Complétez les détails en vous assurant qu'ils sont semblables aux informations figurant ci-dessous, puis cliquez sur Enregistrer.

  • ID de collection : reservations

  • ID du document : 100

  • Nom du champ : fname

  • Type de champ : string

  • Valeur du champ : Isabel

  1. Cliquez ensuite sur le bouton Ajouter un champ (+) pour en ajouter un autre :
  • Nom du champ : lname
  • Type de champ : string
  • Valeur du champ : Costa
  1. Cliquez ensuite sur le bouton Ajouter un champ (+) pour en ajouter un autre :
  • Nom du champ : newname
  • Type de champ : string
  • Valeur du champ :

Vous venez d'ajouter votre premier document à une collection Firestore.

ID de document Firestore : bonnes pratiques

  • Évitez les ID de document "." et "…".

  • Évitez d'utiliser des barres obliques (/) dans les ID de document.

  • N'utilisez pas d'ID de document qui augmentent de façon monotone, tels que :

    • Client1, Client2, Client3, …
    • Produit 1, Produit 2, Produit 3, …

    Ces ID séquentiels peuvent générer des hotspots qui ont un impact sur la latence.

Fulfillment Dialogflow

  1. Accédez à la console Dialogflow et cliquez sur Fulfillment dans le menu de gauche. Le provisionnement des ressources peut prendre quelques minutes.

  2. À côté de l'option Inline Editor (Éditeur intégré), faites glisser le curseur vers la droite pour qu'il passe sur Enabled (Activé). Cette opération active l'éditeur Cloud Functions dans votre agent Dialogflow.

Remarque : Si vous obtenez un message d'erreur, essayez d'actualiser la page, puis d'activer de nouveau le curseur.
  1. Une fois le curseur activé, un modèle par défaut s'affiche dans index.js.

  2. Cliquez sur le bouton Deploy (Déployer) en bas à droite. Cette opération peut prendre quelques minutes.

  3. Une fois le déploiement effectué, accédez à la console Google Cloud, puis à Cloud Functions dans le menu de gauche afin de vérifier que la fonction a été déployée.

Cliquez sur Vérifier ma progression pour valider l'objectif. Configurer le fulfillment à l'aide de la fonction Cloud

  1. De retour dans la section Fulfillment de votre console Dialogflow, cliquez sur l'onglet index.js.

  2. Notez à nouveau qu'il y a déjà un code de démarrage incluant les fonctions de gestion des intents d'accueil et de remplacement par défaut. Vous devrez d'abord ajouter les lignes ci-dessous pour pouvoir travailler avec Firestore.

Ajoutez le code suivant au-dessus de la ligne qui indique process.env.DEBUG = 'dialogflow:debug'; :

const admin = require('firebase-admin');

Ajoutez ce bloc de code sous la ligne qui indique process.env.DEBUG = 'dialogflow:debug'; :

admin.initializeApp(); admin.firestore().settings( { timestampsInSnapshots: true }); const db = admin.firestore();
  1. Ajoutez maintenant le code suivant pour la gestion ou les réservations après les fonctions de gestionnaire pour les intents d'accueil et de remplacement.

Ajoutez le bloc de code suivant sous la ligne qui indique

exports.dialogflowFirebaseFulfillment = functions.https.onRequest((request, response) => { :

function reservation(agent) { let id = agent.parameters.reservationnumber.toString(); let collectionRef = db.collection('reservations'); let userDoc = collectionRef.doc(id); return userDoc.get() .then(doc => { if (!doc.exists) { agent.add('I could not find your reservation.'); } else { db.collection('reservations').doc(id).update({ newname: agent.parameters.newname }).catch(error => { console.log('Transaction failure:', error); return Promise.reject(); }); agent.add('Ok. I have updated the name on the reservation.'); } return Promise.resolve(); }).catch(() => { agent.add('Error reading entry from the Firestore database.'); }); }
  1. Modifiez intentMap pour intégrer une entrée de mappage name.reservation-getname à la fonction que vous venez d'ajouter :
intentMap.set('name.reservation-getname', reservation);

Le but est d'obtenir un résultat qui ressemble à ceci :

let intentMap = new Map(); intentMap.set('name.reservation-getname', reservation); intentMap.set('Default Welcome Intent', welcome); intentMap.set('Default Fallback Intent', fallback); agent.handleRequest(intentMap);
  1. Dans l'onglet package.json, assurez-vous que firebase-admin est défini sur "^5.13.1" :
"firebase-admin": "^5.13.1"
  1. Cliquez sur le bouton Deploy (Déployer) pour enregistrer et déployer le code.

  2. Cliquez sur Intents dans le menu de gauche, accédez à name.reservation-getname dans l'intent name.reservation et faites défiler la page tout en bas jusqu'à Fulfillment. Cliquez en dessous sur le bouton d'activation Enable the webhook call for this intent (Activer l'appel webhook pour cet intent) pour l'activer. Enregistrez l'intent.

  3. Faites un essai dans le simulateur en saisissant la question : change name on booking.

Vous obtenez la réponse par défaut du type : Sure I can help you to change your name on the reservation. Can I have your first name?.

  1. Faites un essai en saisissant le nom d'utilisateur que vous voulez.

  2. Saisissez 100 quand une réponse par défaut vous demande le numéro de réservation.

  3. Saisissez ensuite le nouveau nom pour lequel vous souhaitez faire une réservation, par exemple : Kelly.

  4. Après avoir terminé, vous recevez une réponse par défaut du type : Thank you dylan. I have changed the name on reservation number 100 to be kelly.

  5. Pour confirmer cela, accédez à la console Cloud et, dans le menu de gauche, accédez à Firestore > Données.

Le changement de nom s'affiche. Vous remarquerez qu'une nouvelle paire clé/valeur rendant visible le nom d'origine ainsi que le nouveau nom a été ajoutée.

Nouvelle paire clé/valeur composée de fname: "Isabel", lname: "costa", newname name: "kelly"

  1. Dans la console Dialogflow, recherchez des erreurs de code dans les journaux. En bas à gauche de la section Fulfillment, cliquez sur View execution logs in the Google Cloud console (Voir les journaux d'exécution dans la console Google Cloud) pour afficher les journaux.

  2. Examinez les journaux pour vérifier qu'il n'y a pas d'erreur. Dans le menu de navigation, sous "Opérations", cliquez sur Journalisation.

  3. Dans l'Explorateur de journaux, sélectionnez Cloud Function > dialogflowFirebaseFulfillment. Ici, vous pouvez vérifier tous les journaux associés.

Sinon, vous pouvez accéder au menu de navigation > Cloud Functions. Cliquez sur LOGS (JOURNAUX) dans la fonction créée pour afficher les journaux.

Cliquez sur Vérifier ma progression pour valider l'objectif. Tester l'agent avec le simulateur Dialogflow

Tâche 5 (facultative) : Exporter votre code

Exportez votre travail pour pouvoir l'utiliser dans l'atelier suivant. Sous Cloud Functions, cliquez sur l'onglet Source, faites défiler la page vers le bas, puis cliquez sur le bouton Télécharger le fichier ZIP.

Exporter votre agent

Exportez l'agent en tant que fichier ZIP pour pouvoir l'importer au début de l'atelier suivant. Ainsi, vous pourrez réutiliser les intents et les entités que vous avez configurés.

  1. Dans le menu de gauche, cliquez sur l'icône des paramètres (en forme de roue dentée ⚙) à côté du nom de l'agent.

  2. Sur la page de paramètres qui s'affiche, accédez à l'onglet Export and Import (Exporter et importer).

  3. Cliquez sur Export as zip (Exporter en tant que fichier ZIP). L'agent est alors téléchargé dans un fichier ZIP local.

Félicitations !

Vous avez fourni du contexte à votre agent virtuel et configuré le fulfillment pour rechercher et stocker des entrées de réservation dans Firestore.

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 : 19 juillet 2024

Dernier test du manuel : 19 juillet 2024

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

Ce contenu n'est pas disponible pour le moment

Nous vous préviendrons par e-mail lorsqu'il sera disponible

Parfait !

Nous vous contacterons par e-mail s'il devient disponible