Cette page explique comment créer une application Google Chat capable de comprendre le langage naturel et de répondre avec à l'aide de Dialogflow. Ce guide utilise Dialogflow CX, qui est directement intégré à Google Chat. Vous pouvez également utiliser Dialogflow ES pour créer une application Google Chat Dialogflow ES en suivant le guide Google Chat Dialogflow ES.
Prenons l'exemple d'une application Chat qui aide les clients à louer une voiture. Si l'utilisateur écrit "Je voudrais louer une voiture", L'application Chat peut répondre "Où voulez-vous récupérer le véhicule ?", par exemple. Cette question lance une conversation semblable à un échange entre deux humains, dans laquelle l'application Chat comprend l'utilisateur et lui répond avec un phrasé naturel, tout en réservant la voiture.
Il ne s'agit que d'un exemple. Les applications de chat Dialogflow sont utiles dans tous les types d'interactions. Si elle nécessite un phrasé naturel, elle requiert une application de chat Dialogflow. Les agents prédéfinis vous aident à vous lancer rapidement et vous montrent ce que Dialogflow peut faire, par exemple :
- Réserver des vols
- Planifier des rendez-vous médicaux
- Commander des repas
- Répondre à des questions sur un catalogue de produits, par exemple pour savoir si des articles sont disponibles dans d'autres couleurs
-
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 diagramme montre un ensemble séquentiel de pages thématiques qui concernent des étapes spécifiques de la conversation, comme la définition d'un lieu de prise en charge et de restitution pour une voiture de location, et configure la logique qui les relie. La conversation est testée dans un simulateur. -
Figure 3 : Configuration d'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. Conversation sur la réservation d'une voiture de location avec l'application de chat Dialogflow dans Google Chat.
Objectifs
- configurer votre environnement ;
- Créez et déployez un agent Dialogflow CX.
- Créez et déployez une application Chat optimisée par l'agent Dialogflow CX.
- Testez l'application Chat.
Prérequis
- Compte Google Workspace Business ou Enterprise ayant accès à Google Chat.
- Un projet Google Cloud avec facturation activée. Pour vérifier si la facturation est activée pour un projet existant, consultez Vérifier l'état de facturation de vos projets. Pour créer un projet et configurer la facturation, consultez Créer un projet Google Cloud.
Architecture
Le schéma suivant illustre l'architecture d'une application de chat conçue avec Dialogflow :
Dans le diagramme précédent, un utilisateur qui interagit avec une application de chat Dialogflow suit 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.
- Si vous le souhaitez, vous pouvez utiliser un webhook Dialogflow pour permettre à l'agent Dialogflow d'interagir avec des services tiers externes, tels qu'un système de gestion de projet ou un outil de gestion des tickets.
- 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 bon projet Cloud, 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. Il s'agit d'un module de compréhension du langage naturel qui saisit les nuances du langage humain. Dialogflow traduit le texte de l'utilisateur final au cours d'une conversation en données structurées assimilables par vos applications et vos services. Vous pouvez créer un agent Dialogflow conçu pour gérer les types de conversations requis pour votre système.
Un agent Dialogflow est comparable à un agent humain de centre d'appels. L'un comme l'autre doivent apprendre à gérer les scénarios de conversation attendus, sans qu'il soit nécessaire de leur dispenser un entraînement/une formation 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 Tous, puis le rechercher.
Vous pouvez désormais choisir un agent prédéfini ou créer le vôtre. Si vous préférez explorer la personnalisation des agents en détail plus tard, choisissez l'un 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 :
- Cliquez sur Utiliser des agents prédéfinis.
Sélectionnez un agent prédéfini. Pour ce guide, sélectionnez Voyage : location de voiture.
Les agents sont classés comme débutants, intermédiaires ou avancés en fonction du nombre de fonctionnalités qu'ils utilisent et de la sophistication de leur 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 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 Créer votre propre agent pour créer d'autres types d'agents.
Pour obtenir un tutoriel détaillé sur la création d'un agent, consultez 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. Une fois l'agent créé, vous ne pouvez plus modifier sa langue par défaut.
Cliquez sur Créer. Dialogflow CX commence à créer l'agent, puis affiche son flux de démarrage par défaut.
Vous pouvez également personnaliser l'agent. Pour obtenir un tutoriel détaillé sur la personnalisation des agents, consultez 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" (Flux), sélectionnez Default Start Flow (Flux de démarrage par défaut).
- Dans "Page", sélectionnez Page de démarrage.
- Dans la barre de rédaction Parler à l'agent, saisissez
Hello, puis appuyez sur Entrée. L'agent répond en se présentant. - Effectuez le test en ayant la conversation de test.
L'agent Dialogflow CX est créé. Revenez à la console Dialogflow CX. Cliquez sur Menu > Dialogflow CX.
Sous Agents, cliquez sur > Copier le nom. Enregistrez ce nom, car vous l'utiliserez lors de la configuration de 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", puis cliquez sur API Google Chat, puis sur Gérer.
Cliquez sur Configuration et configurez l'application Chat :
- Dans le champ Nom de l'application, saisissez
Dialogflow App. - Dans 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 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 Créer un agent Dialogflow CX.
- Rendez cette application Chat accessible à certains utilisateurs et groupes de votre domaine, puis saisissez votre adresse e-mail.
- Sous Journaux, sélectionnez Consigner les erreurs dans Logging.
- Dans le champ Nom de l'application, saisissez
Cliquez sur Enregistrer.
L'application Chat est prête à recevoir des messages et à y répondre.
Tester l'application Chat
Testez l'application Chat Dialogflow CX en lui envoyant un message dans Google Chat.
Ouvrez Google Chat avec le compte Google Workspace que vous avez fourni lorsque vous vous êtes ajouté en tant que testeur de confiance.
- Cliquez sur Nouvelle discussion.
- 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'ouvre.
Dans le nouveau message privé contenant l'application, saisissez
Helloet appuyez surenter.L'application Chat Dialogflow répond en se présentant.
- Effectuez le test en ayant la conversation de test.
Exemple de conversation de test
Pour tester l'application de chat Dialogflow CX dans la console Dialogflow CX ou dans Google Chat, engagez la conversation suivante. L'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 Voyage : location de voiture.
| Dialog | Explication |
|---|---|
|
Utilisateur final : Bonjour Agent : Bonjour ! Je suis l'agent virtuel pour les locations de voitures. Je peux vous aider à effectuer une nouvelle réservation de location de voiture. Comment puis-je vous aider aujourd'hui ? |
|
|
Utilisateur final : Je voudrais louer une voiture. Agent : Où souhaitez-vous récupérer le véhicule ? |
|
|
Utilisateur final : Las Vegas Agent : OK, votre retrait aura lieu à Las Vegas. Agent : Votre lieu de dépose est-il différent de votre lieu de prise en charge ? |
|
|
Utilisateur final : oui. Je déposerai la voiture à Los Angeles. Agent : D'accord, votre dépose aura lieu à Los Angeles. Agent : À quelle date et à quelle heure souhaitez-vous récupérer le véhicule ? |
|
|
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 ? |
|
|
Utilisateurs finaux : 15 mars à midi. Agent : Pour confirmer : Vous récupérerez le véhicule à Las Vegas 2024-03-05 12:00:00 et le déposerez à Los Angeles 2024-03-15 12:00:00 Est-ce exact ? |
|
|
Utilisateur final : Oui, merci. Agent : Parfait ! Choisissons maintenant un véhicule. Agent : Souhaitez-vous un véhicule économique ou de luxe ? |
|
|
Utilisateur final : Économique, s'il vous plaît. Agent : Souhaitez-vous la voiture ou le camion Cymbal ? |
|
|
Utilisateur final : Cymbal Truck. Agent : Le Cymbal Truck coûte 50,33 $ par jour. Il peut accueillir quatre personnes et est équipé d'une radio AM/FM. Souhaitez-vous passer au paiement ? Utilisateur final : Oui, s'il vous plaît. |
|
|
Agent : Quel type de carte allez-vous utiliser ? Utilisateur final : Altostrat Agent : Veuillez saisir le numéro de carte. Utilisateur final : 1234 1234 1234 1234 Agent : Quel est le nom figurant sur la carte ? Utilisateur final : Charlie Agent : Quelle est l'adresse de facturation ? Utilisateur final : 1800 Amphibious Blvd. Mountain View, CA Agent : Quel est le code postal de facturation ? Utilisateur final : 94045 Agent : Vous récupérerez la Cymbal Car à Las Vegas le 05/03/2024 à 12h00 et la déposerez le 15/03/2024 à 12h00. Le montant total de ce trajet sera de 175,38 $. Agent : Merci d'avoir loué un véhicule chez nous. Bonne journée ! |
|
Envoyer des messages de carte depuis Dialogflow
Dialogflow peut répondre avec des messages textuels ou des cartes. Pour répondre avec un message sous forme de fiche, spécifiez-le comme charge utile personnalisée dans fulfillment.
Le code JSON suivant montre comment envoyer un message de carte en tant que charge utile personnalisée dans l'exécution :
json
{ "hostAppDataAction": { "chatDataAction": { "createMessageAction": {
"message": { "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 points à prendre en compte
- Lorsque vous utilisez des applications Google Chat avec Dialogflow, les objets d'événement Chat présentent les limites et les points à prendre en compte suivants :
- Événements de l'application Home : la prise en charge des événements
APP_HOMEn'est pas encore disponible. - Entrée de requête Dialogflow : le texte envoyé en tant qu'entrée de requête à l'agent Dialogflow dépend du type d'événement :
MESSAGE: valeur du champargumentTextdu message de chat.APP_COMMAND: chaîne"APP_COMMAND_PAYLOAD".ADDED_TO_SPACE: chaîne"ADDED_TO_SPACE_PAYLOAD".REMOVED_FROM_SPACE: chaîne"REMOVED_FROM_SPACE_PAYLOAD".CARD_CLICKED: chaîne"BUTTON_CLICKED_PAYLOAD".WIDGET_UPDATED: chaîne"WIDGET_UPDATED_PAYLOAD"(utilisée pour la saisie semi-automatique).
- Charge utile complète de l'événement : la charge utile JSON complète de l'événement d'interaction de chat est envoyée à Dialogflow dans le champ
WebhookRequest.payload. Vous pouvez y accéder dans votre webhook Dialogflow. Pour en savoir plus, consultez la documentation sur les requêtes de webhook Dialogflow CX.
- Événements de l'application Home : la prise en charge des événements
- Points à prendre en compte pour répondre aux commandes et recevoir des données à partir de fiches ou de boîtes de dialogue :
- Si l'agent Dialogflow doit traiter la charge utile JSON de l'événement d'interaction de 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 à partir de l'agent Dialogflow, répondez avec une seule charge utile JSON personnalisée contenant un objet
RenderActionsavec la navigationpushCard. - Pour traiter les données saisies à partir de cartes, vous pouvez utiliser un webhook Dialogflow et répondre avec une seule charge utile JSON personnalisée contenant l'action appropriée.
- Les aperçus de liens ne sont pas acceptés.
- Si l'agent Dialogflow ne répond qu'avec un seul message, celui-ci est envoyé à Google Chat de manière synchrone. Si l'agent Dialogflow répond avec plusieurs messages, tous les messages sont envoyés à Chat de manière asynchrone en appelant la méthode
createsur la ressourcespaces.messagesdans 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 différents projets Cloud, vous pouvez configurer un serveur intermédiaire pour faciliter la connexion. Pour en savoir plus, consultez l'exemple d'intégration de Chat pour Dialogflow CX sur GitHub.
Résoudre les problèmes
Pour déboguer votre application Chat, commencez par examiner les journaux d'erreurs. Comme cette application utilise Dialogflow, vous disposez de plusieurs ressources de journalisation et de dépannage :
Journaux des modules complémentaires Google Workspace : interrogez les journaux pour obtenir des informations détaillées sur le comportement de l'application Chat, y compris ses interactions avec Chat. Consultez Interroger les journaux des modules complémentaires Google Workspace.
Erreurs de l'application Google Chat : pour obtenir des informations générales sur les messages d'erreur et les solutions de l'application Chat, consultez Résoudre les erreurs de l'application Chat.
Cloud Logging Dialogflow CX : assurez-vous que Cloud Logging est activé dans les paramètres de votre agent Dialogflow pour capturer des journaux d'exécution détaillés, y compris les erreurs de l'agent et les interactions avec le webhook. Découvrez comment activer et configurer cette fonctionnalité dans la documentation sur les paramètres de l'agent Dialogflow CX. Vous pouvez consulter ces journaux dans l'explorateur de journaux de la console Google Cloud.
Historique des conversations Dialogflow CX : consultez les interactions précédentes pour comprendre le déroulement des conversations et identifier les points où des problèmes se produisent. Consultez Historique des conversations.
Dépannage général de Dialogflow : pour les problèmes plus généraux liés à Dialogflow, consultez le guide de dépannage de Dialogflow CX.
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 des agents Dialogflow. Vous bénéficiez ainsi d'un contrôle clair et explicite sur une conversation, d'une meilleure expérience utilisateur final et d'un workflow de développement amélioré. Lorsque vous créez une application Chat Dialogflow, nous vous recommandons d'utiliser Dialogflow CX.
- Pour en savoir plus sur la création et la configuration d'agents, consultez Agents Dialogflow CX.
- Pour obtenir un tutoriel détaillé sur la création et la configuration d'agents, consultez Créer un agent Dialogflow CX.
- Atelier de programmation : pour obtenir un exemple de création d'un agent de data store Dialogflow CX, consultez l'application de chat de connaissances de l'atelier de programmation Créer des applications pour Google Chat avec Gemini.
- Atelier de programmation : pour obtenir un exemple de création d'un agent conversationnel Dialogflow CX, consultez l'application de chat de commentaires de l'atelier de programmation Créer des applications pour Google Chat avec Gemini.
- Dialogflow ES est une autre façon d'utiliser Dialogflow avec une application Chat.
Applications de chat qui ne sont pas des modules complémentaires : créer une application Google Chat Dialogflow CX
Si vous créez ou gérez une application Chat qui n'est pas un module complémentaire Google Workspace, notez les différences suivantes en termes de configuration, de charge utile et d'événements.
Configurer une application Chat Dialogflow CX qui n'est pas un module complémentaire
Lorsque vous configurez l'API Google Chat dans la console Google Cloud :
- Décochez la case Créer cette application Chat en tant que module complémentaire Google Workspace. Une boîte de dialogue s'ouvre pour vous demander de confirmer. Dans la boîte de dialogue, cliquez sur Désactiver.
- Renseignez les paramètres de configuration Dialogflow CX restants, puis cliquez sur Enregistrer.
Envoyer des messages de fiche à partir d'une application Chat Dialogflow CX qui n'est pas un module complémentaire
Dans une application Chat qui n'est pas un module complémentaire, spécifiez un objet cardsV2 de premier niveau dans la charge utile personnalisée Dialogflow du 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 points à prendre en compte pour les applications de chat Dialogflow CX qui ne sont pas des modules complémentaires
- Les événements d'interaction par chat sont soumis aux conditions et considérations suivantes :
- Les types d'événements d'interaction suivants sont acceptés :
MESSAGEADDED_TO_SPACECARD_CLICKED
- Pour les événements
MESSAGEouADDED_TO_SPACE, l'entrée de requête envoyée à l'agent Dialogflow correspond à la valeur du champargumentTextdans le message de chat. Si le message inclut une commande à barre oblique, la valeur du champtextest utilisée à la place. - Pour les événements
CARD_CLICKED, l'entrée de requête envoyée à l'agent Dialogflow est mise en forme en tant queCARD_CLICKED.functionName, oùfunctionNamecorrespond à la valeur du champfunctionde l'objet Action associé à l'élément de fiche interactive (comme un bouton). - La charge utile JSON complète de chaque événement d'interaction de chat est envoyée à Dialogflow en tant que charge utile personnalisée dans le paramètre de requête. Elle 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 :
- Points à prendre en compte pour répondre aux commandes à barre oblique et recevoir des données à partir de fiches ou de boîtes de dialogue dans les applications de chat qui ne sont pas des modules complémentaires :
- Lorsque des applications de chat Dialogflow qui ne sont pas des modules complémentaires reçoivent un message avec une commande à barre oblique, l'entrée de requête ne contient que la valeur du champ
text. Le champtextcommence par le nom de la commande à barre oblique (par exemple,/command), que vous pouvez utiliser pour configurer l'intention d'un agent Dialogflow afin de détecter une commande à barre oblique. - Pour afficher une boîte de dialogue de l'agent Dialogflow dans une application Chat qui n'est pas un module complémentaire, répondez avec une seule charge utile JSON personnalisée incluant un message contenant une réponse d'action
DIALOG. - Pour traiter les données saisies à partir de cartes dans une application Chat qui n'est pas un module complémentaire, l'agent Dialogflow peut détecter les intents qui commencent par le texte
CARD_CLICKEDet répondre avec une seule charge utile JSON personnalisée contenant l'action appropriée.
- Lorsque des applications de chat Dialogflow qui ne sont pas des modules complémentaires reçoivent un message avec une commande à barre oblique, l'entrée de requête ne contient que la valeur du champ