Créer un agent à l'aide de flux

Ce guide explique comment utiliser la console Dialogflow CX pour créer et tester un agent de commande de t-shirts à l'aide de flux. Lorsque vous interagissez avec cet agent, demandez-lui l'adresse du magasin, ses horaires d'ouverture ou comment commander une chemise.

Le schéma suivant illustre l'agent terminé pour ce guide :

Capture d'écran du graphique de l'agent

Avant de commencer

Avant de lire ce guide, effectuez les tâches suivantes :

Créer un agent

Créez un agent pour ce guide :

  1. Ouvrez la console Dialogflow CX.
  2. Créez ou choisissez un projet.
  3. Cliquez sur Create agent (Créer un agent).
  4. Sélectionnez Build your own (Créer votre propre agent).
  5. Remplissez le formulaire pour les paramètres de base de l'agent :
    1. Saisissez un nom à afficher.
    2. Sélectionnez un emplacement. Cliquez sur le bouton Modifier si vous souhaitez modifier les paramètres de localisation avancés.
    3. Sélectionnez un fuseau horaire.
    4. Sélectionnez la langue par défaut.
    5. Vous pouvez également activer Cloud Logging.
  6. Cliquez sur Enregistrer.

Importation facultative d'agent

Ce guide vous explique comment créer un agent de commande de t-shirts.

Pour ignorer les étapes de la console, téléchargez l'agent et importez-le.

Flux et intents par défaut

Le flux et les intents suivants sont créés automatiquement pour un nouvel agent.

Pour trouver les intents, cliquez sur Gérer, puis sur Intents. Pour trouver le flux, cliquez sur Créer.

X Élément
Intent d'accueil par défaut L'intent d'accueil par défaut comporte des phrases d'entraînement telles que "Bonjour" ou "Salut", qui sont censées correspondre à la saisie initiale de l'utilisateur final. Vous pouvez modifier cet intent si nécessaire.
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 le message de réponse de bienvenue par défaut

Le flux et les intents par défaut peuvent gérer une conversation de base avec un simple message de bienvenue.

Pour tester votre nouvel agent, procédez comme suit :

  1. Cliquez sur le bouton Tester l'agent pour ouvrir le simulateur.
  2. Saisissez hello dans le champ de texte, puis appuyez sur Entrée.
  3. L'agent répond par un message de bienvenue par défaut.
  4. Fermez le simulateur.

Capture d'écran du simulateur

L'agent effectue les étapes suivantes pour cette entrée de l'utilisateur final :

  1. Lorsque vous fournissez une entrée, l'agent évalue les gestionnaires d'état dans le champ d'application du flux de démarrage par défaut et de la page d'accueil du flux actifs.
  2. L'agent identifie une route qui correspond à l'intent d'accueil par défaut et l'exécute.
  3. L'agent sélectionne l'un des messages de réponse de fulfillment de manière aléatoire et l'ajoute à la file d'attente des réponses.
  4. Comme la route n'a pas de cible de transition, le flux et la page actifs restent inchangés.
  5. L'agent vous envoie le contenu de la file d'attente de réponses.

Modifier la réponse d'accueil

Pour modifier la réponse d'accueil, procédez comme suit :

  1. Cliquez sur l'onglet Compiler.
  2. Sélectionnez le Flux de démarrage par défaut dans la section Flux.
  3. Cliquez sur le nœud Start Page (Page de démarrage) dans le graphique.
  4. Recherchez le routage avec l'intent d'accueil par défaut comme exigence d'intent, puis cliquez dessus pour ouvrir le panneau de modification du routage.
  5. Dans la section "Fulfillment", sous la sous-section "Réponses de l'agent", supprimez tous les messages de réponse existants.
  6. Ajoutez Hello, this is a shirt ordering virtual agent. How can I help you? comme seule réponse.
  7. Cliquez sur Enregistrer.
  8. Fermez le panneau de modification de l'itinéraire.

Capture d'écran de la réponse de l'agent

Tester la réponse d'accueil mise à jour

Pour tester votre réponse mise à jour :

  1. Cliquez sur le bouton Tester l'agent pour ouvrir le simulateur.
  2. Saisissez hello dans le champ de texte, puis appuyez sur Entrée.
  3. L'agent répond par votre nouveau message.
  4. Fermez le simulateur.

Page de l'emplacement du magasin

