Créer un agent RBM fourni par Dialogflow (version de base)

Dans cet atelier de programmation, vous allez apprendre à créer une interface de conversation à l'aide de Dialogflow pour alimenter un agent RBM sans écrire de code.

Que allez-vous créer dans cet atelier de programmation ?

  • Agent Dialogflow alimentant la conversation d'un agent RBM
  • Interface de conversation pour une pizzeria fictive qui propose aux utilisateurs une remise et leur permet de consulter le menu du restaurant

Points abordés

  • Utiliser la construction principale Dialogflow d'un intent pour créer une interface de conversation
  • Comment créer des types de réponses RBM à partir de Dialogflow afin de créer une expérience RBM enrichie pour les utilisateurs

Prérequis

  • Votre compte Google sur la plate-forme RBM

Créer et interroger votre premier agent

Durée : 30 min

Créer votre premier agent Dialogflow

Pour créer un agent Dialogflow:

  1. Ouvrez un nouvel onglet et connectez-vous à Dialogflow.
  2. Cliquez sur Créer un agent dans le panneau de navigation de gauche.

  3. Saisissez "CodelabRBMPizzaPlace" comme nom d'agent, "anglais" comme langue par défaut et définissez le fuseau horaire par défaut sur le fuseau horaire de votre choix.

  4. Cliquez sur Créer.

La console Dialogflow

La console Dialogflow doit s'afficher. Si vous travaillez sur un petit écran et que le volet de navigation de gauche est masqué, cliquez sur le bouton de navigation en haut à gauche. Le bouton des paramètres vous permet d'accéder aux paramètres de l'agent actuel.

Le milieu de la page affiche la liste des intents de l'agent. Par défaut, les agents Dialogflow commencent avec deux intents. Votre agent correspond à Intent de remplacement par défaut s'il ne comprend pas ce que disent vos utilisateurs. L'intent d'accueil par défaut accueille vos utilisateurs. Vous pouvez modifier ces intents pour personnaliser l'expérience.

À droite se trouve le simulateur Dialogflow. Vous pouvez ainsi tester votre agent en parlant ou en saisissant des messages.

Interroger votre agent

Les agents Dialogflow sont mieux décrits comme des modules NLU (Natural Language Understanding, compréhension du langage naturel). Vous pouvez les inclure dans votre application, produit ou service pour transformer les requêtes naturelles des utilisateurs en données exploitables.

Il est temps d'essayer votre agent ! Dans le simulateur de droite, cliquez sur le champ de texte Try it now (Essayer), saisissez "Hi"", puis appuyez sur Entrée.

Dialogflow identifie la requête, correspond à l'intent d'accueil par défaut et répond avec un message d'accueil générique. Cela fonctionne parce que Dialogflow entraîne automatiquement l'intent d'accueil par défaut avec des exemples de messages d'accueil.

Créer un agent RBM

Connectez-vous à la console développeur de Business Communications, puis cliquez sur Créer un agent.

Dans le champ "Name" (Nom), saisissez le nom de votre restaurant "Pizza Place" (par exemple, "Sean’s Pizza Place""), sélectionnez une région, puis cliquez sur Create agent (Créer un agent).

Connecter votre agent RBM à Dialogflow

Une fois votre agent RBM créé, cliquez dessus pour afficher sa page Présentation. Cliquez sur le lien Intégrations dans le panneau de navigation de gauche.

Par défaut, les agents RBM utilisent Google Cloud Pub/Sub pour gérer les messages destinés aux utilisateurs. Pour connecter votre agent RBM à l'agent Dialogflow que vous avez créé précédemment, cliquez sur l'intégration de Dialogflow.

Dans la boîte de dialogue, cliquez sur Connecter un modèle existant. Suivez les instructions pour autoriser votre agent RBM à appeler votre agent Dialogflow. Une fois que vous avez suivi toutes les instructions, cliquez sur Suivant.

Enfin, vous devez fournir l'ID du projet Dialogflow. Dans un onglet de navigateur différent de celui de la console de développement Business Communications, accédez à Dialogflow et ouvrez l'agent CodelabRBMPizzaPlace que vous avez créé précédemment. Cliquez sur l'icône en forme de roue dentée à côté du nom du projet dans le panneau de navigation de gauche.

Vous accédez alors aux paramètres du modèle. Sous PROJET GOOGLE, recherchez et copiez l'ID du projet.

Revenez à l'onglet dans lequel la Business Communications Developer Console est ouverte, collez l'ID du projet dans la boîte de dialogue, puis cliquez sur Démarrer l'intégration.

Ce processus prend environ deux minutes. Une fois l'opération terminée, l'option d'intégration Dialogflow doit être encadrée et un lien View agent (Afficher l'agent) doit être disponible.

