Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Comprendre les sessions de bot Amazon Lex V2
Lorsqu'un utilisateur entame une conversation avec votre bot, Amazon Lex V2 crée une session. Les informations échangées entre votre application et Amazon Lex V2 constituent l'état de session de la conversation. Lorsque vous faites une demande, la session est identifiée par un identifiant que vous spécifiez. Pour plus d'informations sur l'identifiant de session, consultez le sessionId
champ de l'RecognizeUtteranceopération RecognizeTextor.
Vous pouvez modifier l'état de session envoyé entre votre application et votre bot. Par exemple, vous pouvez créer et modifier des attributs de session qui contiennent des informations personnalisées sur la session, et vous pouvez modifier le flux de la conversation en définissant le contexte de dialogue pour interpréter le prochain énoncé.
Vous pouvez mettre à jour l'état de la session de trois manières.
-
Transmettez les informations de session en ligne dans le cadre d'un appel à l'
RecognizeUtterance
opérationRecognizeText
or. -
Utilisez une fonction Lambda avec l'
RecognizeUtterance
opérationRecognizeText
ou appelée après chaque tour de conversation. Pour de plus amples informations, veuillez consulter Intégrer un AWS Lambda fonctionne dans votre bot. L'autre consiste à utiliser le moteur d'exécution Amazon Lex V2 API dans votre application pour modifier l'état de la session. -
Utilisez des opérations qui vous permettent de gérer les informations de session pour une conversation avec votre bot. Les opérations sont l'PutSessionopération, l'GetSessionopération et l'DeleteSessionopération. Vous utilisez ces opérations pour obtenir des informations sur l'état de session de votre utilisateur dans votre bot et avoir un contrôle précis sur l'état.
Utilisez l'opération GetSession
lorsque vous souhaitez obtenir l'état actuel de la session. L'opération renvoie l'état actuel de la session, y compris l'état du dialogue avec votre utilisateur, tous les attributs de session définis et les valeurs d'intervalle correspondant à l'intention actuelle, ainsi que toute autre intention identifiée par Amazon Lex V2 comme pouvant correspondre à l'énoncé de l'utilisateur.
L'opération PutSession
vous permet de manipuler directement l'état de session en cours. Vous pouvez définir la session, notamment le type d'action de dialogue que le bot exécutera ensuite et les messages qu'Amazon Lex V2 envoie à l'utilisateur. Cela vous permet de contrôler le flux de la conversation avec le bot. Définissez le type
champ d'action de la boîte de dialogue Delegate
pour qu'Amazon Lex V2 détermine la prochaine action du bot.
Vous pouvez utiliser l'opération PutSession
pour créer une nouvelle session avec un bot et définir l'intention avec laquelle le bot doit démarrer. Vous pouvez également utiliser l'opération PutSession
pour passer d'une intention à une autre. Lorsque vous créez une session ou modifiez l'intention, vous pouvez également définir un état de session, comme des valeurs d'options et des attributs de session. Lorsque la nouvelle intention est terminée, vous avez la possibilité de redémarrer l'intention précédente.
La réponse générée depuis l'opération PutSession
contient les mêmes informations que l'opération RecognizeUtterance
. Vous pouvez utiliser ces informations pour demander à l'utilisateur l'élément d'information suivant, comme vous le feriez avec la réponse de l'opération RecognizeUtterance
.
Utilisez l'opération DeleteSession
pour supprimer une session existante et démarrer avec une nouvelle session. Par exemple, lorsque vous testez le bot, vous pouvez utiliser l'opération DeleteSession
pour supprimer des sessions de test de votre bot.
Les opérations de session fonctionnent avec vos fonctions Lambda d'exécution. Par exemple, si votre fonction Lambda renvoie l'état Failed
d'exécution, vous pouvez utiliser l'PutSession
opération pour définir le type d'action de dialogue close
et pour fulfillmentState
ReadyForFulfillment
réessayer l'étape d'exécution.
Voici quelques actions que vous pouvez effectuer avec les opérations de session :
-
Demander au bot de démarrer une conversation au lieu d'attendre l'utilisateur.
-
Changer d'intention au cours d'une conversation.
-
Revenir à une intention précédente.
-
Démarrer ou redémarrer une conversation au milieu de l'interaction.
-
Valider des valeurs d'option et demander au bot d'entrer à nouveau des valeurs en cas de valeurs non valides.
Chacune de ces actions sont décrites plus en détail ci-dessous.
Démarrage d'une nouvelle session
Si vous souhaitez que le bot démarre la conversation avec votre utilisateur, vous pouvez utiliser l'opération PutSession
.
-
Créez une intention de bienvenue sans options et un message de conclusion qui invite l'utilisateur à indiquer une intention. Par exemple, « Que souhaitez-vous commander ? Vous pouvez dire « Commander une boisson » ou « Commander une pizza ». »
-
Appelez l’opération
PutSession
. Définissez nom de l'intention sur le nom de votre intention de bienvenue et définissez l'action de dialogue surDelegate
. -
Amazon Lex répondra en vous demandant d'entamer la conversation avec votre utilisateur dans le cadre de votre message de bienvenue.
Changer d'intention
Vous pouvez utiliser l'opération PutSession
pour passer d'une intention à une autre. Vous pouvez également l'utiliser pour revenir à une intention précédente. Vous pouvez utiliser l'opération PutSession
pour définir des attributs de session ou des valeurs d'option pour la nouvelle intention.
-
Appelez l’opération
PutSession
. Définissez le nom sur le nom de la nouvelle intention et définissez l'action de dialogue surDelegate
. Vous pouvez également définir les valeurs d'options ou les attributs de session requis pour la nouvelle intention. -
Amazon Lex entamera une conversation avec l'utilisateur en utilisant la nouvelle intention.
Reprise d'une intention antérieure
Pour reprendre une intention antérieure, vous utilisez l'GetSession
opération pour obtenir l'état de l'intention, effectuer l'interaction nécessaire, puis utilisez l'PutSession
opération pour remettre l'intention dans son état de dialogue précédent.
-
Appelez l’opération
GetSession
. Enregistrez l'état de l'intention. -
Effectuez une autre interaction, par exemple en répondant à une intention différente.
-
À l'aide des informations enregistrées pour l'intention précédente, lancez l'
PutSession
opération. Cela renverra à l'utilisateur vers l'intention précédente au même endroit dans la conversation.
Dans certains cas, il peut être nécessaire de reprendre la conversation de votre utilisateur avec votre bot. Par exemple, imaginons que vous avez créé un bot de service client. Votre application détermine que l'utilisateur a besoin de parler à un représentant du service client. Après avoir parlé avec l'utilisateur, le représentant peut rediriger la conversation vers le bot avec les informations qu'il a collectées.
Pour reprendre une session, utilisez des étapes similaires aux étapes suivantes :
-
Votre application détermine que l'utilisateur a besoin de parler à un représentant du service client.
-
Utilisez l'opération
GetSession
pour obtenir l'état de dialogue actuel de l'intention. -
Le représentant service client parle à l'utilisateur et résout le problème.
-
Utilisez l'opération
PutSession
pour définir l'état de dialogue de l'intention. Cela peut inclure la définition de valeurs d'option et d'attributs de session, ou la modification de l'intention. -
Le bot reprend la conversation avec l'utilisateur.
Validation des valeurs des créneaux
Vous pouvez valider les réponses adressées à votre bot à l'aide de votre application cliente. Si la réponse n'est pas valide, vous pouvez utiliser l'opération PutSession
pour obtenir une nouvelle réponse de votre utilisateur. Par exemple, supposons que votre bot de commande de fleurs ne peut vendre que des tulipes, des roses et des lys. Si l'utilisateur commande des œillets, votre application peut effectuer les opérations suivantes :
-
Examiner la valeur d'option renvoyée à partir de la réponse
PostText
ouPostContent
. -
Si la valeur d'option n'est pas valide, appeler l'opération
PutSession
. Votre application doit effacer la valeur d'option, définir le champslotToElicit
et définir la valeur dedialogAction.type
surelicitSlot
. Vous pouvez éventuellement définir lesmessageFormat
champsmessage
et si vous souhaitez modifier le message utilisé par Amazon Lex pour obtenir la valeur de l'emplacement.