Une conversation (session) Dialogflow CX peut être décrite et visualisée en tant que machine à états. Les états d'une session sont représentés par pages Web.
Pour chaque flux, vous définissez de nombreuses pages dans lesquelles vos pages combinées peuvent gérer une conversation complète sur les sujets pour lesquels le flux est conçu. À un moment donné, une seule page est la page actuelle. La page actuelle est considérée comme active et le flux associé à cette page est considéré comme actif. Chaque flux dispose d'une page d'accueil spéciale. Lorsqu'un flux devient initialement actif, la page d'accueil devient la page actuelle. À chaque tour de conversation, la page actuelle reste la même ou passe à une autre page.
Vous configurez chaque page pour collecter auprès de l'utilisateur final des informations pertinentes pour l'état conversationnel représenté par la page. Par exemple, vous pouvez créer les pages (en bleu) dans le diagramme ci-dessous pour un flux de commande de nourriture d'un agent de livraison de pizza. Le nœud Démarrer du diagramme représente la page d'accueil du flux de commande de nourriture. Une fois le flux terminé, il passe au flux Confirmation.
Cycle de vie d'une page
Lorsqu'une page devient active, l'agent suit plusieurs étapes pouvant impliquer le fulfillment des entrées, le pré-remplissage des formulaires, l'évaluation du gestionnaire d'état, l'invite des paramètres de formulaire, l'envoi de messages de réponse à l'utilisateur final et une modification de page ou une boucle répétée :
Les détails de ce processus sont les suivants :
Si l'entrée fulfillment existe pour la page, elle est appelée. Toutes les réponses statiques fournies par fulfillment sont ajoutées à la file d'attente de réponse.
Si la réponse partielle est activée, Dialogflow vide la file d'attente de réponse et envoie tous les messages en file d'attente en tant que réponse partielle à l'appelant de l'API de diffusion de flux.
Si le fulfillment possède un webhook, celui-ci est appelé, ce qui peut ajouter des réponses supplémentaires à la file d'attente. Ces réponses supplémentaires ne déclenchent pas de vidage immédiat de la file d'attente de réponses.
Si la page comporte des paramètres de formulaire, ils peuvent être préremplis :
- Tout paramètre de session défini portant le même nom qu'un paramètre de formulaire est copié dans le paramètre de formulaire.
- Si une route a déclenché une transition vers cette page et que la route contient un intent correspondant, tout paramètre d'intent portant le même nom que le paramètre de formulaire est copié dans le paramètre de formulaire.
Si des gestionnaires d'état sont dans la portée, ils sont évalués en fonction des règles de l'ordre d'évaluation du gestionnaire. Il peut s'agir de routes, de gestionnaires d'événements ou les gestionnaires de nouvelle invite appelés à partir de l'itération de boucle précédente. Si un gestionnaire d'état est suivi, l'une ou les deux situations suivantes peuvent se produire :
- Si le fulfillment existe pour le gestionnaire, il est appelé. Toutes les réponses statiques fournies par fulfillment sont ajoutées à la file d'attente de réponse. La réponse partielle et le webhook sont également exécutés s'ils sont activés.
- S'il existe un flux ou une page cible pour le gestionnaire, la session passe à la cible et la page devient inactive.
Si toutes les conditions suivantes sont remplies, une invite de paramètre de formulaire est ajoutée à la file d'attente de réponses :
- La page contient un formulaire.
- Les paramètres du formulaire sont obligatoires.
- Aucun gestionnaire de nouvelle invites n'a été suivi à l'étape 3.
- La réponse partielle et le webhook sont exécutés s'ils sont activés.
Les messages de la file d'attente de réponses restants sont envoyés à l'utilisateur final, et l'agent attend la saisie de l'utilisateur final.
Si l'entrée de l'utilisateur final fournit un paramètre de formulaire demandé, renseignez le paramètre. Passez à l'étape 3.
Navigation dans le cycle de vie des pages
Étapes d'exécution du simulateur Le lecteur vous permet de passer d'une étape à l'autre d'une conversation. et met en avant les éléments de compilateur d'agents associés pour chaque étape. Dans l'exemple suivant, l'entrée de l'utilisateur final "Je voudrais louer une voiture" déclenche cinq étapes d'exécution et de transition :
L'aperçu des étapes d'exécution vous redirige vers la page de début de la conversation pour la première étape. Dans ce cas, il s'agit de la page d'accueil par défaut.
La route de transition pour l'intent
car_rental.reservation_create
est déclenchée. Le lecteur des étapes d'exécution met cette route en évidence, où vous pouvez voir que la cible de la transition est la pagePickup Location
.L'agent accède à la page
Pickup Location
.L'agent évalue le traitement des entrées de la page
Pickup Location
. La fulfillment est vide. Il ne se passe donc rien.L'agent tente de collecter le paramètre de formulaire requis
pickup_location
. le message initial de traitement de requête pour ce paramètre s'affiche de l'utilisateur final.
Vous pouvez aussi annuler le dernier énoncé et essayer autre chose pour tester les transitions de page.
Créer une page
Pour créer une page :
Console
- Ouvrez la console Dialogflow CX.
- Choisissez votre projet Google Cloud.
- Sélectionnez votre agent.
- Sélectionnez un flux pour la page dans la section Flux.
- Cliquez sur le bouton d'ajout add dans la section Pages.
- Indiquez un nom à afficher pour votre agent.
- Cliquez sur le bouton des paramètres more_vert à côté du nom à afficher de la page.
- Sélectionnez Modifier.
- Saisissez les champs dans le panneau de configuration de la page qui s'affiche.
- Cliquez sur Save.
API
Consultez la méthode create
pour le type Page
.
Sélectionnez un protocole et une version pour la référence de la page :
Protocole | V3 | V3beta1 |
---|---|---|
REST | Ressource de page | Ressource de page |
RPC | Interface de la page | Interface de la page |
C++ | PagesClient | Non disponible |
C# | PagesClient | Non disponible |
Go | PagesClient | Non disponible |
Java | PagesClient | PagesClient |
Node.js | PagesClient | PagesClient |
PHP | Non disponible | Non disponible |
Python | PagesClient | PagesClient |
Ruby | Non disponible | Non disponible |
Données d'une page
Pour accéder aux données d'une page :
Console
- Ouvrez la console Dialogflow CX.
- Choisissez le projet Google Cloud pour l'agent.
- Sélectionnez votre agent.
- Cliquez sur le flux dans la section Flux.
- Les pages du flux sont insérées dans la section Pages.
- Cliquez sur le bouton des paramètres more_vert à côté du nom à afficher de la page.
- Sélectionnez Modifier.
- Saisissez les champs dans le panneau de configuration de la page qui s'affiche.
- Cliquez sur Enregistrer pour enregistrer les modifications.
API
Consultez les méthodes get
et patch/update
pour le type Page
.
Sélectionnez un protocole et une version pour la référence de la page :
Protocole | V3 | V3beta1 |
---|---|---|
REST | Ressource de page | Ressource de page |
RPC | Interface de la page | Interface de la page |
C++ | PagesClient | Non disponible |
C# | PagesClient | Non disponible |
Go | PagesClient | Non disponible |
Java | PagesClient | PagesClient |
Node.js | PagesClient | PagesClient |
PHP | Non disponible | Non disponible |
Python | PagesClient | PagesClient |
Ruby | Non disponible | Non disponible |
Les données suivantes sont associées aux pages :
- Nom à afficher : nom lisible de votre page.
- Fulfillment d'entrée (également appelé dialogue d'entrée) : il s'agit du fulfillment à appeler lorsque la page devient active.
- Paramètres : il s'agit des valeurs des paramètres d'un formulaire de page qui capturent les entrées structurées de l'utilisateur final.
- Routes : ces gestionnaires d'état peuvent être appelés lorsque la page est active. Pour plus d'informations, consultez la section Routes de gestionnaire au niveau des pages.
- Groupes de routes : les routes de ces groupes peuvent être appelées lorsque la page est active. Pour en savoir plus, consultez la section Groupes de routes.
- Gestionnaires d'événements : ces gestionnaires d'événements peuvent être appelés lorsque la page est active. Pour en savoir plus, consultez la section Gestionnaires d'événements au niveau de la page.
Paramètres de la page
Les paramètres suivants sont disponibles pour les pages :
Paramètres vocaux avancés: Ces paramètres vocaux avancés peut éventuellement remplacer paramètres de flux vocaux et paramètres de reconnaissance vocale de l'agent.
Paramètres d'adaptation vocale: Les paramètres d'adaptation vocale au niveau de la page peuvent éventuellement remplacer les mêmes paramètres d'adaptation vocale de flux. Pour obtenir des instructions plus détaillées, consultez adaptation vocale manuelle.
Pour accéder aux paramètres de la page :
Console
- Ouvrez la console Dialogflow CX.
- Choisissez votre projet Google Cloud.
- Sélectionnez votre agent.
- Passez la souris sur la page dans la section Pages.
- Cliquez sur le bouton des options more_vert.
- Sélectionnez Paramètres de la page.
- Parcourez ou modifiez les paramètres.
- Cliquez sur Enregistrer pour enregistrer les modifications.
API
Consultez les méthodes get
et patch/update
pour le type Page
.
Sélectionnez un protocole et une version pour la référence de la page :
Protocole | V3 | V3beta1 |
---|---|---|
REST | Ressource de la page | Ressource de page |
RPC | Interface de la page | Interface de la page |
C++ | PagesClient | Non disponible |
C# | PagesClient | Non disponible |
Go | PagesClient | Non disponible |
Java | PagesClient | PagesClient |
Node.js | PagesClient | PagesClient |
PHP | Non disponible | Non disponible |
Python | PagesClient | PagesClient |
Ruby | Non disponible | Non disponible |
Supprimer une page
Pour supprimer une page, procédez comme suit :
Console
- Ouvrez la console Dialogflow CX.
- Choisissez votre projet Google Cloud.
- Sélectionnez votre agent.
- Sélectionnez le flux pour la page dans la section Flux.
- Cliquez sur le bouton des paramètres more_vert à côté du nom de la page à afficher dans la section Pages.
- Sélectionnez Supprimer.
API
Consultez la méthode delete
pour le type Page
.
Sélectionnez un protocole et une version pour la référence de la page :
Protocole | V3 | V3beta1 |
---|---|---|
REST | Ressource de page | Ressource de page |
RPC | Interface de la page | Interface de la page |
C++ | PagesClient | Non disponible |
C# | PagesClient | Non disponible |
Go | PagesClient | Non disponible |
Java | PagesClient | PagesClient |
Node.js | PagesClient | PagesClient |
PHP | Non disponible | Non disponible |
Python | PagesClient | PagesClient |
Ruby | Non disponible | Non disponible |