Comprendre les sessions de bot Amazon Lex V2 - Amazon Lex

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'RecognizeUtteranceopération RecognizeText or.

  • Utilisez une fonction Lambda avec l'RecognizeUtteranceopération RecognizeText 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'PutSessionopé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 sur Delegate.

  • 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 sur Delegate. 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'GetSessionopération pour obtenir l'état de l'intention, effectuer l'interaction nécessaire, puis utilisez l'PutSessionopé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'PutSessionopé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 ou PostContent.

  • 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 champ slotToElicit et définir la valeur de dialogAction.type sur elicitSlot. Vous pouvez éventuellement définir les messageFormat champs message et si vous souhaitez modifier le message utilisé par Amazon Lex pour obtenir la valeur de l'emplacement.