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.
Démarrage d'un flux de conversation vers un bot Amazon Lex V2
Vous utilisez cette StartConversationopération pour démarrer un flux entre l'utilisateur et le bot Amazon Lex V2 dans votre application. La POST
demande de l'application établit une connexion entre votre application et le bot Amazon Lex V2. Cela permet à votre application et au bot de commencer à échanger des informations par le biais d'événements.
L'StartConversation
opération est prise en charge uniquement dans les cas suivants SDKs :
Le premier événement que votre application doit envoyer au bot Amazon Lex V2 est un ConfigurationEvent. Cet événement inclut des informations telles que le format du type de réponse. Les paramètres que vous pouvez utiliser lors d'un événement de configuration sont les suivants :
-
responseContentType— Détermine si le bot répond aux entrées de l'utilisateur par du texte ou de la parole.
-
SessionState — Informations relatives à la session de streaming avec le bot, telles que l'intention prédéterminée ou l'état du dialogue.
-
WelcomeMessages — Spécifie les messages de bienvenue adressés à l'utilisateur au début de sa conversation avec un bot. Ces messages sont diffusés avant que l'utilisateur ne saisisse quoi que ce soit. Pour activer un message de bienvenue, vous devez également spécifier des valeurs pour les
dialogAction
paramètressessionState
et. -
DisablePlayback — Détermine si le bot doit attendre un signal du client avant de commencer à écouter les informations de l'appelant. Par défaut, la lecture est activée. La valeur de ce champ est donc
false
. -
RequestAttributes — Fournit des informations supplémentaires pour la demande.
Pour plus d'informations sur la manière de spécifier les valeurs des paramètres précédents, consultez le type de ConfigurationEventdonnées de l'StartConversationopération.
Chaque flux entre un bot et votre application ne peut comporter qu'un seul événement de configuration. Une fois que votre application a envoyé un événement de configuration, le bot peut recevoir des communications supplémentaires de votre application.
Si vous avez indiqué que votre utilisateur utilise le son pour communiquer avec le bot Amazon Lex V2, votre application peut envoyer les événements suivants au bot au cours de cette conversation :
-
AudioInputEvent— Contient un bloc audio dont la taille maximale est de 320 octets. Votre application doit utiliser plusieurs événements d'entrée audio pour envoyer un message du serveur au bot. Chaque événement d'entrée audio du flux doit avoir le même format audio.
-
DTMFInputÉvénement — Envoie une entrée DTMF au bot. Chaque pression sur une touche DTMF correspond à un seul événement.
-
PlaybackCompletionEvent— Informe le serveur qu'une réponse provenant de l'entrée de l'utilisateur lui a été retransmise. Vous devez utiliser un événement de fin de lecture si vous envoyez une réponse audio à l'utilisateur. Si votre événement
disablePlayback
de configuration l'esttrue
, vous ne pouvez pas utiliser cette fonctionnalité. -
DisconnectionEvent— Informe le bot que l'utilisateur s'est déconnecté de la conversation.
Si vous avez indiqué que l'utilisateur utilise du texte pour communiquer avec le bot, votre application peut envoyer les événements suivants au bot au cours de cette conversation :
-
TextInputEvent— Texte envoyé par votre application au bot. Un événement de saisie de texte peut contenir jusqu'à 512 caractères.
-
PlaybackCompletionEvent— Informe le serveur qu'une réponse provenant de l'entrée de l'utilisateur lui a été retransmise. Vous devez utiliser cet événement si vous retransmettez du son à l'utilisateur. Si votre événement
disablePlayback
de configuration l'esttrue
, vous ne pouvez pas utiliser cette fonctionnalité. -
DisconnectionEvent— Informe le bot que l'utilisateur s'est déconnecté de la conversation.
Vous devez encoder chaque événement que vous envoyez à un bot Amazon Lex V2 dans le bon format. Pour de plus amples informations, veuillez consulter Encodage de flux d’événements.
Chaque événement possède un identifiant d'événement. Pour résoudre les problèmes susceptibles de survenir dans le flux, attribuez un identifiant d'événement unique à chaque événement en entrée. Vous pouvez ensuite résoudre les problèmes de traitement éventuels avec le bot.
Amazon Lex V2 utilise également des horodatages pour chaque événement. Vous pouvez utiliser ces horodatages en plus de l'identifiant de l'événement pour résoudre les problèmes de transmission réseau.
Au cours de la conversation entre l'utilisateur et le bot Amazon Lex V2, celui-ci peut envoyer les événements sortants suivants en réponse à l'utilisateur :
-
IntentResultEvent— Contient l'intention déterminée par Amazon Lex V2 à partir de l'énoncé de l'utilisateur. Chaque événement de résultat interne inclut :
-
InputMode — Type d'énoncé utilisé par l'utilisateur. Les valeurs valides sont
Speech
,DTMF
ouText
. -
interprétations : interprétations qu'Amazon Lex V2 détermine à partir de l'énoncé de l'utilisateur.
-
RequestAttributes — Si vous n'avez pas modifié les attributs de la demande à l'aide d'une fonction lambda, il s'agit des mêmes attributs que ceux transmis au début de la conversation.
-
SessionId — Identifiant de session utilisé pour la conversation.
-
SessionState — État de la session de l'utilisateur avec Amazon Lex V2.
-
-
TranscriptEvent— Si l'utilisateur fournit une entrée à votre application, cet événement contient la transcription de l'énoncé de l'utilisateur au bot. Votre application ne reçoit pas de message
TranscriptEvent
s'il n'y a aucune saisie de la part de l'utilisateur.La valeur de l'événement de transcription envoyé à votre application varie selon que vous avez spécifié le mode audio (voix et DMTF) ou le texte comme mode de conversation :
-
Transcription de la saisie vocale — Si l'utilisateur parle avec le bot, l'événement de transcription est la transcription du son de l'utilisateur. Il s'agit d'une transcription de tous les discours depuis le moment où l'utilisateur commence à parler jusqu'au moment où il finit de parler.
-
Transcription de l'entrée DTMF — Si l'utilisateur tape sur un clavier, l'événement de transcription contient tous les chiffres que l'utilisateur a pressés lors de sa saisie.
-
Transcription de la saisie de texte : si l'utilisateur saisit du texte, l'événement de transcription contient tout le texte saisi par l'utilisateur.
-
-
TextResponseEvent— Contient la réponse du bot au format texte. Une réponse textuelle est renvoyée par défaut. Si vous avez configuré Amazon Lex V2 pour renvoyer une réponse audio, ce texte est utilisé pour générer une réponse audio. Chaque événement de réponse textuelle contient un tableau d'objets de message que le bot renvoie à l'utilisateur.
-
AudioResponseEvent— Contient la réponse audio synthétisée à partir du texte généré dans le
TextResponseEvent
. Pour recevoir des événements de réponse audio, vous devez configurer Amazon Lex V2 pour fournir une réponse audio. Tous les événements de réponse audio ont le même format audio. Chaque événement contient des segments audio d'une taille maximale de 100 octets. Amazon Lex V2 envoie un fragment audio vide dont lebytes
champ est défininull
pour indiquer la fin de l'événement de réponse audio à votre application. -
PlaybackInterruptionEvent— Lorsqu'un utilisateur interrompt une réponse envoyée par le bot à votre application, Amazon Lex V2 déclenche cet événement pour arrêter la lecture de la réponse.
-
HeartbeatEvent— Amazon Lex V2 renvoie régulièrement cet événement pour empêcher l'expiration du délai de connexion entre votre application et le bot.
Séquence chronologique des événements d'une conversation audio lors de l'utilisation d'un bot Amazon Lex V2
Les diagrammes suivants montrent une conversation audio en streaming entre un utilisateur et un bot Amazon Lex V2. L'application diffuse du son en continu vers le bot, qui recherche les entrées de l'utilisateur à partir de l'audio. Dans cet exemple, l'utilisateur et le bot utilisent la parole pour communiquer. Chaque diagramme correspond à un énoncé de l'utilisateur et à la réponse du bot à cet énoncé.
Le schéma suivant montre le début d'une conversation entre l'application et le bot. Le flux commence à l'heure zéro (t0).

