Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Maintenant que vous disposez de votre entité de séquence, vous pouvez créer les intents pour collecter la séquence auprès de l'utilisateur final. Vous aurez besoin d'au moins trois intents avec les responsabilités suivantes:
Un intent principal "Séquence"
Identifie les énoncés pour lancer la collection de séquences.
Appelée par des événements de suivi pour poursuivre la capture des séquences jusqu'à ce que l'utilisateur final lui ait dit qu'il est terminé.
Un intent contextuel "Séquence – Modifier"
Identifie les énoncés pour corriger la dernière séquence collectée.
De façon automatisée, l'intent "Sequence" est renvoyé pour collecter la séquence corrigée.
L'intent contextuel "Séquence – OK"
Identifie les énoncés qui indiquent que la séquence est terminée.
Dans la section suivante, vous allez voir comment le webhook les connectera, mais commençons par configurer les intents.
Créer l'intent "Sequence"
Il s'agit de l'intent principal pour collecter des séquences. Configurez-le comme suit:
Laissez les contextes d'entrée vides afin que les utilisateurs finaux puissent déclencher cet intent au début de l'appel.
Ajoutez un contexte de sortie "collecting-sequence". Nous utiliserons ce contexte pour permettre de corriger et de terminer les intents pendant le flux.
Ajoutez un contexte de sortie "editing-sequence" et définissez la durée de vie sur 0. Nous activerons ce contexte avec une durée à partir de l'intent "Sequence - Edit" (Séquence - Modifier) dans la section suivante. Il est important d'effacer ce contexte ici afin que le contexte "editing-sequence" ne soit actif immédiatement qu'après avoir déclenché
l'intent "Modifier".
Ajoutez un événement "continue-sequence" pour que votre webhook puisse lire cet intent en boucle afin de collecter toutes les séquences partielles.
Ajoutez des phrases d'entraînement pour que l'utilisateur final puisse déclencher cet intent pour lancer le flux.
Cet exemple utilise des expressions telles que "Quel est l'état de ma commande", "Suivre ma commande", "Où est ma commande", etc.
Ajoutez le nom d'action "handle-sequence" pour que le webhook sache quand s'activer.
Vous allez coder le webhook dans la section suivante de ce tutoriel, une fois tous les intents configurés.
Ajoutez le paramètre requis "new_sequence" à l'aide de l'entité d'expression régulière que vous avez créée pour collecter des séquences partielles dans la section précédente. Définissez le type d'entité sur "@alphanumeric" et la valeur sur "$new_sequence".
Ajoutez un paramètre facultatif "existing_sequence" avec la valeur "#continue-sequence.existing_sequence" pour extraire la nouvelle séquence existante de l'événement. Vous pouvez laisser le type d'entité vide.
Ajoutez un paramètre facultatif "previous_sequence" avec la valeur "#continue-sequence.previous_sequence" pour extraire la séquence précédente de l'événement. Vous pouvez laisser le type d'entité vide.
Activez l'appel webhook pour cet intent et l'appel de webhook pour le remplissage de cases.
Créer l'intent "Sequence - Edit"
Cet intent écoute les énoncés indiquant que la séquence précédente a été mal interprétée par l'agent. Procédez comme suit:
Ajoutez un contexte d'entrée"collecting-sequence" pour que cet intent ne soit appelé que lorsque nous sommes au milieu du flux de séquence. Il s'agit du même contexte activé par l'intent "Sequence".
Ajoutez un contexte de sortie "editing-sequence" pour notre webhook de fulfillment pour référence. Lorsque cet intent est activé, le webhook reconnecte Dialogflow sur l'intent "Sequence" principal pour collecter la séquence suivante. Le webhook de remplissage de cases de l'intent "Sequence" vérifie un contexte actif "editing-sequence" actif pour fournir une réponse symétrique "Réessayer" à l'utilisateur final.
Ajoutez des phrases d'entraînement telles que"non", "c'est inexact", etc.
Ajoutez le nom d'action "handle-sequence". Il s'agit de la même action que l'intent "Sequence" afin de pouvoir réutiliser la même logique de webhook.
Ajoutez le paramètre "new_sequence" avec la valeur "#collecting-sequence.previous_sequence" pour extraire la séquence précédente du contexte, et annuler ainsi le dernier énoncé de manière efficace. Nous n'ajoutons pas un paramètre "existing_sequence" ici afin que le webhook écrase la séquence existante par la précédente.
Activer l'appel webhook pour cet intent.
Créez un intent "Séquence – OK".
Ajouter un contexte d'entrée "collecting-sequence"
Ajoutez un contexte de sortie "collecting-sequence" et définissez la durée de vie sur 0 pour effacer le contexte. Cette action empêche de déclencher à nouveau les intents "Modifier" et "Terminé" lorsque l'agent a fini de collecter la séquence.
Ajoutez des phrases d'entraînement telles que "c'est terminé", "c'est fini", etc.
Ajoutez un paramètre "sequence" avec la valeur "#collecting-sequence.existing_sequence" pour extraire la séquence finale du contexte.
Activer l'appel webhook pour cet intent.
Associer les intents via un webhook
Vous disposez maintenant de tous les éléments nécessaires pour coder la logique de ces intents. Dans la section suivante, vous verrez comment coder le webhook pour utiliser tous ces contextes, actions, paramètres et événements pour terminer le flux de validation de la séquence.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/04 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/09/04 (UTC)."],[[["\u003cp\u003eThere are three key intents for collecting sequences: "Sequence" to start and continue, "Sequence - Edit" to correct the last entry, and "Sequence - Done" to finalize the sequence.\u003c/p\u003e\n"],["\u003cp\u003eThe "Sequence" intent uses output contexts "collecting-sequence" and "editing-sequence" to manage the flow, along with the "continue-sequence" event and training phrases to start and continue sequence collection.\u003c/p\u003e\n"],["\u003cp\u003eThe "Sequence - Edit" intent utilizes the "collecting-sequence" input context to activate only during sequence collection, along with an "editing-sequence" output context to inform the webhook to correct the sequence.\u003c/p\u003e\n"],["\u003cp\u003eThe "Sequence - Done" intent, triggered by phrases indicating sequence completion, clears the "collecting-sequence" context to prevent further edits and extracts the complete sequence.\u003c/p\u003e\n"],["\u003cp\u003eAll three intents use the same action name "handle-sequence" and webhook calls, which allows a single webhook to manage the sequence validation flow.\u003c/p\u003e\n"]]],[],null,["# Creating the sequence flow intents\n\nNow that you have your sequence entity, you can create the intents to collect the\nsequence from the end-user. You'll want at least three intents with these responsibilities:\n\n1. A head intent \"Sequence\"\n - Catches utterances to start the sequence collection.\n - Invoked by follow-up events to continue capturing sequences until the end-user says they're done.\n2. A contextual intent \"Sequence - Edit\"\n - Catches utterances to correct the last sequence collected.\n - Programmatically loops back to the \"Sequence\" intent to collect the corrected sequence.\n3. A contextual intent \"Sequence - Done\"\n - Catches utterances that indicate the sequence is complete.\n\nIn the next section, you'll see how webhook will connect all of these, but first\nlet's set up the intents.\n\nCreate the \"Sequence\" intent\n----------------------------\n\nThis is the main intent for collecting sequences. Configure it like so:\n\n1. Leave the input contexts empty so end-users can trigger this intent at the start of the call.\n2. Add an output context \"collecting-sequence\". We'll use this context to enable the correcting and finishing intents during the flow.\n3. Add an output context \"editing-sequence\" and set the lifespan to 0. We'll activate this context with a lifespan from the \"Sequence - Edit\" intent in the next section, and it's important to clear that context here so that the \"editing-sequence\" context is only active immediately after triggering the \"Edit\" intent.\n4. Add an event \"continue-sequence\" so your webhook can loop this intent to\n collect all of the partial sequences.\n\n5. Add training phrases so the end-user can trigger this intent to start the flow.\n This example uses phrases like \"what's my order status\", \"track my order\",\n \"where is my order\", etc.\n\n6. Add an action name \"handle-sequence\" so the webhook knows when to fire.\n You'll code the webhook in the next section of this tutorial, after all the\n intents are set up.\n\n7. Add a required parameter \"new_sequence\" using the regexp entity you created\n to collect partial sequences in the previous section. Set the entity type to\n \"@alphanumeric\" and the value to \"$new_sequence\".\n\n8. Add an optional parameter \"existing_sequence\" with value\n \"#continue-sequence.existing_sequence\" to extract the new existing sequence\n from the event. You can leave the entity type empty.\n\n9. Add an optional parameter \"previous_sequence\" with value\n \"#continue-sequence.previous_sequence\" to extract the previous sequence\n from the event. You can leave the entity type empty.\n\n10. Enable webhook call for this intent *and* webhook call for slot filling.\n\nCreate the \"Sequence - Edit\" intent\n-----------------------------------\n\nThis intent listens for utterances that indicate the previous sequence was\nmisheard by the agent. Set it up like this:\n\n1. Add an input context \"collecting-sequence\" so that this intent is only called when we're in the middle of the sequence flow. This is the same context activated by the \"Sequence\" intent.\n2. Add an output context \"editing-sequence\" for our fulfillment webhook to reference. When this intent is activated, the webhook will loop Dialogflow back to the main \"Sequence\" intent to collect the next sequence. The webhook for the \"Sequence\" intent's slot-filling will check for an active \"editing-sequence\" context to provide a sympathetic \"try again\" response to the end-user.\n3. Add training phrases like \"no\", \"that's not right\", etc.\n\n4. Add the action name \"handle-sequence\". This is the same action as the\n \"Sequence\" intent so we can reuse the same webhook logic.\n\n5. Add a parameter \"new_sequence\" with value\n \"#collecting-sequence.previous_sequence\" to extract the previous sequence\n from the context, effcetively undoing the last utterance. We do *not* add an\n \"existing_sequence\" parameter here so that the webhook will overwrite the\n existing sequence with the previous one.\n\n6. Enable webhook call for this intent.\n\nCreate a \"Sequence - Done\" intent.\n----------------------------------\n\n1. Add an input context \"collecting-sequence\"\n2. Add an output context \"collecting-sequence\" and set the lifespan to 0 to clear the context. Clearing it prevents the \"Edit\" and \"Done\" intents from triggering again now that the agent is done collecting the sequence.\n3. Add training phrases like \"that's it\", \"all done\", etc.\n\n4. Add a parameter \"sequence\" with value\n \"#collecting-sequence.existing_sequence\" to extract the final\n sequence from the context.\n\n5. Enable webhook call for this intent.\n\nLink the intents through webhook\n================================\n\nYou now have everything you need to code the logic for these intents. In the next\nsection, you'll see how to code the webhook to use all these contexts, actions,\nparameters, and events to complete the sequence validation flow."]]