Cette page explique comment créer une application Google Chat capable de comprendre le langage naturel et d'y répondre à l'aide de Dialogflow. Ce guide utilise Dialogflow CX, qui s'intègre directement à Google Chat. Vous pouvez également utiliser Dialogflow ES pour créer une application Google Chat Dialogflow ES en suivant le guide Dialogflow ES Google Chat.
Prenons l'exemple d'une application Chat qui aide les utilisateurs à louer une voiture. Un utilisateur peut écrire : "Je voudrais louer une voiture". L'application Chat peut répondre par une question telle que "Où souhaitez-vous récupérer le véhicule ?", qui démarre une conversation semblable à celle d'un humain avec l'utilisateur. L'application Chat comprend et répond par des propos humains lors de la réservation de la location de voiture.
Ceci n'est qu'un exemple. Les applications de chat Dialogflow sont utiles dans tous les types d'interactions. S'il nécessite une voix humaine naturelle, elle appelle une application Dialogflow Chat. Les agents prédéfinis vous aident à démarrer rapidement et vous montrent ce que Dialogflow peut faire, 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 couleurs) ;
-
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éer et déployer une application de chat fournie par l'agent Dialogflow CX
- Testez l'application Chat.
Conditions préalables
- Un compte Google Workspace ayant accès à Google Chat.
- Un projet Google Cloud.
- Assurez-vous d'activer la facturation pour votre projet Cloud. Découvrez comment vérifier l'état de facturation de vos projets.
Architecture
Le schéma suivant illustre l'architecture d'une application Chat créée avec Dialogflow:
Dans le schéma précédent, un utilisateur interagissant avec une application Dialogflow Chat présente le flux d'informations suivant:
- Un utilisateur envoie un message dans Chat à une application Chat, soit dans un message privé, soit dans un espace Chat.
- Un agent virtuel Dialogflow, qui réside dans Google Cloud, reçoit et traite le message pour produire une réponse.
- À l'aide d'un webhook Dialogflow, l'agent Dialogflow peut éventuellement interagir avec des services tiers externes, tels qu'un système de gestion de projets ou un outil de billetterie.
- L'agent Dialogflow renvoie une réponse au service de l'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 dans le projet Cloud approprié, puis cliquez sur Suivant.
Vérifiez que vous activez les API appropriées, puis cliquez sur Activer.
Créer un agent Dialogflow CX
Un 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 au cours d'une conversation en données structurées compréhensibles par vos applications et services. Vous concevez et créez un agent Dialogflow pour gérer les types de conversations requis pour votre système.
Un agent Dialogflow est comme un agent humain de centre d'appels. Vous les entraînez tous les deux à gérer les scénarios de conversation attendus, et votre entraînement n'a pas besoin d'être trop explicite.
Voici comment créer l'agent Dialogflow CX:
Dans la console Dialogflow CX, ouvrez la console Dialogflow CX. Cliquez sur Menu > Dialogflow CX.
Choisissez un projet Google Cloud. Pour trouver votre projet, vous devrez peut-être cliquer sur All (Tous), puis le rechercher.
Vous pouvez maintenant choisir un agent prédéfini ou créer le vôtre. Si vous préférez explorer la personnalisation des agents plus en détail ultérieurement, choisissez l'un des agents prédéfinis. Ils vous seront é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 classés comme débutant, intermédiaire ou avancé en fonction du nombre de fonctionnalités qu'ils utilisent et de la sophistication de sa logique de conversation. Le choix d'un agent intermédiaire ou avancé peut nécessiter des personnalisations et des paramètres spécifiques à l'agent, y compris l'activation de fonctionnalités et d'API dans la 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 un agent de data store ou sélectionnez Créer le vôtre pour créer d'autres types d'agents.
Pour un tutoriel détaillé sur le processus de création d'un agent, consultez la section Créer un agent Dialogflow CX.
Configurez les paramètres de base de l'agent:
- Dans Nom à afficher, saisissez un nom à afficher.
- Sélectionnez votre lieu préféré. Si vous souhaitez modifier les paramètres de localisation avancés, cliquez sur Modifier.
- Sélectionnez le fuseau horaire de votre choix.
- Sélectionnez la langue par défaut de votre agent. Vous ne pouvez pas modifier la langue par défaut d'un agent après sa création.
Cliquez sur Créer. Dialogflow CX commence à créer l'agent, puis affiche le flux de démarrage par défaut de l'agent.
Vous pouvez également personnaliser l'agent. Pour découvrir en détail le processus de personnalisation de l'agent, consultez la page Créer un agent Dialogflow CX.
Nous vous recommandons de tester l'agent:
- Cliquez sur Tester l'agent.
- Sélectionnez Tester l'agent dans l'environnement.
- Dans "Environnement", sélectionnez Brouillon.
- Dans "Flow", sélectionnez Default Start Flow (Flux de démarrage par défaut).
- Dans "Page", sélectionnez Page d'accueil.
- Dans la barre de rédaction Parler à l'agent, saisissez
Hello
, puis appuyez sur Entrée. L'agent répond en se présentant. - Terminez le test en suivant cet exemple de conversation test.
L'agent Dialogflow CX est créé. Revenez à la console Dialogflow CX. Cliquez sur Menu > Dialogflow CX.
Sous Agents, cliquez sur > Copy name (Copier le nom). Enregistrez ce nom, tel que vous l'utilisez pour configurer l'application Chat.
Créer une application Chat et la connecter à l'agent Dialogflow
Après avoir créé un agent Dialogflow CX, procédez comme suit pour le transformer en application Chat:
Dans la console Google Cloud, accédez à l'API Google Chat. Recherchez "API Google Chat" et cliquez sur API Google Chat, puis sur Gérer.
Cliquez sur Configuration et configurez l'application Chat:
- Dans Nom de l'application, saisissez
Dialogflow App
. - Dans le champ URL de l'avatar, saisissez
https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png
. - Dans Description, saisissez
Responds to real human conversation
. - Sous Fonctionnalité, sélectionnez Recevoir des messages privés et Rejoindre des espaces et des conversations de groupe.
- Sous Paramètres de connexion, sélectionnez Dialogflow.
- Sous Paramètres Dialogflow, sélectionnez Dialogflow CX.
- Dans Nom de l'agent ou de la ressource d'environnement, collez le nom de l'agent Dialogflow CX que vous avez copié à la fin de la section Créer un agent Dialogflow CX.
- Rendez cette application de chat disponible pour des personnes et des groupes spécifiques de votre domaine, puis saisissez votre adresse e-mail.
- Sous Journaux, sélectionnez Consigner les erreurs dans Logging.
- Dans Nom de l'application, saisissez
Cliquez sur Enregistrer.
L'application Chat est prête à recevoir des messages et à y répondre dans Chat.
Tester l'application Chat
Testez l'application Chat Dialogflow CX en l'envoyant dans Google Chat.
Ouvrez Google Chat à l'aide du compte Google Workspace que vous avez indiqué lorsque vous vous êtes ajouté en tant que testeur de confiance.
- Cliquez sur Nouveau chat.
- Dans le champ Ajouter une ou plusieurs personnes, saisissez le nom de votre application Chat.
Sélectionnez votre application Chat dans les résultats. Un message privé s'affiche.
Dans le nouveau message privé avec l'application, saisissez
Hello
et appuyez surenter
.L'application Dialogflow Chat répond en se présentant.
- Terminez le test en vous servant de l'exemple de conversation test.
Exemple de conversation test
Pour tester l'application de chat Dialogflow CX 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 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 l'agent prédéfini Travel: car Rental.
Boîte de dialogue | Explication |
---|---|
Utilisateur final:Bonjour Agent:Bonjour ! Je suis l'agent de location de voitures virtuel. Je peux vous aider à réserver une nouvelle voiture de location. Que puis-je faire pour vous aujourd'hui ? |
|
Utilisateur final:Je souhaite louer une voiture. Agent:Où souhaitez-vous récupérer le véhicule ? |
|
Utilisateur final:Las Vegas Agent:D'accord, votre prise en charge aura lieu à Las Vegas. Agent:Votre lieu de dépôt est-il différent de votre lieu de prise en charge ? |
|
Utilisateur final:oui. Je déposerai la voiture à Los Angeles. Agent:D'accord, vous allez descendre à Los Angeles. Agent:À quelles date et heure souhaitez-vous récupérer le véhicule ? |
|
Utilisateur final:J'aimerais récupérer la voiture le 5 mars à midi. Agent:À quelles date et heure souhaitez-vous déposer le véhicule ? |
|
Utilisateur final:15 mars à midi. Agent:Pour confirmation : Vous allez récupérer le véhicule à Las Vegas 2024-03-05 12:00:00 et le déposer à Los Angeles 2024-03-15 12:00:00 C'est bien cela ? |
|
Utilisateur final:Oui, merci. Agent:Parfait ! Choisissons maintenant un véhicule. Agent:Aimeriez-vous un véhicule économique ou de luxe ? |
|
Utilisateur final:Des économies, s'il vous plaît. Agent:Préférez-vous la voiture Cymbal ou le camion Cymbal ? |
|
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. |
|
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 pour la facturation ? Utilisateur final:1800 Amphibious Blvd. Mountain View, CA Agent:Quel est le code postal de facturation ? Utilisateur final:94045 Agent:Vous allez récupérer la voiture Cymbal à Las Vegas le 05/03/2024 à 12:00:00 et la déposer le 15/03/2024 à 12:00:00. Le total de ce trajet sera de 175,38 $. Agent:Merci d'avoir loué notre service et bonne journée ! |
|
Envoyer des messages de cartes depuis Dialogflow
Dialogflow peut répondre par des messages texte ou carte. Pour répondre avec un message de carte, spécifiez-le en tant que charge utile personnalisée dans le fulfillment.
Le code JSON suivant montre comment envoyer un message de carte en tant que charge utile personnalisée dans le fulfillment:
json
{
'cardsV2': [{
'cardId': 'createCardMessage',
'card': {
'header': {
'title': 'A card message!',
'subtitle': 'Sent from Dialogflow',
'imageUrl': 'https://developers.google.com/chat/images/chat-product-icon.png',
'imageType': 'CIRCLE'
},
'sections': [
{
'widgets': [
{
'buttonList': {
'buttons': [
{
'text': 'Read the docs!',
'onClick': {
'openLink': {
'url': 'https://developers.google.com/workspace/chat'
}
}
}
]
}
}
]
}
]
}
}]
}
Limites et considérations
- Les événements d'interaction avec le chat bénéficient d'une compatibilité limitée. Voici quelques points à prendre en compte :
- Les types d'événements d'interaction suivants sont acceptés :
MESSAGE
ADDED_TO_SPACE
CARD_CLICKED
- Pour les événements
MESSAGE
ouADDED_TO_SPACE
, l'entrée de requête envoyée à l'agent Dialogflow correspond à la valeur du champargumentText
dans le message Chat. Si le message inclut une commande à barre oblique, la valeur du champtext
est utilisée à la place. - Pour les événements
CARD_CLICKED
, l'entrée de la requête envoyée à l'agent Dialogflow est au formatCARD_CLICKED.functionName
, oùfunctionName
correspond à la valeur du champfunction
de l'objet Action associé à l'élément interactif de la fiche (comme un bouton). - La 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 avec un webhook Dialogflow en interrogeant la valeur du champ
WebhookRequest.payload
.
- Les types d'événements d'interaction suivants sont acceptés :
- Éléments à prendre en compte pour répondre aux commandes à barre oblique et recevoir des données à partir de cartes ou de boîtes de dialogue :
- Lorsque les applications Chat Dialogflow reçoivent un message contenant une commande à barre oblique, l'entrée de la requête ne contient que la valeur du champ
text
. Le champtext
commence par le nom de la commande à barre oblique (par exemple,/command
), que vous pouvez utiliser pour configurer l'intent d'un agent Dialogflow permettant de détecter une commande à barre oblique. - Si l'agent Dialogflow doit traiter la charge utile JSON d'événement d'interaction Chat, il peut le faire à l'aide d'un webhook Dialogflow pour inspecter la charge utile personnalisée dans le paramètre de requête.
- Pour afficher une boîte de dialogue de l'agent Dialogflow, répondez avec une seule charge utile JSON personnalisée qui inclut un message contenant une réponse d'action
DIALOG
. - Pour traiter les données provenant des cartes, l'agent Dialogflow peut détecter les intents qui commencent par le texte
CARD_CLICKED
et répondre avec une seule charge utile JSON personnalisée contenant l'action appropriée.
- Lorsque les applications Chat Dialogflow reçoivent un message contenant une commande à barre oblique, l'entrée de la requête ne contient que la valeur du champ
- Les aperçus de liens ne sont pas disponibles.
- Si l'agent Dialogflow répond par un seul message, celui-ci est envoyé à Google Chat de manière synchrone. Si l'agent Dialogflow répond par plusieurs messages, tous les messages sont envoyés à Chat de manière asynchrone en appelant la méthode
create
sur la ressourcespaces.messages
dans l'API Chat une fois pour chaque message. - Lorsque vous utilisez l'intégration Dialogflow CX avec Chat, l'agent Dialogflow et l'application Chat doivent être configurés dans le même projet Google Cloud. Si vous devez configurer Dialogflow et Chat dans des projets Cloud différents, vous pouvez configurer un serveur intermédiaire pour faciliter la connexion. Pour savoir comment procéder, consultez cet exemple d'intégration de Chat pour Dialogflow CX sur GitHub.
Résoudre les problèmes
Lorsqu'une application ou une fiche Google Chat renvoie une erreur, l'interface Chat affiche le message "Une erreur s'est produite". ou "Impossible de traiter votre demande." Parfois, l'UI Chat n'affiche aucun message d'erreur, mais que l'application ou la fiche Chat produit un résultat inattendu (par exemple, un message de fiche ne s'affiche pas).
Même s'il est possible qu'un message d'erreur ne s'affiche pas 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 concernant l'affichage, le débogage et la correction des erreurs, consultez Dépanner et corriger les erreurs dans Google Chat.
Effectuer un nettoyage
Pour éviter que les ressources utilisées dans ce tutoriel soient facturées sur votre compte Google Cloud, nous vous recommandons de supprimer le projet Cloud.
- Dans la console Google Cloud, accédez à la page Gérer les ressources. Cliquez sur Menu > IAM et administration > Gérer les ressources.
- Dans la liste des projets, sélectionnez celui que vous souhaitez supprimer, puis cliquez sur Supprimer .
- Dans la boîte de dialogue, saisissez l'ID du projet, puis cliquez sur Arrêter pour supprimer le projet.
Articles associés
- Dialogflow CX adopte une approche de machine à états pour la conception de l'agent Dialogflow, qui vous offre un contrôle clair et explicite sur une conversation, une meilleure expérience utilisateur et un workflow de développement optimisé. Lorsque vous créez une application Dialogflow Chat, nous vous recommandons d'utiliser Dialogflow CX.
- Pour en savoir plus sur la création et la configuration des agents, consultez la page Agents Dialogflow CX.
- Pour découvrir en détail comment créer et configurer des agents, consultez la page Créer un agent Dialogflow CX.
- Créer des applications Google Chat avec Gemini. Atelier de programmation:pour savoir comment créer un agent de data store Dialogflow CX, consultez l'application Knowledge Chat de l'atelier de programmation
- Créer des applications Google Chat avec Gemini. Atelier de programmation:pour savoir comment créer un agent conversationnel Dialogflow CX, consultez l'application Chat dédiée aux commentaires de l'atelier de programmation
- Dialogflow ES est un autre moyen d'utiliser Dialogflow avec une application Chat.