Tous les messages échangés avec votre agent sont désormais gérés par l'agent Dialogflow CodelabRBMPizzaPlace.

Inviter votre appareil de test et envoyer un message

Avant de vous lancer dans Dialogflow, configurez votre appareil de test. Si vous ne disposez pas déjà d'un appareil capable de recevoir des messages RBM, suivez ce guide pour le préparer.

Dans la console de développement Business Communications, cliquez sur Appareils dans le menu de navigation de gauche. Dans le formulaire, saisissez le numéro de téléphone complet de votre appareil au format E.164 (par exemple, +12223334444), puis cliquez sur Ajouter.

Vous recevez l'invitation à tester sur votre appareil. Appuyez sur Faire de moi un testeur.

Dans votre navigateur, recherchez votre appareil dans la liste Appareils, puis envoyez-lui un message de test. Si vous avez reçu un message sur votre appareil de la part de votre agent RBM, vous êtes prêt à poursuivre cet atelier de programmation.

Créer votre intent de bienvenue

Généralement, avec un agent RBM fourni par Dialogflow, pour lancer une conversation, vous effectuez un appel d'API spécifiant le numéro de téléphone de l'utilisateur et l'intent Dialogflow qui démarre la conversation (généralement l'intent de bienvenue de l'agent). Pour cet atelier de programmation, nous ignorons cette étape et utilisons à la place le fil de discussion que nous avons déjà créé à l'étape précédente avec l'appareil de test de la console de développement Business Communications. Toutefois, si vous souhaitez en savoir plus sur cette fonctionnalité d'API, consultez ce guide.

Commençons par ajouter des réponses RBM à l'intent d'accueil par défaut afin que Dialogflow puisse l'utiliser avec votre agent RBM. Tout d'abord, accédez à l'onglet du navigateur dans lequel Dialogflow est ouvert. Cliquez sur le lien Intents dans le panneau de navigation de gauche. Supprimez l'exemple de "réponse textuelle" en cliquant sur la corbeille en haut à droite. Cliquez ensuite sur Intent d'accueil par défaut, faites défiler la page jusqu'à la section Réponses, cliquez sur + dans la liste des types de réponses, puis sélectionnez RCS Business Messaging (RBM).

Cliquez sur Ajouter des réponses, puis sélectionnez Réponse simple. Dans le champ de texte Simple Response (Réponse simple), saisissez "Découvrez l'offre du jour de Sean's Pizza. Achetez une pizza 12 pouces et bénéficiez de la livraison GRATUITE !" (remplacez Sean par votre nom), puis cliquez sur Enregistrer.

Démarrer une conversation

Maintenant que l'intent de bienvenue est configuré, retournez sur votre appareil de test et envoyez le message "Bonjour". Ce message déclenche l'intent d'accueil par défaut. Vous devriez voir quelque chose de semblable à l'image ci-dessous.

Modifier votre intention de bienvenue

Maintenant que Dialogflow envoie un message simple, mettons-le à jour pour qu'il soit un peu plus percutant. Nous voulons non seulement envoyer un message sur l'offre du jour, mais aussi envoyer une image pour attirer l'utilisateur destinataire et lui proposer d'autres actions susceptibles de l'intéresser.

Remplacer notre message publicitaire simple de type "pizza" par une fiche qui contient une image et propose des options permettant d'afficher le menu complet et le site Web du restaurant.

Dans la section Intent d'accueil par défaut's Responses, sélectionnez l'onglet RCS Business Messages (RBM). Mettez à jour le texte de réponse simple existant avec "&Welcome to Sean's Pizza Place". Découvrez l'offre promotionnelle du jour ! Cliquez ensuite sur Ajouter des réponses, puis sélectionnez Carte enrichie autonome.