Une conversation (session) 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. Comme vous n'avez qu'une seule page, l'agent n'est pas très utile. Dans cette section, créez une autre page qui gère les questions sur 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 mis en correspondance lorsque l'utilisateur final demande l'emplacement du magasin, procédez comme suit :

  1. Sélectionnez l'onglet Manage (Gérer).
  2. Cliquez sur Intents.
  3. Cliquez sur Create (Créer).
  4. Saisissez store.location comme nom à afficher de l'intent.
  5. 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?
  6. Cliquez sur Enregistrer.

Capture d'écran de l'intent

Créer la page de l'emplacement

Créez une page. Vous pouvez ajouter à cette page un fulfillment d'entrée qui s'exécute chaque fois que la page devient active. Ce fulfillment d'entrée doit comporter un message de réponse indiquant l'emplacement du magasin.

Pour créer la page de l'emplacement du magasin, procédez comme suit :

  1. Cliquez sur l'onglet Compiler.
  2. Sélectionnez le Flux de démarrage par défaut dans la section Flux.
  3. Cliquez sur le bouton Ajouter dans la section Pages. Une zone de saisie de texte pour le nom à afficher de la page s'affiche.
  4. Saisissez Store Location comme nom à afficher de la page, puis appuyez sur Entrée.
  5. Cliquez sur le bouton more_vert à côté du nom à afficher de la page.
  6. Sélectionnez Modifier pour ouvrir le panneau de configuration de la page.
  7. Recherchez Fulfillment de la saisie, puis cliquez sur Modifier le fulfillment.
  8. Cliquez sur + Add dialogue response (+ Ajouter une réponse de dialogue) pour saisir Our store is located at 1007 Mountain Drive, Gotham City, NJ. dans le champ Agent dialogue (Dialogue de l'agent) de la section Agent responses (Réponses de l'agent).
  9. Cliquez sur Enregistrer.
  10. Fermez le panneau de configuration de la page.

Capture d'écran de la page

Ajouter une route d'intent d'emplacement au flux

Créez maintenant une route dont la cible de transition est la page "Store Location". Lorsque cette route est appelée, la session passe à la page "Store Location". Cette route est appliquée au flux de démarrage par défaut. Elle est donc prise en compte tant que le flux est actif.

Pour un agent à flux unique, cela signifie que la route est toujours dans le champ d'application. À tout moment de la conversation, un utilisateur final peut demander l'emplacement du magasin, et cette route sera appelée.

Pour créer la route :

  1. Cliquez sur l'onglet Compiler.
  2. Sélectionnez le Flux de démarrage par défaut dans la section Flux.
  3. Cliquez sur le nœud Start Page (Page de démarrage) dans le graphique. Il s'agit de la page de démarrage du flux de démarrage par défaut.
  4. Ajoutez la route d'intent suivante :
    • Intention : store.location
    • Page de transition : Store Location
  5. Cliquez sur Enregistrer.
  6. Fermez le panneau de modification de la route d'intent.

Capture d'écran de la route d'intent

Une fois le panneau de configuration fermé, un nœud pour votre nouvelle page apparaît sur le graphique. La flèche reliant le nœud Start au nœud Store Location montre comment la session passe d'un nœud à l'autre.

Tester la page d'emplacement du magasin

Pour tester votre page :

  1. Cliquez sur le bouton Tester l'agent pour ouvrir le simulateur.
  2. Saisissez What is the store location? et appuyez sur la touche Entrée.
  3. L'agent fournit l'adresse.
  4. Fermez le simulateur.

L'agent effectue les étapes suivantes pour cette entrée de l'utilisateur final :

  1. Lorsque vous fournissez une entrée, l'agent évalue les gestionnaires d'état dans le champ d'application du flux de démarrage par défaut et de la page d'accueil du flux actifs.
  2. L'agent identifie une route qui correspond à l'intent store.location et l'exécute.
  3. Comme la route ne comporte aucun message de réponse de fulfillment, l'agent n'ajoute rien à la file d'attente des réponses.
  4. L'agent fait passer la session à la page Store Location (Adresse du magasin).
  5. L'agent ajoute le message de réponse de traitement d'entrée de la page Store Location (Emplacement du magasin) à la file d'attente des réponses.
  6. L'agent vous envoie 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 allez créer une page Horaires d'ouverture qui gère les questions des utilisateurs finaux sur les horaires d'ouverture. Auparavant, vous avez créé des pages et des intents à partir des onglets Build (Créer) et Manage (Gérer). Cette section vous explique comment créer ces composants plus rapidement grâce à 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 :

  1. Cliquez sur le nœud Start Page (Page de démarrage) dans le graphique.
  2. À côté de Routes, cliquez sur Ajouter. Le panneau de modification de la route d'intent s'ouvre.
  3. Dans la section Intent, sélectionnez Nouvel intent. Le panneau de modification de l'intent s'ouvre.
  4. Créez un intent store.hours avec les expressions d'entraînement suivantes :

    • What are your store hours?
    • What time do you close?
  5. Cliquez sur Enregistrer. Le panneau de modification des intents se ferme.

  6. Accédez à la section Transition dans le panneau de modification de l'itinéraire.

  7. Pour la transition Page, sélectionnez New page (Nouvelle page).

  8. Saisissez Store Hours dans la zone de texte qui s'affiche.

  9. Cliquez sur Enregistrer. La nouvelle page apparaît sur le graphique, car il existe désormais une transition qui y mène.

  10. Fermez le panneau de modification de l'itinéraire.

  11. Ajoutez un fulfillment d'entrée qui fournit les horaires d'ouverture, comme vous l'avez fait pour Store Location (Adresse de l'établissement).

  12. Fermez tous les panneaux de modification ouverts.

