Points de contrôle
Create a Dialogflow agent
/ 10
Import the Dialogflow agent
/ 10
Set up a phone gateway
/ 20
Welcome the caller
/ 10
Set up fulfillment using Cloud Functions
/ 20
Modify the Fulfillment Code
/ 20
Create custom fallback intent
/ 10
Ajouter une passerelle de téléphonie à un agent virtuel
- GSP793
- Présentation
- Objectifs
- Configuration et prérequis
- Créer votre agent Dialogflow
- Importer votre agent Dialogflow
- Configurer une passerelle de téléphonie
- Configurer l'accueil de l'appelant
- Configurer un fulfillment à l'aide de Cloud Functions pour rechercher des réservations dans Firestore
- Appeler le numéro
- Créer un intent de remplacement par un agent réel
- Créer un intent de remplacement personnalisé
- (Facultatif) Exporter votre code
- Félicitations !
- Terminer l'atelier
GSP793
Présentation
Dans cet atelier, vous allez continuer à travailler sur votre agent virtuel Pigeon Travel (créé dans le cadre de l'atelier "Créer un fulfillment d'agent virtuel") et ajouter une passerelle de téléphonie afin de permettre aux utilisateurs de l'appeler. Il est recommandé de terminer l'atelier "Concevoir des flux de conversation pour votre agent" au préalable, mais cela n'est pas obligatoire.
La solution Contact Center AI est conçue pour s'intégrer facilement dans des technologies de téléphonie existantes. Afin de créer une passerelle de téléphonie, vous devez avoir accès à un partenaire de téléphonie : cet atelier vous fournira cet accès. Pour une utilisation en production, nous vous recommandons de collaborer avec l'un de ces partenaires.
Objectifs
Dans cet atelier, vous allez effectuer les tâches suivantes :
-
Actualiser l'intent d'accueil par défaut
-
Ajouter une passerelle de téléphonie pour permettre aux utilisateurs d'appeler notre agent virtuel
-
Transférer l'appel d'un utilisateur à l'aide de la passerelle de téléphonie
Configuration et prérequis
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) ;
- vous disposez d'un temps limité ; une fois l'atelier commencé, vous ne pouvez pas le mettre en pause.
Démarrer l'atelier et se connecter à la console Google Cloud
-
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
- 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. 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 inclus dans le panneau Détails concernant l'atelier et collez-le dans la boîte de dialogue Se connecter. Cliquez sur Suivant.
-
Copiez le mot de passe inclus dans le panneau Détails concernant l'atelier et collez-le dans la boîte de dialogue de bienvenue. Cliquez sur Suivant.
Important : Vous devez utiliser les identifiants fournis dans le panneau de gauche. Ne saisissez pas vos identifiants Google Cloud Skills Boost. 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 aux essais offerts.
Après quelques instants, la console Cloud s'ouvre dans cet onglet.
Activer l'API
- Dans Cloud Console, accédez au menu de navigation, puis sélectionnez APIs & Services > Dashboard (API et services > Tableau de bord).
- Cliquez sur Enable APIs and Services (Activer des API et des services) :
- Recherchez Dialogflow :
- Cliquez sur Dialogflow API (API Dialogflow) et, si l'API n'est pas activée, cliquez sur Enable (Activer) :
Créer votre agent Dialogflow
Vous nommerez votre agent "pigeon-travel".
- Accédez à la console Dialogflow.
-
Connectez-vous à l'aide du bouton Google, et veillez à sélectionner les identifiants avec lesquels vous vous êtes connecté à cet atelier.
-
Consultez les conditions d'utilisation. Cliquez sur Accept (Accepter).
-
Cliquez sur Create Agent (Créer un agent).
-
Ajoutez maintenant les informations concernant l'agent affichées 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 votre projet Qwiklabs
- Cliquez sur Create (Créer).
Cliquez sur Check my progress (Vérifier ma progression) pour vérifier l'objectif.
Importer votre agent Dialogflow
Dans l'atelier précédent, vous avez exporté l'agent Dialogflow que vous aviez créé. Vous allez maintenant le réimporter et poursuivre sa création.
Si vous ne disposez pas de fichiers exportés à utiliser, veuillez utiliser le fichier suivant :
https://storage.cloud.google.com/qwiklabs-resources-ccai-quest/pigeon-travel-gsp-793.zip
Téléchargez ce fichier sur votre poste de travail local.
Cette procédure permet de créer un projet d'agent virtuel. Importez maintenant le travail que vous avez réalisé précédemment.
- Cliquez sur l'icône des paramètres (en forme de roue dentée) à côté du nom de l'agent.
- Sélectionnez l'onglet Export and Import (Exporter et importer).
-
Cliquez sur IMPORT FROM ZIP (Importer depuis un fichier ZIP).
-
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.
- Saisissez le mot "IMPORT" en majuscules pour activer le bouton d'importation, et cliquez sur IMPORT (Importer).
- 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 Check my progress (Vérifier ma progression) pour vérifier l'objectif.
Configurer une passerelle de téléphonie
Pour configurer votre passerelle, procédez comme suit :
-
Sélectionnez un fournisseur. À partir de la console Dialogflow, procédez comme suit :
- Sélectionnez votre agent
pigeon-travel
. - Cliquez sur Integrations (Intégrations).
- Cliquez sur Dialogflow Phone Gateway (Passerelle de téléphonie Dialogflow).
- Sélectionnez votre agent
-
Configurez la passerelle de téléphonie comme suit :
- Sélectionnez la langue. Dans le cadre de cet atelier, choisissez English (Anglais).
- Sélectionnez le code pays du numéro de téléphone. Dans le cadre de cet atelier, sélectionnez +1 pour les États-Unis.
- Cliquez sur Next (Suivant).
-
Sélectionnez un numéro :
- Choisissez un numéro de téléphone dans la liste.
- Cliquez sur Create (Créer).
-
Au terme de la procédure :
- la passerelle est désormais active ;
- enregistrez le numéro de téléphone affiché et fermez la boîte de dialogue. Vous pouvez cliquer à nouveau sur le bouton des intégrations de la passerelle de téléphonie Dialogflow pour récupérer ces informations.
Cliquez sur Check my progress (Vérifier ma progression) pour vérifier l'objectif.
Configurer l'accueil de l'appelant
Maintenant que vous disposez d'un agent de passerelle de téléphonie opérationnel, examinons les intents que vous avez importés. Cela vous aidera à comprendre comment créer vos propres agents de téléphonie.
Procédez comme suit afin d'accueillir l'appelant et de fournir une liste d'options possibles :
-
Accédez à la console Dialogflow.
-
Sélectionnez votre agent.
-
Cliquez sur Intents.
-
Cliquez sur Default Welcome Intent (Intent d'accueil par défaut).
-
Faites défiler la page jusqu'à la section "Events" (Événements). Notez que les deux événements "Welcome (WELCOME)" (Accueil) et "Telephony Welcome (TELEPHONY_WELCOME)" (Accueil téléphonique) sont présents. Si l'événement "Telephony Welcome (TELEPHONY_WELCOME)" n'est pas présent, ajoutez-le. Dans la section "Events" (Événements), saisissez Telephony Welcome, puis appuyez sur la touche Entrée.
L'événement "Telephony Welcome (TELEPHONY_WELCOME)" signifie que tous les types d'événements d'accueil déclenchent cet intent. Vous pouvez également créer des intents distincts et les associer à des événements d'accueil spécifiques.
- Faites défiler la page jusqu'à la section "Responses" (Réponses), puis ajoutez l'onglet DIALOGFLOW PHONE GATEWAY (Passerelle de téléphonie Dialogflow) en cliquant sur l'icône Plus.
-
Cliquez sur ADD RESPONSES (Ajouter des réponses), puis sélectionnez Synthesize Speech (Synthèse vocale).
-
Saisissez le texte suivant dans la zone de texte :
Hello! I am the virtual agent for Pigeon Travel. I can help you with many things such as changing your name on your reservation. How can I help you?
- Désactivez l'option Use responses from the DEFAULT tab as the first responses (Utiliser les réponses de l'onglet "DEFAULT" en tant que premières réponses).
-
Cliquez sur Save (Enregistrer).
-
Vous pouvez désormais appeler le numéro dédié depuis un téléphone afin d'entendre la réponse personnalisée.
Cliquez sur Check my progress (Vérifier ma progression) pour vérifier l'objectif.
Configurer un fulfillment à l'aide de Cloud Functions pour rechercher des réservations dans Firestore
Dans cette section, vous allez configurer Firestore pour votre agent afin de rechercher la réservation actuelle et d'ajouter la modification.
Configurer Firestore
- Dans Cloud Console, accédez au menu de navigation, puis sélectionnez Storage > Firestore (Stockage > Firestore).
- Deux options s'affichent : "Native mode" (Mode natif) et "Datastore mode" (Mode Datastore). Choisissez SELECT NATIVE MODE (Sélectionner le mode natif).
- Pour l'emplacement, choisissez nam5 (United States) (États-Unis).
-
Cliquez sur CREATE DATABASE (Créer une base de données). Une fois la base de données créée, vous pouvez créer une collection.
-
Cliquez sur START COLLECTION (Commencer une collection).
-
Collection ID (ID de collection) :
reservations
-
Document ID (ID du document) :
100
-
Renseignez les détails en vous reportant aux informations figurant ci-dessous, puis cliquez sur SAVE (Enregistrer).
- Field name (Nom du champ) : fname
- Field type (Type de champ) : string
- Field value (Valeur du champ) : Isabel
Cliquez ensuite sur le bouton + pour ajouter une autre collection :
- Field name (Nom du champ) : lname
- Field type (Type de champ) : string
- Field value (Valeur du champ) : Costa
Cliquez ensuite sur le bouton + pour ajouter une autre collection :
- Field name (Nom du champ) : newname
- Field type (Type de champ) : string
- Field name (Nom 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 :
- Customer1, Customer2, Customer3, etc.
- Product 1, Product 2, Product 3, etc.
Ces ID séquentiels peuvent générer des hotspots qui ont un impact sur la latence.
Fulfillment Dialogflow
-
Cliquez sur Fulfillment dans le menu de gauche. Le provisionnement des ressources peut prendre quelques minutes.
-
À côté de l'option Inline Editor (Éditeur intégré), faites glisser le curseur vers la droite afin de le définir sur ENABLED (Activé). Cette opération active l'éditeur Cloud Functions dans votre agent Dialogflow.
Remarque : Si un message d'erreur est renvoyé, essayez d'actualiser la page, puis de définir de nouveau le curseur sur la position "ENABLED" (Activé).
-
Cliquez sur le bouton Deploy (Déployer) en bas à droite. Cette opération peut prendre quelques minutes.
-
Une fois le déploiement effectué, accédez à Cloud Console, puis à Cloud Functions dans le menu de gauche afin de vérifier que la fonction a été déployée.
-
Dans l'atelier précédent, vous avez téléchargé le code source de la fonction Cloud. Vous allez désormais importer ce code dans la fonction Cloud que vous venez de déployer.
-
Si vous ne disposez pas de fichiers exportés à utiliser, veuillez utiliser le fichier suivant :
-
Téléchargez ce fichier sur votre poste de travail local.
-
-
Dans Cloud Console, localisez la fonction que vous venez de déployer, puis sélectionnez-la.
-
Cliquez sur EDIT (Modifier).
-
Cliquez sur Next et choisissez ZIP upload.
-
Recherchez le fichier ZIP téléchargé lors de l'atelier précédent.
-
Choisissez un bucket intermédiaire (Stage Bucket).
- Si aucun bucket n'est répertorié, créez-en un.
- Cliquez sur DEPLOY (Déployer).
Lorsque le déploiement est terminé, le code provenant de l'atelier précédent est déployé sur votre fonction Cloud de fulfillment.
Cliquez sur Check my progress (Vérifier ma progression) pour vérifier l'objectif.
Appeler le numéro
Appelez le numéro attribué à la passerelle de téléphonie depuis votre téléphone personnel. À la fin du message d'accueil, démarrez le flux de conversation en demandant à l'agent virtuel de modifier le nom sous lequel la réservation a été effectuée. Si tout se passe comme prévu, vous verrez dans Firestore le nouveau nom que vous aviez fourni à l'agent virtuel.
Créer un intent de remplacement par un agent réel
Et si tout ne se passe pas comme prévu ? Si l'utilisateur fournit un numéro de réservation erroné ? Vous pouvez dans ce cas utiliser l'option Dialogflow Phone Gateway Transfer Call (Transfert d'appel de la passerelle de téléphonie Dialogflow).
Avant de vous lancer, renseignez-vous au sujet des événements, puisque vous en devrez en utiliser pour déclencher un intent.
Événements
Les intents sont généralement mis en correspondance lorsqu'une expression d'utilisateur final correspond à une phrase d'entraînement d'intent. Cependant, vous pouvez également déclencher des intents à l'aide d'événements. Les événements peuvent être appelés de nombreuses manières.
Il existe deux types d'événements :
-
Événements de plate-forme : ces événements intégrés sont fournis par les intégrations de plate-forme. Ils sont appelés lorsque des événements spécifiques à une plate-forme se produisent. Par exemple, l'intégration de Facebook appelle l'événement "FACEBOOK_LOCATION" (Localisation Facebook) lorsqu'un utilisateur final accepte ou refuse une requête concernant sa position géographique.
-
Événements personnalisés : il s'agit des événements que vous définissez. Vous pouvez appeler ces événements à l'aide du fulfillment ou de l'API. Par exemple, vous pouvez définir une alerte planifiée devant se déclencher au cours d'une conversation pour appeler un événement à un moment donné. Cet événement peut déclencher un intent qui alerte l'utilisateur final à propos de quelque chose.
Nous allons utiliser des événements personnalisés pour déclencher un transfert d'appel.
Modifier le code du fulfillment
- Remplacez les extraits de code suivants, puis procédez au déploiement :
agent.add('I could not find your reservation.');
par
agent.add('placeholder');
agent.setFollowupEvent('custom_fallback');
- Remplacez l'extrait de code suivant :
console.log('Transaction failure:', error);
par
console.log('Transaction failure:', error);
agent.add('placeholder');
agent.setFollowupEvent('custom_fallback');
- Remplacez l'extrait de code suivant :
agent.add('Error reading entry from the Firestore database.');
par
agent.add('placeholder');
agent.setFollowupEvent('custom_fallback');
La fonction devrait se présenter comme suit :
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('placeholder');
agent.setFollowupEvent('custom_fallback');
} else {
db.collection('reservations').doc(id).update({
newname: agent.parameters.newname
}).catch(error => {
console.log('Transaction failure:', error);
agent.add('placeholder');
agent.setFollowupEvent('custom_fallback');
return Promise.reject();
});
agent.add('Ok. I have updated the name on the reservation.');
}
return Promise.resolve();
}).catch(() => {
agent.add('placeholder');
agent.setFollowupEvent('custom_fallback');
});
}
L'extrait de code agent.setFollowupEvent('custom_fallback');
déclenche l'événement custom_fallbackassocié à un intent. Créons à présent l'intent.
Cliquez sur Check my progress (Vérifier ma progression) pour vérifier l'objectif.
Créer un intent de remplacement personnalisé
L'intent de remplacement personnalisé est déclenché lorsqu'une réservation n'est pas trouvée ou qu'une erreur est renvoyée lors de la connexion à Firestore. L'utilisateur est alors transféré vers un agent réel.
Pour couvrir ces cas de figure, créez un intent custom-fallback
:
-
Cliquez sur l'icône ➕ située à côté de l'option Intents du menu de gauche.
-
Renseignez le nom "custom-fallback" dans la zone de texte Intent name (Nom de l'intent).
-
Dans la section Events (Événements), ajoutez le code suivant, puis appuyez sur la touche Entrée :
custom_fallback
-
Dans la section "Responses" (Réponses), sous Text Responses (Réponses textuelles), saisissez la réponse suivante dans la zone de texte :
I'm sorry, I'm not able to find your reservation, but you'll be connected to a live person in a moment.
. -
Cliquez sur l'icône ➕ située à côté de l'option Default (Par défaut), puis ajoutez DIALOGFLOW PHONE GATEWAY (Passerelle de téléphonie Dialogflow).
-
Dans l'onglet DIALOGFLOW PHONE GATEWAY (Passerelle de téléphonie Dialogflow), cliquez sur ADD RESPONSES (Ajouter des réponses), puis sélectionnez Synthesize Speech (Synthèse vocale).
-
Dans la réponse Synthesize Speech (Synthèse vocale), saisissez le texte suivant :
I'm sorry I'm not able to find your reservation but you'll be connected to a live person in a moment.
. -
Dans l'onglet DIALOGFLOW PHONE GATEWAY (Passerelle de téléphonie Dialogflow), cliquez sur ADD RESPONSES (Ajouter des réponses), puis sélectionnez Transfer Call (Transférer l'appel).
-
Renseignez un numéro vers lequel Dialogflow peut transférer les appels des utilisateurs dans le cas où ils doivent être mis en relation avec un agent réel.
-
Activez Set this intent as end of conversation (Définir cet intent comme fin de conversation).
-
Cliquez sur le bouton Save (Enregistrer). Vous remarquerez peut-être aussi les messages Agent Training started (Entraînement de l'agent démarré) et Agent Training completed (Entraînement de l'agent terminé) qui s'affichent en bas à droite de l'écran. Ces mentions indiquent que Dialogflow procède à un nouvel entraînement du modèle d'agent, sur la base des phrases que vous avez ajoutées.
-
Une fois l'entraînement terminé, constatez le résultat en appelant depuis votre téléphone. Appelez le numéro enregistré. Cette fois, indiquez un numéro de réservation erroné à l'agent virtuel.
Votre agent répond à présent I'm sorry I'm not able to find your reservation but you'll be connected to a live person in a moment.
, puis transfère votre appel vers le numéro défini.
Fonctionnement
- Le système recherche le numéro de réservation dans Firestore.
if (!doc.exists)
- Si la valeur de
doc
est "'false", ce qui signifie qu'il n'existe pas, alors l'événement est déclenché :
agent.setFollowupEvent('custom_fallback');
- L'événement est associé à un intent qui autorise alors Dialogflow à communiquer la réponse, puis à transférer l'appel.
Cliquez sur Check my progress (Vérifier ma progression) pour vérifier l'objectif.
(Facultatif) Exporter votre code
Exportez votre travail afin de pouvoir l'utiliser lors de l'atelier suivant. Cliquez sur l'onglet Source sous "Cloud Functions", faites défiler la page, puis cliquez sur le bouton DOWNLOAD ZIP (Télécharger le fichier ZIP).
Exporter votre agent
Dans cette section, vous allez exporter l'agent en tant que fichier ZIP pour pouvoir l'importer au début du prochain atelier. Ainsi, vous pourrez réutiliser les intents et les entités que vous avez configurés.
- Cliquez sur l'icône en forme de roue dentée (⚙) située à côté du nom de l'agent dans le menu de gauche pour accéder aux paramètres.
- Sur la page qui s'affiche, accédez à l'onglet Export and Import (Exporter et importer).
-
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 !
Terminer l'atelier
Une fois l'atelier terminé, cliquez sur Terminer l'atelier. Votre compte et les ressources utilisées sont alors supprimés de la plate-forme d'atelier.
Si vous le souhaitez, vous pouvez noter l'atelier. Sélectionnez un nombre d'étoiles, saisissez un commentaire, puis cliquez sur Envoyer.
Voici à quoi correspond le nombre d'étoiles que vous pouvez attribuer à un atelier :
- 1 étoile = très insatisfait(e)
- 2 étoiles = insatisfait(e)
- 3 étoiles = ni insatisfait(e), ni satisfait(e)
- 4 étoiles = satisfait(e)
- 5 étoiles = très satisfait(e)
Si vous ne souhaitez pas donner votre avis, vous pouvez fermer la boîte de dialogue.
Pour soumettre des commentaires, suggestions ou corrections, veuillez accéder à l'onglet Assistance.
Dernière mise à jour du manuel : 27 avril 2021
Dernier test du manuel : 27 avril 2021
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.