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 l'emplacement du magasin, obtenez les horaires d'ouverture ou commandez une chemise.

Le diagramme 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 lieu. 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 les étapes à suivre pour 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.

Vous pouvez trouver les intents en cliquant sur Gérer, puis sur Intents. Vous pouvez trouver le flux en cliquant sur Compiler.

X Élément
Intent d'accueil par défaut L'intent d'accueil par défaut comporte des expressions d'entraînement telles que "Salut" ou "Bonjour", qui correspondent à l'entrée 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 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 :

  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 actif et de la page d'accueil du flux.
  2. L'agent identifie une route correspondant à l'intent d'accueil par défaut et l'exécute.
  3. L'agent sélectionne au hasard l'un des messages de réponse de fulfillment et l'ajoute à la file d'attente de 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 la route avec l'intent d'accueil par défaut comme exigence d'intent et cliquez dessus pour ouvrir le panneau de modification de la route.
  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 la route.

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 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 conversation.

Pour créer un intent correspondant lorsque l'entrée de l'utilisateur final demande l'emplacement du magasin :

  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 pour 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 des entrées qui s'exécute 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 :

  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 saisie de texte pour le nom de la page s'affiche.
  4. Saisissez Store Location comme nom de page et 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 page "Emplacement du magasin" est utilisée comme cible de transition. Lorsque cette route est appelée, la session passe à la page "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, un utilisateur final peut demander l'emplacement du magasin, et cette route est appelée.

Pour créer l'itinéraire :

  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 d'accueil du flux de démarrage par défaut.
  4. Ajoutez la route d'intent suivante :
    • Intent : 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 modification fermé, un nœud pour votre nouvelle page apparaît sur le graphique. La flèche du nœud Démarrer vers le nœud Emplacement du magasin indique comment la session passe d'un nœud à un 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 actif et de la page d'accueil du flux.
  2. L'agent identifie un itinéraire correspondant à l'intention 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 de réponses.
  4. L'agent redirige la session vers la page Emplacement du magasin.
  5. L'agent ajoute le message de réponse du fulfillment d'entrée de la page Emplacement du magasin à la file d'attente de 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 du magasin qui gère les questions des utilisateurs finaux concernant les horaires d'ouverture. Auparavant, 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 composants 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 :

  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 des intents s'ouvre.
  4. Créez un intent store.hours avec les phrases 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 du panneau de modification de la route.

  7. Pour la transition de Page, sélectionnez 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 une transition y conduit.

  10. Fermez le panneau de modification de la route.

  11. Ajoutez un fulfillment d'entrée qui fournit les horaires d'ouverture, comme vous l'avez fait pour l'emplacement du magasin.

  12. Fermez tous les panneaux de modification ouverts.

Page des articles commandés

Ensuite, créez une page utilisant des paramètres de formulaire. Lorsque vous demandez à commencer un nouveau t-shirt, la session passe à cette page, qui 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. Dialogflow CX fournit des entités système prédéfinies correspondant à des types de données courants, tels que les dates, les heures, les couleurs et les 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é répertorié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 mis en correspondance lorsque l'utilisateur final fait une nouvelle commande de t-shirts. Cet intent doit également capturer la couleur ou la taille de t-shirt choisies si l'utilisateur final fournit ces informations au départ.

Les paramètres sont utilisés pour capturer et mentionner des 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, imaginons que vous définissiez une phrase d'entraînement comme "Quel temps fera-t-il demain à Tokyo ?". Vous pouvez 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, 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.

Si l'entrée d'un utilisateur final est "Quel temps est prévu pour vendredi à Sydney ?", Dialogflow CX peut extraire le paramètre date à partir de "vendredi" et le paramètre location à partir de "Sydney".

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

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

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

  1. Pour chaque phrase contenant une couleur, annotez la couleur avec un paramètre color et le type d'entité système @sys.color.
  2. Pour chaque phrase contenant une taille de t-shirt, annotez la taille avec un paramètre size et le type d'entité personnalisé @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éez une page de commande :

  • 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 de 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é remplissage de 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 portant le même nom. Ainsi, si l'utilisateur final fournit la taille ou la couleur en cas de correspondance de l'intent order.new, ces valeurs sont automatiquement renseignées pour le formulaire.

Définissez deux paramètres de formulaire obligatoires pour la page 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 Ajouter  des 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 redirige vers la page Nouvelle commande lorsque l'utilisateur final souhaite effectuer une nouvelle commande :

  • Intent : order.new
  • Page de la cible de transition : 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 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 est appelée une fois le formulaire rempli. Cette route de condition utilise des références de paramètres dans sa réponse à l'utilisateur final et 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. 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 Confirmation de la commande pour terminer la session une fois que la page est active et que son fulfillment d'entrée est traité :

  • Condition : true
  • Page de la cible de 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 production

Avant d'exécuter votre agent en production, mettez en œuvre les bonnes pratiques pour la production.