Ce guide vous explique comment créer et tester un agent de commande de t-shirts simple à l'aide de flux à l'aide de la console Dialogflow CX. Lorsque vous interagissez avec cet agent, vous pouvez demander l'emplacement du magasin, obtenir les horaires d'ouverture ou passer commande.
L'agent terminé pour ce guide sera représenté par la console comme suit :
Avant de commencer
Avant de lire ce guide, procédez comme suit :
- Consultez les principes de base de Flow.
- Effectuez la procédure de configuration.
Créer un agent
Créez un agent pour ce guide :
- Ouvrez la console Dialogflow CX.
- Créez ou choisissez un projet.
- Cliquez sur Create Agent (Créer un agent).
- Sélectionnez Build your own (Créer la vôtre).
- Remplissez le formulaire pour les paramètres de base de l'agent :
- Vous pouvez choisir n'importe quel nom à afficher.
- Sélectionnez votre lieu préféré. Cliquez sur le bouton Modifier si vous souhaitez modifier les paramètres de localisation avancés.
- Sélectionnez le fuseau horaire de votre choix.
- Sélectionnez la langue par défaut de votre agent.
- Activez éventuellement Stackdriver Logging.
- Cliquez sur Enregistrer.
Importation facultative d'agent
Ce guide vous explique les étapes à suivre pour créer un agent de commande de t-shirts simple. Si vous souhaitez ignorer les étapes de la console, vous pouvez télécharger l'agent et l'importer.
Flux et intents par défaut
Le flux et les intents suivants sont créés automatiquement pour un nouvel agent. Vous pouvez trouver les intents en cliquant sur Gérer, puis sur Intents. Vous pouvez trouver le flux en cliquant sur Compiler.
Terme | Définition |
---|---|
Intent d'accueil par défaut | L'intent d'accueil par défaut comporte des expressions d'entraînement simples telles que "Salut" ou "Bonjour", qui correspondent à l'entrée initiale de l'utilisateur final. Vous pouvez modifier cet intent comme bon vous semble. |
Intent négatif par défaut | L'intent négatif par défaut peut être utilisé pour ajouter des phrases d'entraînement qui agissent comme des exemples négatifs à cet intent. |
Flux de démarrage par défaut | Le flux de démarrage par défaut peut être utilisé comme seul flux. Il s'agit du seul flux qui sera utilisé dans ce guide. Pour les agents plus complexes, vous pouvez ajouter d'autres flux. Ce flux dispose d'une route d'intent par défaut avec l'intent d'accueil par défaut comme exigence d'intent. |
Tester la réponse d'accueil par défaut
Le flux et les intents par défaut peuvent gérer une conversation de base avec un message de bienvenue uniquement. Pour tester votre nouvel agent, procédez comme suit :
- Cliquez sur le bouton Tester l'agent pour ouvrir le simulateur.
- Saisissez
hello
dans la zone de texte, puis appuyez sur Entrée. - L'agent répond par une réponse d'accueil par défaut.
- Fermez le simulateur.
L'agent a effectué les étapes suivantes pour cette entrée de l'utilisateur final :
- Lorsque vous avez fourni une entrée, le flux de démarrage par défaut était le flux actif et la page d'accueil du flux était la page active. Chacun des gestionnaires d'état appliqués au flux actif était dans la portée. Par conséquent, l'agent les a évalués.
- L'une des routes évaluées a l'intent d'accueil par défaut comme exigence d'intent. Votre entrée correspond à cet intent, et la route a donc été appelée.
- La route appelée comporte plusieurs messages de réponse de fulfillment. L'agent en a choisi une au hasard et l'a ajoutée à la file d'attente de réponse.
- La route appelée n'a pas de cible de transition. Le flux et la page actifs n'ont donc pas été modifiés.
- L'agent a répondu avec le contenu de la file d'attente de réponses.
Modifier la réponse d'accueil
Vous pouvez modifier ce message de bienvenue. Pour modifier la réponse d'accueil, procédez comme suit :
- Cliquez sur l'onglet Compiler.
- Sélectionnez le Flux de démarrage par défaut dans la section Flux.
- Cliquez sur le nœud Démarrer dans le graphique. Il s'agit de la page d'accueil du flux de démarrage par défaut.
- Recherchez la route d'intent avec l'intent d'accueil par défaut comme exigence d'intent et cliquez dessus. Un panneau permettant de modifier les informations sur la route d'intent s'affiche.
- Recherchez la section fulfillment et supprimez tous les messages de réponse, puis ajoutez
Hello, this is a shirt ordering virtual agent. How can I help you?
comme seule réponse. - Cliquez sur Enregistrer.
- Fermez le panneau de modification de la route d'intent.
Tester la réponse d'accueil mise à jour
Pour tester votre réponse mise à jour :
- Cliquez sur le bouton Tester l'agent pour ouvrir le simulateur.
- Saisissez
hello
dans la zone de texte, puis appuyez sur Entrée. - L'agent répond par votre nouveau message.
- Fermez le simulateur.
Page de l'emplacement du magasin
Une conversation (session) d'agents conversationnels (Dialogflow CX) peut être décrite et visualisée en tant que machine à états. Les états d'une session CX sont représentés par des pages. Jusqu'à présent, vous n'avez qu'une seule page. L'agent n'est donc pas très utile. Dans cette section, vous allez créer une autre page qui gère les questions concernant l'emplacement du magasin.
Créer l'intent de l'emplacement
Un intent permet de catégoriser l'intention exprimée par un utilisateur final durant un tour de parole. Pour créer un intent correspondant lorsque l'entrée de l'utilisateur final demande l'emplacement du magasin :
- Sélectionnez l'onglet Gérer.
- Cliquez sur Intents.
- Cliquez sur Create (Créer).
- Saisissez
store.location
comme nom pour l'intent. - Entrez les phrases d'entraînement suivantes :
Where is the store?
Directions
Tell me the address
Where do I pick up my order?
How do I get there?
Where is the store located?
What street are you on?
What is your address?
How do I get to your store?
Where are you located?
- Cliquez sur Enregistrer.
Créer la page de l'emplacement
Maintenant, créez la page. Vous pouvez ajouter à cette page un fulfillment des entrées qui est appelé chaque fois que la page devient active. Ce fulfillment d'entrée doit contenir un message de réponse indiquant l'emplacement du magasin. Pour créer la page de l'emplacement du magasin, procédez comme suit :
- Cliquez sur l'onglet Compiler.
- Sélectionnez le Flux de démarrage par défaut dans la section Flux.
- Cliquez sur le bouton d'ajout add dans la section Pages. Une saisie de texte pour le nom de la page s'affiche.
- Saisissez
Store Location
comme nom de page et appuyez sur Entrée. - Cliquez sur le bouton des options more_vert à côté du nom de la page.
- Sélectionnez Modifier pour ouvrir le panneau de configuration de la page.
- Recherchez Traitement des entrées, puis cliquez sur Modifier le traitement.
- Saisissez
Our store is located at 1007 Mountain Drive, Gotham City, NJ.
dans le champ L'agent dit. - Cliquez sur Enregistrer.
- Fermez le panneau de configuration de la page.
Ajouter une route d'intent d'emplacement au flux
Vous devez maintenant créer une route dont la page d'emplacement du magasin est utilisée comme cible de transition. Lorsque cette route est appelée, la session passe à la page de l'emplacement du magasin. Cette route est appliquée au flux de démarrage par défaut. Elle est donc disponible dans la portée tant que le flux est actif. Pour un agent à flux unique, cela signifie que la route est toujours comprise dans la portée. À tout moment dans la conversation, l'utilisateur final peut demander l'emplacement du magasin, et cette route est appelée.
Pour créer cette route :
- Cliquez sur l'onglet Compiler.
- Sélectionnez le Flux de démarrage par défaut dans la section Flux.
- Cliquez sur le nœud Démarrer dans le graphique. Il s'agit de la page d'accueil du flux de démarrage par défaut.
- Ajoutez la route d'intent suivante :
- Intent :
store.location
- Page de transition :
Store Location
- Intent :
- Cliquez sur Enregistrer.
- Fermez le panneau de modification de la route d'intent.
Lorsque vous fermez le panneau de configuration, vous remarquerez que votre nouvelle page comporte un nœud sur le graphique. La flèche du nœud Démarrer vers le nœud Emplacement du magasin indique comment la session peut passer d'un nœud à un autre.
Tester la page d'emplacement du magasin
Pour tester votre page :
- Cliquez sur le bouton Tester l'agent pour ouvrir le simulateur.
- Saisissez
What is the store location?
et appuyez sur Entrée. - L'agent fournit l'adresse.
- Fermez le simulateur.
L'agent a effectué les étapes suivantes pour l'entrée de l'utilisateur final :
- Lorsque vous avez fourni une entrée, le flux de démarrage par défaut était le flux actif et la page d'accueil du flux était la page active. Chacun des gestionnaires d'état appliqués au flux actif était dans la portée. Par conséquent, l'agent les a évalués.
- L'une des routes évaluées dispose de store.location comme exigence d'intent. Votre entrée correspond à cet intent, et la route a donc été appelée.
- La route appelée ne comporte aucun message de réponse de fulfillment, donc elle n'a rien ajouté à la file d'attente de réponses.
- La route appelée possède une cible de transition. La page active est donc modifiée comme page Emplacement du magasin.
- La page Emplacement du magasin dispose d'un fulfillment d'entrée. Le message de réponse du fulfillment a donc été ajouté à la file d'attente de réponses (l'adresse).
- L'agent a répondu avec le contenu de la file d'attente de réponses.
Page des horaires d'ouverture du magasin à l'aide de la création intégrée
Dans cette section, vous créez une page Horaires d'ouverture du magasin qui gère les questions de l'utilisateur final concernant les horaires d'ouverture. Dans les sections précédentes, vous avez créé des pages et des intents à partir des onglets Créer et Gérer. Cette section vous permet de créer plus rapidement ces types avec la création intégrée.
Pour créer de manière intégrée une route d'intent, un intent, et une page, procédez comme suit :
- Cliquez sur le nœud Démarrer dans le graphique.
- Cliquez sur le bouton "Ajouter" add une Route d'intent. Le panneau de modification de la route d'intent s'ouvre.
- Dans la section Intent, sélectionnez Nouvel intent. Le panneau de modification des intents s'ouvre.
Créez un intent
store.hours
avec les phrases d'entraînement suivantes :What are your store hours?
What time do you close?
Cliquez sur Enregistrer pour enregistrer l'intent. Le panneau de modification des intents se ferme.
Faites défiler la page jusqu'à la section Transition du panneau de modification de la route d'intent.
Pour la transition de Page, sélectionnez Nouvelle page.
Saisissez
Store Hours
dans la zone de texte qui s'affiche.Cliquez sur Enregistrer. La nouvelle page apparaît sur le graphique, car une transition y conduit.
Fermez le panneau de modification de la route d'intent.
Ajoutez un fulfillment d'entrée qui fournit les horaires d'ouverture. Les étapes sont similaires à celles utilisées pour l'emplacement du magasin.
Fermez tous les panneaux de modification ouverts.
Page des articles commandés
La prochaine étape consiste à créer une page utilisant des paramètres de formulaire. Lorsque l'utilisateur final demande à commencer un nouveau t-shirt, la session passe à cette page. Lorsqu'elle est active, cette page collecte la taille et la couleur de la commande de t-shirts.
Créer un type d'entité personnalisé pour une taille de t-shirt
Les types d'entité permettent de contrôler la manière dont les données des entrées de l'utilisateur final sont extraites. Les agents conversationnels (Dialogflow CX) fournissent des entités système prédéfinies correspondant à de nombreux types de données courants. Par exemple, il existe des entités système pour la mise en correspondance des dates, des heures, des couleurs, des adresses e-mail, etc. Vous pouvez également créer vos propres entités pour la mise en correspondance de données personnalisées.
Pour cet agent, vous pouvez utiliser une entité système pour la couleur du T-shirt, mais vous devez créer une entité personnalisée pour la taille du t-shirt. Le type d'entité de la taille doit contenir les entrées d'entité suivantes :
Entité | Synonymes |
---|---|
Petite | petit, small |
moyen | moyen, medium, normal |
grand | grand, large |
Pour créer cette entité, procédez comme suit :
- Sélectionnez l'onglet Gérer.
- Cliquez sur Entity Types (Types d'entités).
- Cliquez sur +Create (Créer).
- Définissez le nom à afficher sur
size
. - Ajoutez les entrées d'entité répertoriées dans le tableau ci-dessus.
- Cliquez sur Enregistrer.
Créer un intent de commande avec des paramètres d'intent
Vous avez besoin d'un intent mis en correspondance lorsque l'utilisateur final fait une nouvelle commande de t-shirts. Cet intent doit également capturer la couleur et/ou la taille de t-shirt souhaitées fournies par l'utilisateur final au cas où ces informations seraient fournies à l'avance.
Les paramètres sont utilisés pour capturer et mentionner des valeurs ayant été fournies par l'utilisateur final au cours d'une session. Chaque paramètre possède un nom et un type d'entité. Contrairement aux entrées utilisateur brutes, les paramètres sont des données structurées pouvant être utilisées pour exécuter une logique ou générer des réponses.
Vous contrôlez la manière dont les données de l'utilisateur final sont extraites avec la correspondance d'intent en annotant des parties de vos phrases d'entraînement et en configurant les paramètres d'intent associés.
Par exemple, imaginons que vous définissiez une phrase d'entraînement comme "Quel temps fera-t-il demain à Tokyo ?".
Vous devez annoter "demain" avec le paramètre date
et "Tokyo" avec le paramètre location
.
Lorsque vous annotez des mots dans une phrase d'entraînement, les agents conversationnels (Dialogflow CX) reconnaissent que ce ne sont que des exemples de valeurs réelles fournies par les utilisateurs finaux au moment de l'exécution.
Si l'entrée d'un utilisateur final est "Quel temps est prévu pour vendredi à Sydney ?",
Les agents conversationnels (Dialogflow CX) extraient le paramètre date
de "vendredi"
et le paramètre location
de "Sydney".
Pour annoter une phrase d'entraînement à l'aide de la console, procédez comme suit :
- Sélectionnez le texte de la phrase d'entraînement que vous souhaitez annoter.
- Sélectionnez le type d'entité souhaité dans la liste.
- Un paramètre est créé pour vous dans le tableau des paramètres présenté ci-dessous.
Créez un intent semblable à celui que vous avez suivi ci-dessus.
Nommez cet intent order.new
.
Pour chaque phrase contenant une couleur, annotez la couleur avec un paramètre color
et le type d'entité système @sys.color
.
Pour chaque phrase contenant une taille de t-shirt, annotez le fichier avec un paramètre size
et le type d'entité personnalisé @size
que vous avez créés précédemment.
Vos expressions et paramètres d'entraînement doivent se présenter comme suit :
Créer une page de commande
Créez une page de commande en suivant les étapes semblables aux étapes précédentes :
- Nom à afficher :
New Order
- Fulfillment d'entrée :
Ok, let's start a new order.
Ajouter un formulaire à la page de commande
Pour chaque page, vous pouvez définir un formulaire, qui est une liste de paramètres devant être collectés par l'utilisateur final pour la page. L'agent interagit avec l'utilisateur final pour plusieurs tours de conversation, jusqu'à ce qu'il ait collecté tous les paramètres du formulaire requis, également appelés paramètres de page Pour chaque paramètre du formulaire, vous fournissez également des invites que l'agent utilise pour demander ces informations à l'utilisateur final. Ce processus est appelé le remplissage du formulaire.
Lorsqu'un utilisateur final fournit des paramètres d'intent pour une correspondance d'intent, ces paramètres deviennent des paramètres de session. Lorsqu'une page devient initialement active, tous ses paramètres de formulaire sont préremplis avec tous les paramètres de session ayant un nom similaire. Ainsi, si l'utilisateur final fournit la taille ou la couleur en cas de correspondance de l'intent order.new, ces valeurs seront automatiquement renseignées pour le formulaire.
Pour la nouvelle page de commande, vous devez définir deux paramètres de formulaire requis :
Requis | Nom à afficher | Type d'entité | Est une liste | Prompt |
---|---|---|---|---|
color | @sys.color | Quelle couleur voulez-vous ? | ||
size | @size | Quelle taille voulez-vous ? |
Pour ajouter ce formulaire :
- Cliquez sur la page Nouvelle commande dans le graphique.
- Cliquez sur le bouton "Ajouter" add des Paramètres. Le panneau de modification des paramètres s'ouvre.
- Ajoutez les paramètres comme décrit dans le tableau ci-dessus.
- Cliquez sur Enregistrer.
- Fermez le panneau de modification des paramètres.
Ajouter une route d'intent de commande au flux
Comme pour les étapes que vous avez suivies précédemment, ajoutez une route au flux de démarrage par défaut. Cette route doit être appelée lorsque l'utilisateur final souhaite effectuer une nouvelle commande :
- Intent : order.new
- Page de la cible de transition : Nouvelle commande
Page de confirmation
La dernière page confirme simplement la commande et met fin à la session.
Créer la page de confirmation
Créez une page de confirmation avec une réponse utilisant les paramètres de session pour confirmer la commande :
- Nom à afficher :
Order Confirmation
- Fulfillment d'entrée :
You can pick up your order for a $session.params.size $session.params.color shirt in 7 to 10 business days. Goodbye.
Ajouter des routes de condition à la page de commande
Vous pouvez également utiliser des conditions pour déterminer si une route est appelée. Les conditions sont couramment utilisées pour vérifier si un formulaire est terminé ou si elles sont toujours configurées pour être appelées lors de l'évaluation.
Pour définir des conditions dans la console, consultez la documentation Définir des conditions.
Ajoutez la route suivante à la page de commande, qui sera appelée une fois le formulaire rempli. Notez que cette route de condition utilise des références de paramètres dans sa réponse à l'utilisateur final et comment elle transfère la session vers la page Confirmation de commande.
- Condition :
$page.params.status = "FINAL"
- L'agent dit :
You have selected a $session.params.size, $session.params.color shirt.
- Page de transition :
Order Confirmation
Ajoutez la route suivante à la page de commande, qui sera appelée pour chaque tour de conversation dans lequel la page est active et la route de condition est évaluée. Lorsque la condition ci-dessus est évaluée et appelée, la page devient inactive. Par conséquent, cette route de condition true n'est pas évaluée :
- Condition :
true
- L'agent dit :
I'd like to collect a bit more information from you.
Créer une route de condition pour terminer la session
Ajoutez la route de condition suivante à la page Confirmer la commande pour terminer la session une fois que cette page est active et que son fulfillment d'entrée est traité :
- Condition :
true
- Cible de transition : Page :
End Session
Tester l'agent terminé
Testez l'agent à l'aide de la boîte de dialogue suivante :
Dialogue | Explication |
---|---|
Utilisateur final : Bonjour Agent : Bonjour, il s'agit d'un agent virtuel de commande de t-shirts. Comment puis-je vous aider ? |
|
Utilisateur final : Je souhaite acheter un t-shirt bleu Agent : Commençons par créer une nouvelle commande. Agent : J'ai besoin de plusieurs informations. Agent : Quelle taille souhaitez-vous ? |
|
Utilisateur final : grand Agent : vous avez sélectionné un t-shirt grand et bleu. Agent : vous pouvez récupérer votre commande de t-shirt bleu et grand dans un délai de 7 à 10 jours ouvrés. Au revoir. |
|
Passage en production
Avant d'exécuter votre agent en production, veillez à mettre en œuvre les bonnes pratiques pour le passage en production.