La liste suivante décrit les événements du schéma précédent.
-
t0 : L'application envoie un événement de configuration au bot pour démarrer le flux.
-
t1 : L'application diffuse des données audio. Ces données sont divisées en une série d'événements d'entrée provenant de l'application.
-
t2 : Pour l'énoncé utilisateur 1, le bot détecte un événement d'entrée audio lorsque l'utilisateur commence à parler.
-
t2 : Pendant que l'utilisateur parle, le bot envoie un battement de cœur pour maintenir la connexion. Il envoie ces événements par intermittence pour s'assurer que la connexion n'expire pas.
-
t3 : Le bot détecte la fin de l'énoncé de l'utilisateur.
-
t4 : Le bot renvoie un événement de transcription contenant une transcription du discours de l'utilisateur à l'application. C'est le début de la réponse du bot à l'énoncé 1 de l'utilisateur.
-
t5 : Le bot envoie un événement de résultat d'intention pour indiquer l'action que l'utilisateur souhaite effectuer.
-
t6 : Le bot commence à fournir sa réponse sous forme de texte dans un événement de réponse textuelle.
-
t7 : Le bot envoie une série d'événements de réponse audio à l'application pour qu'elle soit diffusée par l'utilisateur.
-
t8 : Le bot envoie un autre événement de battement de cœur pour maintenir la connexion par intermittence.
Le schéma suivant est une continuation du schéma précédent. Il montre que l'application envoie un événement de fin de lecture au bot pour indiquer qu'elle a arrêté de lire la réponse audio pour l'utilisateur. L'application renvoie à l'utilisateur la réponse du bot à l'énoncé 1 de l'utilisateur. L'utilisateur répond à la réponse du bot à l'énoncé utilisateur 1 par l'énoncé utilisateur 2.

La liste suivante décrit les événements du schéma précédent :
-
t10 : L'application envoie un événement de fin de lecture pour indiquer qu'elle a fini de lire le message du bot à l'utilisateur.
-
t11 : L'application renvoie la réponse de l'utilisateur au bot sous forme d'énoncé utilisateur 2.
-
t12 : Pour la réponse du bot à l'énoncé 2 de l'utilisateur, le bot attend que l'utilisateur arrête de parler, puis commence à fournir une réponse audio.
-
t13 : Pendant que le bot envoie la réponse du bot à l'énoncé utilisateur 2 à l'application, le bot détecte le début de l'énoncé utilisateur 3. Le bot arrête la réponse du bot à l'énoncé 2 de l'utilisateur et envoie un événement d'interruption de lecture.
-
t14 : Le bot envoie un événement d'interruption de lecture à l'application pour signaler que l'utilisateur a interrompu l'invite.
Le schéma suivant montre la réponse du bot à l'énoncé 3 de l'utilisateur et indique que la conversation se poursuit une fois que le bot a répondu à l'énoncé de l'utilisateur.