Page des articles commandés

Ensuite, créez une page qui utilise des paramètres de formulaire. Lorsque vous demandez une nouvelle commande de t-shirt, la session passe à cette page, qui collecte la taille et la couleur de la commande de t-shirt.

Créer un type d'entité personnalisé pour une taille de t-shirt

Les types d'entités contrôlent la manière dont les données sont extraites de l'entrée de l'utilisateur final. Dialogflow CX fournit des entités système prédéfinies qui correspondent à des types de données courants, tels que des dates, des heures, des couleurs et des adresses e-mail. Vous pouvez également créer des entités personnalisées pour des données spécifiques.

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
Moyenne moyen, medium, normal
Grande grand, large

Pour créer l'entité :

  1. Sélectionnez l'onglet Manage (Gérer).
  2. Cliquez sur Entity Types (Types d'entités).
  3. Cliquez sur Créer.
  4. Définissez le nom à afficher sur size.
  5. Ajoutez les entrées d'entité listées dans le tableau.
  6. Cliquez sur Enregistrer.

Créer un intent de commande avec des paramètres d'intent

Vous avez besoin d'un intent qui est mis en correspondance lorsque l'utilisateur final demande une nouvelle commande de t-shirt. Cet intent doit également capturer la couleur ou la taille de t-shirt choisie si l'utilisateur final fournit ces informations initialement.

Les paramètres servent à capturer et à référencer les valeurs fournies par l'utilisateur final au cours d'une session. Chaque paramètre possède un nom à afficher et un type d'entité. Contrairement aux entrées utilisateur brutes, les paramètres sont des données structurées que vous pouvez utiliser 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, prenons une expression d'entraînement telle que "Quelles sont les prévisions météo pour demain à Tokyo ?" Vous pouvez annoter "demain" avec un paramètre date et "Tokyo" avec un paramètre location. Lorsque vous annotez des mots dans une phrase d'entraînement, Dialogflow CX reconnaît que ce ne sont que des exemples de valeurs réelles fournies par les utilisateurs finaux au moment de l'exécution.

Pour une entrée d'utilisateur final telle que "Quelles sont les prévisions pour vendredi à Sydney ?", Dialogflow CX peut extraire le paramètre date de "vendredi" et le paramètre location de "Sydney".

Pour annoter une phrase d'entraînement dans la console :

  1. Mettez en surbrillance la partie de l'expression d'entraînement que vous souhaitez annoter.
  2. Sélectionnez le type d'entité souhaité dans la liste.
  3. Dialogflow crée un paramètre dans le tableau de paramètres suivant.

Créez un intent nommé order.new en procédant comme suit :

  1. Pour chaque expression contenant une couleur, annotez la couleur avec un paramètre color et le type d'entité système @sys.color.
  2. Pour chaque expression contenant une taille de t-shirt, annotez la taille avec un paramètre size et le type d'entité personnalisée @size que vous avez créé précédemment.

Vos expressions et paramètres d'entraînement doivent se présenter comme suit :

Capture d'écran de l'intent

Créer une page de commande

Créer une page de commande :

  • Nom à afficher : New Order
  • Traitement de l'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 à collecter auprès de l'utilisateur final de la page. L'agent interagit avec l'utilisateur final pendant plusieurs tours de conversation, jusqu'à ce qu'il ait collecté tous les paramètres de formulaire requis, également appelés paramètres de page. Pour chaque paramètre de formulaire, vous fournissez également des prompts que l'agent utilise pour demander ces informations à l'utilisateur final. Ce processus est appelé remplissage de formulaire.

Lorsqu'un utilisateur final fournit des paramètres d'intent pour une correspondance d'intent, les paramètres d'intent deviennent des paramètres de session. Lorsqu'une page devient initialement active, tous ses paramètres de formulaire sont préremplis avec les paramètres de session portant le même nom. Ainsi, si l'utilisateur final fournit la taille ou la couleur lorsque l'intent order.new est mis en correspondance, ces valeurs sont automatiquement renseignées dans le formulaire.

Définissez deux paramètres de formulaire obligatoires pour la page New Order (Nouvelle commande) :

Obligatoire 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 :

  1. Cliquez sur la page Nouvelle commande dans le graphique.
  2. Cliquez sur le bouton d'ajout de paramètres pour ouvrir le panneau de modification des paramètres.
  3. Ajoutez les paramètres comme décrit dans le tableau ci-dessus.
  4. Cliquez sur Enregistrer.
  5. Fermez le panneau de modification des paramètres.

Ajouter une route d'intent de commande au flux

Ajoutez une route au flux de démarrage par défaut qui passe à la page New Order (Nouvelle commande) lorsque l'utilisateur final souhaite passer une nouvelle commande :

  • Intent : order.new
  • Page cible de la transition : New Order (Nouvelle commande)

Confirmation page

La dernière page confirme 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 utiliser des conditions pour déterminer si une route est appelée. Les conditions sont généralement utilisées pour vérifier si un formulaire est complet, ou elles sont configurées pour être toujours appelées lorsqu'elles sont évaluées.

Pour définir des conditions dans la console, consultez la documentation Définir des conditions.

Ajoutez la route suivante à la page de commande, qui est appelée lorsque le formulaire de la page de commande est rempli. Cette route de condition utilise des références de paramètres dans sa réponse à l'utilisateur final et fait passer la session à la page Order Confirmation (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. Cette route s'exécute pour chaque tour de conversation lorsque la page est active et que la route de condition est évaluée. Lorsque la condition susmentionnée 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 Order Confirmation (Confirmation de commande) pour mettre fin à la session une fois que la page est active et que son fulfillment d'entrée est traité :

  • Condition : true
  • Page cible de la transition : 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 ?
  1. La route intent d'accueil par défaut du flux de démarrage par défaut est appelée.
  2. Le fulfillment pour ce gestionnaire d'état ("Bonjour, c'est...") est ajouté à la file d'attente de réponses.
  3. L'agent envoie la file d'attente de réponses à l'utilisateur final.
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 ?
  1. La route d'intent order.new dans le flux de démarrage par défaut est évaluée.
  2. L'intent order.new est mis en correspondance et le paramètre d'intent couleur est défini sur "bleu".
  3. La session passe à la page Nouvelle commande, et le paramètre d'intent couleur devient un paramètre de session.
  4. La page Nouvelle commande comporte une entrée de commande ("OK, allons-y…"). Cet élément est ajouté à la file d'attente de réponses.
  5. Le paramètre de session couleur permet de renseigner le paramètre de formulaire portant le même nom.
  6. La route de condition réelle de la page Nouvelle commande est évaluée et appelée. Elle contient un message de réponse ("J'ai besoin…"). Cet élément est ajouté à la file d'attente de réponses.
  7. Le formulaire de la page n'étant pas rempli, l'agent utilise l'invite concernant la taille ("Quelle taille…") et l'ajoute à la file d'attente de réponses.
  8. L'agent envoie la file d'attente de réponses à l'utilisateur final.
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.
  1. L'entrée de l'utilisateur final remplit le paramètre taille demandé par l'agent lors du tour de conversation précédent.
  2. La route de remplissage du formulaire de la page Nouvelle commande est évaluée et appelée. Il comporte un fulfillment ("Vous avez sélectionné…"), qui est ajouté à la file d'attente de réponses avec ses références de paramètre résolues aux valeurs réelles fournies par l'utilisateur final.
  3. La session passe à la page Confirmation de la commande.
  4. La page Confirmation de la commande dispose d'un fulfillment d'entrée ("Vous pouvez retirer…", qui est ajouté à la file d'attente de réponse.
  5. L'agent envoie la file d'attente de réponses à l'utilisateur final.
  6. La session passe à Terminer la session.

Préparer la mise en production

Avant d'exécuter votre agent en production, implémentez les bonnes pratiques pour la production.