Dans le formulaire de carte enrichie, saisissez la commande suivante:

  • Titre de la carte : Achetez une pizza de 30 cm et recevez-en OFFERT !
  • Description de la carte : présentez ce message dans n'importe quel magasin participant pour bénéficier de cette offre. Offre valable jusqu'au 17 février.
  • Select Card Orientation (Sélectionner l'orientation de la fiche) : Vertical
  • URL de l'image/de la vidéo : https://storage.googleapis.com/df-rbm-codelab/pizza-ad-coupon.png
  • Sélectionner la hauteur du support : Medium

Cliquez sur Ajouter une suggestion, puis saisissez ce qui suit:

  • Suggestion de texte : menu "Afficher"
  • Suggestion de postback: response_view_menu

Ajoutez une action d'URL ouverte en cliquant sur Ajouter une suggestion, puis en sélectionnant l'option Ouvrir l'URL dans le menu déroulant et en saisissant ce qui suit:

  • Suggestion de texte : Afficher le site Web
  • Suggestion de postback : response_view_website
  • URL à ouvrir: https://www.google.com (ou toute autre URL valide)

Cliquez sur Enregistrer.

Essayez !

Lorsque le modèle indique "Entraînement de l'agent terminé", revenez sur votre appareil et envoyez le message "Bonjour" à votre agent. Vous devriez maintenant voir la réponse simple suivie de la carte enrichie autonome que vous venez de concevoir.

Appuyez sur Afficher le menu. Notez que l'intent de remplacement par défaut est déclenché. En effet, votre agent Dialogflow ne sait pas comment gérer les données de postback que vous avez configurées pour cette suggestion (reply_view_menu).

Résolvons à présent ce problème.

Créer votre intention de menu

Dans Dialogflow, les intents permettent de classer les intentions d'un utilisateur. Les intents ont des phrases d'entraînement, qui sont des exemples de ce qu'un utilisateur pourrait dire à votre agent. Par exemple, un utilisateur souhaitant connaître le menu peut demander : "Quel est votre menu ?", "Que puis-je manger ?" ou "Que puis-je commander ?".

Toutes ces requêtes sont uniques, mais ont la même intention: obtenir des informations sur le menu.

Pour couvrir cette requête, créez un intent "Menu".

  1. Dans le volet de navigation de gauche, cliquez sur le signe + à côté de la section Intents.
  2. Dans le champ Intent name (Nom de l'intent), saisissez "Menu".
  3. Sous Phrases d'entraînement, cliquez sur Ajouter une expression utilisateur et saisissez les informations suivantes, en appuyant sur Entrée après chaque entrée:

    • What's your menu?
    • What can I eat?
    • What can I order?
    • reply_view_menu

    Cette dernière expression d'entraînement permet de mapper les données de postback que vous avez configurées dans la section précédente avec cet intent.

Pour la réponse à cet intent, nous allons créer un carrousel qui affiche les différentes options du menu. Pour un menu plus grand, vous pouvez créer un lien vers un site Web ou partager une seule image du menu.

  1. Sous Réponses, cliquez sur +, puis sélectionnez RCS Business Messaging (RBM).
  2. Cliquez sur Ajouter des réponses, puis sélectionnez Fiche enrichie du carrousel.
  3. Définissez l'option Sélectionner la largeur de la fiche sur Moyenne.
  4. Sous l'option "Largeur", cliquez deux fois sur Ajouter une fiche. Le nombre de fiches passe ainsi à 4.
  5. Dans la fiche 1, saisissez la commande suivante :
    • Titre de la fiche : Saucisse et pepperoni
    • Description de la carte: Saucisse, pepperoni, olives et piments
    • URL de l'image/de la vidéo: https://storage.googleapis.com/df-rbm-codelab/sausage-pizza.jpg
  6. Dans la fiche 3, saisissez la commande suivante :
    • Titre de la carte : Italien
    • Description de la carte: sauce tomate, fromage et saucisson
    • URL de l'image/de la vidéo: https://storage.googleapis.com/df-rbm-codelab/italian-pizza.jpg
  7. Dans la fiche 2, saisissez la commande suivante :
    • Titre de la carte: Margherita
    • Description de la fiche: tomates San Marzano, mozzarella, basilic frais, sel et huile d'olive vierge extra
    • URL de l'image/de la vidéo: https://storage.googleapis.com/df-rbm-codelab/margarita-pizza.jpg
  8. Dans la fiche 4, saisissez la commande suivante :
    • Titre de la carte: Suprême
    • Description de la carte: Saucisse, pepperoni, hamburger, bacon, oignons, olives, champignons et poivrons verts
    • URL de l'image/de la vidéo: https://storage.googleapis.com/df-rbm-codelab/supreme-pizza.jpg

Après les éléments de la fiche, nous devons également fournir à l'utilisateur un moyen de poursuivre la conversation. Pour ce faire, cliquez sur Ajouter des réponses, sélectionnez Réponse simple, puis saisissez le texte "Vous souhaitez faire autre chose".

Dans la réponse simple, cliquez sur Ajouter une suggestion, puis saisissez ce qui suit:

  • Texte de la suggestion: Afficher la promotion
  • Postback post: hi

Cliquez sur Enregistrer.

Essayez !

Essayez maintenant de demander le menu à votre agent. Sur votre appareil, dans la conversation de votre agent RBM, saisissez "quotidien du menu" et envoyez le message à votre agent.

Votre agent répond maintenant correctement à la requête. Notez que même si votre requête était légèrement différente de l'expression d'entraînement Dialogflow a toujours fait correspondre la requête à l'intent approprié. Vous pouvez également appuyer sur l'option Afficher le menu dans la carte enrichie.

Dialogflow utilise les expressions d'entraînement comme exemples pour un modèle de machine learning afin de faire correspondre les requêtes utilisateur à l'intent approprié. Le modèle de machine learning compare la requête à chaque intent de l'agent, attribue un score à chaque intent et met en correspondance l'intent ayant le score le plus élevé. Si l'intent ayant le score le plus élevé a un score très faible, l'intent de remplacement est utilisé.

Capturer des intents sans répondre

Vous avez presque terminé, mais il reste une dernière chose à faire. Si vous revenez à votre appareil de test et que vous appuyez sur la suggestion View Website (Afficher le site Web) dans la carte enrichie initiale, vous remarquerez que appuyer sur cette suggestion ouvre non seulement l'URL associée, mais aussi un message déclenché par l'intent de remplacement par défaut.

En effet, l'action d'URL ouverte envoie le texte de postback de "reply_view_website" à Dialogflow lorsque vous appuyez sur l'action et Dialogflow le mappe sur l'intent de remplacement par défaut.

Pour capturer des données de postback sans y répondre immédiatement, nous allons créer un intent avec des expressions d'entraînement correspondant aux données de postback et supprimer toutes les réponses de l'intent. Dialogflow met les données de postback en correspondance avec l'intent, mais ne répond pas, car l'intent n'a pas de réponses définies.

Créer votre intent "No response" (Aucune réponse)

Pour couvrir les actions que vous souhaitez ignorer, créez une intention "Aucune réponse" :

  1. Dans le volet de navigation de gauche, cliquez sur le signe + à côté de la section Intents.
  2. Dans le champ Intent name (Nom de l'intent), saisissez "No response".
  3. Sous Phrases d'entraînement, cliquez sur Ajouter une expression utilisateur et saisissez les informations suivantes, en appuyant sur Entrée après chaque entrée :
    • reply_view_website
  4. Faites défiler la page jusqu'à la section Réponses, puis supprimez toutes les réponses à l'aide de l'icône Corbeille.

Cliquez sur Enregistrer.

Essayez !

Sur votre appareil, dans la conversation de votre agent RBM, saisissez "hi" et envoyez le message à votre agent. Cette action déclenchera la promotion à partir de l'intent d'accueil par défaut. Cliquez sur la suggestion "Afficher le site Web" et notez que le site Web s'ouvre dans le navigateur et qu'aucune réponse d'agent n'est envoyée.

Vous avez terminé !

Durée : 1 min

Bien joué !

Vous avez passé en revue toutes les étapes de création d'un agent RBM simple fourni par Dialogflow.

Pour en savoir plus, consultez notre atelier de programmation avancé.

Amusez-vous à développer cette nouvelle plate-forme passionnante !