Créer une application Google Chat Dialogflow CX qui comprend le langage naturel et y répond
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Cette page explique comment créer une application Google Chat qui peut à la fois
à comprendre et à répondre en langage naturel à l'aide
Dialogflow. Ce guide utilise
Dialogflow CX, qui offre
directement dans Google Chat. Vous pouvez également utiliser
Dialogflow ES pour créer
l'application Google Chat Dialogflow ES en suivant
la
Google Chat Dialogflow ES
.
Prenons l'exemple d'une application Chat qui aide les clients à louer
aux voitures. Un utilisateur peut écrire : "Je voudrais louer une voiture". La
L'application de chat peut répondre par une question telle que
"Où souhaitez-vous récupérer le véhicule ?" qui démarre un processus
conversation avec l'utilisateur, dans laquelle l'application Chat
comprend la voix humaine et répond à l'aide d'une voix humaine lors de la réservation d'une voiture de location.
Ceci n'est qu'un exemple. Les applications de chat Dialogflow sont utiles dans toutes les situations
types d'interactions. S'il a besoin d'un discours humain naturel,
Application Chat Dialogflow La
agents prédéfinis
vous aident à démarrer rapidement et à montrer les fonctionnalités de Dialogflow, par exemple:
Réserver des vols
Prendre rendez-vous chez le médecin
Commander un service de livraison de repas
Répondre à des questions sur un catalogue de produits Retail (par exemple, si les articles
sont disponibles dans d'autres coloris.
<ph type="x-smartling-placeholder"></ph>
Figure 1. Sélection d'un agent prédéfini pour une application de chat Dialogflow.
Figure 2 : Tester l'agent dans Dialogflow CX pour s'assurer que sa logique et sa configuration fonctionnent comme prévu Le schéma présente un ensemble séquentiel de pages thématiques qui portent sur des étapes spécifiques de la conversation, comme définir un lieu de prise en charge et de retour pour une voiture de location, et configure la logique qui les relie. La conversation est testée dans un simulateur.
Figure 3 : Configurer une application Chat pour traiter les réponses à l'aide de l'agent Dialogflow CX sur la page de configuration de l'API Chat dans la console Google Cloud
Figure 4 : Discuter de la réservation d'une voiture de location avec l'application Dialogflow Chat dans Google Chat
Objectifs
configurer votre environnement ;
Créer et déployer un agent Dialogflow CX
Créez et déployez une application Chat fournie par
Agent Dialogflow CX.
Le schéma suivant illustre l'architecture
Application Chat créée avec Dialogflow:
Dans le schéma précédent, un utilisateur interagissant avec un objet Dialogflow
L'application Chat comporte le flux d'informations suivant:
Un utilisateur envoie un message dans Chat à une
Application de chat, dans un message privé ou dans une
Espace Chat.
Un agent virtuel Dialogflow, qui réside dans Google Cloud, reçoit
et traite le message pour générer une réponse.
Vous pouvez également utiliser un
Webhook Dialogflow
l'agent Dialogflow peut interagir avec des services tiers externes,
en tant que système de gestion de projet
ou outil de billetterie.
L'agent Dialogflow renvoie une réponse au
Service d'application Chat dans Chat
La réponse est envoyée à l'espace Chat.
Configurer l'environnement
Avant d'utiliser les API Google, vous devez les activer dans un projet Google Cloud.
Vous pouvez activer une ou plusieurs API dans un même projet Google Cloud.
Dans la console Google Cloud, activez l'API Google Chat et l'API Dialogflow.
Vérifiez que vous activez les API au bon endroit
Google Cloud, puis cliquez sur Suivant.
Vérifiez que vous activez les API appropriées, puis cliquez sur Activer.
Créer un agent Dialogflow CX
A
Agent Dialogflow CX
est un agent virtuel qui gère les conversations simultanées
avec vos utilisateurs finaux. Ce module de compréhension du langage naturel
comprend les nuances du langage humain. Dialogflow traduit le texte de l'utilisateur final
lors d'une conversation avec des données structurées, que vos applications et services
comprendre. Vous concevez et créez un agent Dialogflow pour gérer les types de
nécessaires pour votre système.
Un agent Dialogflow est comme un agent humain de centre d'appels. Vous les entraînez tous les deux
pour gérer les scénarios de conversation attendus. Votre entraînement n'a pas besoin d'être
trop explicites.
Voici comment créer l'agent Dialogflow CX:
Dans la console Dialogflow CX, ouvrez la console Dialogflow CX. Cliquez sur
Menumenu>Dialogflow CX.
Choisissez un projet Google Cloud. Pour trouver votre projet, vous devrez peut-être
cliquez sur Tout, puis recherchez la section.
Vous pouvez choisir un agent prédéfini
créer le vôtre. Si vous préférez explorer l'agent
personnalisée plus tard, choisissez l'une des
agents prédéfinis,
qui sont également utiles pour découvrir
ce que les agents peuvent faire.
Pour choisir un agent prédéfini, procédez comme suit:
Cliquez sur Utiliser des agents prédéfinis.
Sélectionnez un agent prédéfini. Pour ce guide, sélectionnez
Voyages: location de voitures
Les agents sont notés "Débutant",
intermédiaires ou avancés, selon le nombre de caractéristiques que l'agent utilise
et de la sophistication de sa logique de conversation. Choisir une
un agent intermédiaire ou avancé peut nécessiter une configuration
des personnalisations et des paramètres, y compris l'activation de fonctionnalités et d'API dans
console Google Cloud.
Cliquez sur Import as agent (Importer en tant qu'agent).
Pour créer votre propre agent, procédez comme suit:
Cliquez sur Create Agent (Créer un agent).
Sélectionnez Générer automatiquement pour créer
agent de data store
ou sélectionnez Build your own (Créer le vôtre) pour créer d'autres types d'agents.
Pour tester l'application Chat Dialogflow CX dans l'une des
dans la console Dialogflow CX ou dans Google Chat, engagez la conversation suivante.
Cette explication vous aide à comprendre comment l'agent Dialogflow CX interprète la
le langage naturel de l'utilisateur et produit sa propre réponse en langage naturel
chaque étape de la conversation. Cet exemple de conversation est basé sur
un agent prédéfini
intitulée Voyages: location de voitures.
Dialog
Explication
Utilisateur final:Bonjour Agent: Bonjour ! Je suis l'agent de location de voitures virtuel. Je peux
vous aider à démarrer
une nouvelle réservation de location de voitures. Comment puis-je vous aider ?
aujourd'hui ?
La route intent d'accueil par défaut du flux de démarrage par défaut est appelée.
Le fulfillment pour ce gestionnaire d'état ("Hi! Je suis...")
est ajouté à la file d'attente de réponses.
L'agent envoie la file d'attente de réponses à l'utilisateur final.
Utilisateur final:Je souhaite louer une voiture. Agent: Où voulez-vous récupérer le véhicule ?
La route d'intent car_rental.reservation_create
de la page d'accueil est mis en correspondance.
La session effectue une transition vers la page Lieu de retrait.
Si le formulaire de la page Point de retrait n'est pas rempli, le
l'agent utilise le paramètre pickup_location pour inviter l'utilisateur
("Où souhaitez-vous la récupérer..."),
qui est ajoutée à la file d'attente de réponses.
L'agent envoie la file d'attente de réponses à l'utilisateur final.
Utilisateur final:Las Vegas Agent:D'accord, votre commande aura lieu à Las Vegas. Agent: Le lieu de dépose est-il différent de votre
lieu de retrait ?
L'entrée de l'utilisateur final remplit la variable pickup_location
demandé par l'agent à l'étape précédente
conversation.
Intent car_rental.return_different_location
dans le flux de démarrage par défaut est mis en correspondance.
Procédure à suivre pour remplir le formulaire sur la page Lieu de retrait
est évaluée et appelée.
Il comporte un traitement ("OK, votre retrait..."), qui est ajouté
à la file d'attente de réponses avec ses références de paramètres résolues en
les valeurs réelles fournies par l'utilisateur final.
La session effectue une transition vers la page Confirmer la localisation.
La page Confirmer l'emplacement contient un traitement d'entrée
("Votre lieu de dépose est-il différent ?").
qui est ajoutée à la file d'attente de réponses.
L'agent envoie la file d'attente de réponses à l'utilisateur final.
Utilisateur final:oui. Je déposerai la voiture à Los Angeles. Agent:OK, vous descendez à Los Angeles. Agent: À quelles date et heure souhaitez-vous récupérer le véhicule ?
Intent car_rental.return_different_location
dans le flux de démarrage par défaut est mis en correspondance.
La session effectue une transition vers la page Drop off Location (Lieu de dépôt).
L'entrée de l'utilisateur final remplit la zone drop_off_location.
demandé par l'agent à l'étape précédente
conversation.
Itinéraire pour remplir un formulaire sur la page Lieu de dépôt
est évaluée et appelée.
Il comporte un traitement ("OK, votre dépose..."), qui est ajouté
à la file d'attente de réponses.
La session effectue une transition vers la page Durée de location.
Le formulaire de la page Durée de location est incomplet.
invite l'utilisateur à renseigner le paramètre pickup_date_time.
("À quelles date et heure souhaitez-vous récupérer..."),
qui est ajoutée à la file d'attente de réponses.
L'agent envoie la file d'attente de réponses à l'utilisateur final.
Utilisateur final:J'aimerais récupérer la voiture le 5 mars à midi. Agent: À quelle date et à quelle heure souhaitez-vous déposer le véhicule ?
L'entrée de l'utilisateur final remplit la valeur pickup_date_time.
demandé par l'agent à l'étape précédente
conversation.
Il manque une autre valeur dans le formulaire de la page Durée de location.
L'utilisateur est donc invité à renseigner le paramètre drop_off_date_time.
("À quelle date et à quelle heure souhaitez-vous déposer..."),
qui est ajoutée à la file d'attente de réponses.
L'agent envoie la file d'attente de réponses à l'utilisateur final.
Utilisateur final:15 mars à midi. Agent: Donc, pour confirmer:
Vous récupérerez le véhicule dans
Las Vegas
2024-03-05 12:00:00 et le dépose
à Los Angeles
15-03-2024 12:00:00
Est-ce que cela vous convient ?
L'entrée de l'utilisateur final remplit la valeur drop_off_date_time.
demandé par l'agent à l'étape précédente
conversation.
La session effectue une transition vers la page Confirmer la durée de location.
La page Confirmer la durée de location contient un traitement des entrées
("Je confirme donc..."),
qui est ajoutée à la file d'attente de réponses.
L'agent envoie la file d'attente de réponses à l'utilisateur final.
Utilisateur final:Oui, merci. Agent: Génial ! Choisissons maintenant un véhicule. Agent:Est-ce que tu préfères un magasin économique ou de luxe ?
véhicule ?
L'intent small_talk.confirmation.yes
de la page Confirmer la durée de location correspond.
L'agent confirme le choix de l'utilisateur avec un message.
("Parfait ! Maintenant, choisissons..."),
qui est ajoutée à la file d'attente de réponses.
La session effectue une transition vers la page de clarification de véhicule.
Le formulaire de la page Identification du véhicule n'est pas rempli.
l'agent utilise le paramètre vehicle_type pour inviter l'utilisateur
("Aimeriez-vous un modèle économique ou de luxe..."),
qui est ajoutée à la file d'attente de réponses.
L'agent envoie la file d'attente de réponses à l'utilisateur final.
Utilisateur final:Des économies, s'il vous plaît. Agent:Préférez-vous la voiture Cymbal ou le camion Cymbal ?
L'intention $session.params.vehicle_type="economy_vehicle"
route est correspondante.
La session effectue une transition vers la page Options économiques.
La page Options économiques contient une entrée avec traitement.
("Voulez-vous voir..."),
qui est ajoutée à la file d'attente de réponses.
L'agent envoie la file d'attente de réponses à l'utilisateur final.
Utilisateur final:Cymbal Truck. Agent:Le camion Cymbal coûte 50,33 $par jour.
Il peut accueillir jusqu'à quatre personnes et est équipé d'une radio AM/FM.
Souhaitez-vous procéder au paiement ? Utilisateur final:Oui, s'il vous plaît.
L'intent $session.params.vehicle_type="Cymbal Truck"
route est mise en correspondance et le paramètre vehicle_model est renseigné.
La session effectue une transition vers la page Confirm Cymbal Truck (Confirmer le camion Cymbal).
La page Confirm Cymbal Truck (Confirmer le camion Cymbal) contient un traitement d'entrée
("Le camion Cymbal coûte 50,33 $par jour..."),
qui est ajoutée à la file d'attente de réponses.
L'agent envoie la file d'attente de réponses à l'utilisateur final.
La réponse de l'utilisateur correspond à small_talk.confirmation.yes.
via un routage réseau.
Agent: Quel type de carte utiliserez-vous ? Utilisateur final:Altostrat Agent:Veuillez saisir le numéro de carte. Utilisateur final:1234 1234 1234 1234 Agent: Quel est le nom sur la carte ? Utilisateur final:Charlie Agent: Quelle est l'adresse postale de facturation ? Utilisateur final:1800 Amphibious Blvd. Mountain View, Californie Agent: Quel est le code postal de facturation ? Utilisateur final:94045 Agent:Vous choisirez la voiture Cymbal.
à Las Vegas, le 05/03/2024 12:00:00,
"2024-03-15 12:00:00". Le total de ce trajet sera
175,38 €. Agent: Merci d'avoir loué et passé une excellente journée !
La session effectue une transition vers la page Paiement.
Le formulaire de paiement n'est pas rempli. L'agent vous y invite.
l'utilisateur pour les valeurs card_type, card_number,
billing_name, billing_street_address,
et billing_zip_code
("Quel type de carte sera..."),
qui sont ajoutés de manière séquentielle à la file d'attente de réponses et envoyés en tant que
répond. Les réponses de l'utilisateur définissent chaque valeur de paramètre.
La session effectue une transition vers la page de confirmation de location.
La page Confirmation de location contient un traitement d'entrée
("D'accord, votre retrait sera..."),
qui est ajoutée à la file d'attente de réponses.
L'agent envoie la file d'attente de réponses à l'utilisateur final.
La session effectue une transition vers la page End Session (Terminer la session).
Pour les événements MESSAGE ou ADDED_TO_SPACE, la requête saisie au
L'agent Dialogflow correspond à la valeur du champ argumentText dans
le message Chat. Si le message contient un
commande à barre oblique, la valeur de
le champ text est utilisé à la place.
Pour les événements CARD_CLICKED, entrée de la requête envoyée à l'agent Dialogflow.
est au format CARD_CLICKED.functionName, où functionName
correspond à la valeur du champ function de
Objet Action
attaché à l'élément interactif de la fiche (comme un bouton).
Charge utile JSON complète de chaque événement d'interaction Chat
est envoyée à Dialogflow en tant que charge utile personnalisée dans le paramètre de requête ; et
est accessible via un
Webhook Dialogflow
en interrogeant la valeur du champ WebhookRequest.payload.
Lorsque les applications Chat Dialogflow reçoivent un message avec une barre oblique
, l'entrée de requête ne contient que la valeur du champ text.
Le champ text commence par le nom de la commande à barre oblique (par exemple,
/command), que vous pouvez utiliser pour configurer l'intent d'un agent Dialogflow.
pour détecter une commande à barre oblique.
Pour afficher une boîte de dialogue de la
l'agent Dialogflow, répondre avec une seule charge utile JSON personnalisée qui
inclut un message contenant un DIALOGréponse d'action.
Pour traiter les données saisies à partir des cartes, l'agent Dialogflow peut détecter
les intents qui commencent par le texte CARD_CLICKED et répondent avec une
une seule charge utile JSON personnalisée contenant les
action.
Si l'agent Dialogflow répond par un seul message, le message
est envoyé à Google Chat de manière synchrone. Si l'agent Dialogflow répond
avec plusieurs messages, tous les messages sont envoyés vers Chat
de manière asynchrone en appelant la méthode
create
sur la ressource spaces.messages dans l'API Chat, une fois pour chaque
.
Lorsque vous utilisez l'intégration de Dialogflow CX avec Chat,
l'agent Dialogflow et l'application Chat doivent être définis
dans le même projet Google Cloud. Si vous devez configurer l'API Dialogflow
et Chat dans différents projets Cloud, vous pouvez
configurer un serveur intermédiaire
pour faciliter la connexion. Pour savoir comment procéder,
voir ceci
Exemple d'intégration Chat pour Dialogflow CX
sur GitHub.
Résoudre les problèmes
Lorsqu'une application ou
card renvoie une erreur, la
L'interface Chat affiche le message "Une erreur s'est produite".
ou "Impossible de traiter votre demande." Parfois, l'interface utilisateur de Chat
n'affiche aucun message d'erreur, mais que l'application ou
la carte produit un résultat inattendu. Par exemple, un message de fiche peut ne pas
s'affichent.
Même s'il est possible qu'aucun message d'erreur ne s'affiche dans l'interface utilisateur de Chat,
Des messages d'erreur descriptifs et des données de journaux sont disponibles pour vous aider à corriger les erreurs.
Lorsque la journalisation des erreurs est activée pour les applications Chat. Pour obtenir de l'aide,
le débogage et la correction des erreurs, consultez
Résoudre les problèmes liés à Google Chat
Effectuer un nettoyage
Afin d'éviter que des frais ne soient facturés sur votre compte Google Cloud pour
utilisées dans ce tutoriel, nous vous recommandons de supprimer
Google Cloud.
Dans la console Google Cloud, accédez à la page Gérer les ressources. Cliquez sur
Menumenu>IAM et Administrateur>Gérer les ressources.
Dans la liste des projets, sélectionnez celui que vous souhaitez supprimer, puis cliquez sur
Supprimezdelete.
Dans la boîte de dialogue, saisissez l'ID du projet, puis cliquez sur Arrêter pour le supprimer.
le projet.
Articles associés
Dialogflow CX prend une
machine à états
de conception d'agent Dialogflow, qui vous offre
de contrôler la conversation, d'améliorer l'expérience de l'utilisateur final
le workflow de développement d'applications. Lors de la création d'un objet Dialogflow
Application Chat, nous vous recommandons d'utiliser Dialogflow CX.
Pour en savoir plus sur la création et la configuration des agents, consultez
Agents Dialogflow CX.
Pour un tutoriel détaillé expliquant comment créer et configurer
les agents, consultez
Créez un agent Dialogflow CX.
codeAtelier de programmation:obtenir un exemple de création de données Dialogflow CX
consultez l'application Chat de connaissances
l'atelier de programmation
Créer des applications Google Chat avec Gemini
codeAtelier de programmation:obtenir un exemple de création d'un objet Dialogflow CX
agent conversationnel, consultez l'application Chat de commentaires
de l'atelier de programmation
Créer des applications Google Chat avec Gemini
Dialogflow ES
est une autre façon d'utiliser Dialogflow avec une application Chat.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2024/08/09 (UTC).
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"Il n'y a pas l'information dont j'ai besoin"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"Trop compliqué/Trop d'étapes"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"Obsolète"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"Problème de traduction"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"Mauvais exemple/Erreur de code"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"Autre"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"Facile à comprendre"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"J'ai pu résoudre mon problème"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"Autre"
}]
{
"last_modified": "Dernière mise à jour le 2024/08/09 (UTC).",
"state": ""
}