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.
Configuration des mises à jour de l'état d'avancement des expéditions pour votre robot Lex V2
Lorsque la fonction Lambda d'exécution d'une intention est appelée, le bot n'envoie pas de réponse tant que la fonction n'est pas terminée. Si l'exécution de la fonction Lambda prend plus de quelques secondes, l'utilisateur peut penser que le bot ne répond pas. Pour résoudre ce problème, vous pouvez configurer votre bot pour qu'il envoie des mises à jour à l'utilisateur pendant que la fonction Lambda d'exécution est en cours d'exécution afin que l'utilisateur sache que le bot travaille toujours sur sa demande.
Lorsque vous ajoutez des mises à jour d'expédition à une intention, le bot répond au début de l'exécution et périodiquement pendant que l'exécution est en cours. Lorsque vous configurez la réponse de démarrage, vous pouvez spécifier un délai avant que le bot n'envoie la réponse. Vous pouvez ainsi prendre en charge les cas où l'exécution ne se termine pas assez rapidement. Lorsque vous configurez une réponse de mise à jour, vous spécifiez la fréquence à laquelle vous souhaitez que les mises à jour soient envoyées. Vous configurez également un délai d'expiration pour limiter la durée d'exécution de la fonction d'exécution.
Vous pouvez également ajouter des réponses après expédition à un bot. Cela permet au bot d'envoyer une réponse différente en fonction de la réussite, de l'échec ou de l'expiration du délai d'exécution.
Les mises à jour relatives au traitement des commandes ne sont utilisées que lorsque vous interagissez avec un bot utilisant l'StartConversationopération. Vous pouvez utiliser la mise à jour après expédition lorsque vous interagissez avec le bot à l'aide des RecognizeTextopérations StartConversation, et RecognizeUtterance
Mises à jour relatives
Les mises à jour relatives au traitement des commandes sont envoyées alors que votre fonction Lambda répond à une intention. Lorsque vous activez les mises à jour d'expédition, vous fournissez une réponse initiale envoyée au début de l'expédition et une réponse de mise à jour envoyée périodiquement pendant que l'expédition est en cours.
Lorsque vous spécifiez une réponse de mise à jour, vous spécifiez également un délai d'expiration qui détermine la durée d'exécution de la fonction d'exécution. Vous pouvez spécifier un délai d'attente allant jusqu'à 15 minutes (900 secondes).
Si vous désactivez les mises à jour d'expédition en définissant active
la valeur sur false dans la console ou en utilisant l'UpdateIntentopération CreateIntentou, le délai spécifié pour les mises à jour d'expédition n'est pas utilisé et le délai par défaut de 30 secondes est utilisé à la place.
En cas d'expiration de la fonction d'expédition, Amazon Lex V2 effectue l'une des trois opérations suivantes :
-
La réponse après expédition est configurée et active : renvoie la réponse au délai d'expiration.
-
La réponse après expédition est configurée et n'est pas active : renvoie une exception.
-
La réponse après expédition n'est pas configurée : renvoie une exception.
Commencer la réponse
Amazon Lex V2 renvoie la réponse de démarrage lorsque la fonction de distribution Lambda est appelée au cours d'une conversation en streaming. Il indique généralement à l'utilisateur que la réalisation de l'intention prend un certain temps et qu'il doit attendre. La réponse de démarrage n'est pas renvoyée lorsque vous utilisez les RecognizeUtterance
opérations RecognizeText
or.
Vous pouvez spécifier jusqu'à cinq messages de réponse. Amazon Lex V2 choisit l'un des messages à transmettre à l'utilisateur.
Vous pouvez configurer un délai entre le moment où la fonction Lambda est appelée et le moment où la réponse de démarrage est renvoyée. La réponse de démarrage n'est pas renvoyée si la fonction Lambda termine son travail avant la fin du délai.
Vous pouvez utiliser le active
bouton de la console ou de la FulfillmentUpdatesSpecificationstructure pour activer ou désactiver la réponse de démarrage. Lorsque cette valeur active
est fausse, la réponse de démarrage n'est pas jouée.
Mettre à jour la réponse
Amazon Lex renvoie régulièrement la réponse à la mise à jour lors d'une conversation en streaming pendant que la fonction Lambda Fulfillment est en cours d'exécution. La réponse de mise à jour n'est pas jouée lorsque vous utilisez les RecognizeUtterance
opérations RecognizeText
or. Vous pouvez configurer la fréquence d'exécution de la réponse de mise à jour. Par exemple, vous pouvez lancer une réponse de mise à jour toutes les 30 secondes pendant l'exécution de la fonction d'exécution pour indiquer à l'utilisateur que le processus est en cours d'exécution et qu'il doit continuer à attendre.
Vous pouvez spécifier jusqu'à cinq messages de mise à jour. Amazon Lex V2 choisit un message à transmettre à l'utilisateur. L'utilisation de plusieurs messages permet d'éviter que les mises à jour ne soient répétitives.
Si l'utilisateur fournit des informations vocales ou textuelles alors que la fonction Lambda d'expédition est en cours d'exécution, Amazon Lex V2 renvoie la réponse de mise à jour à l'utilisateur. DTMF
Si la fonction Lambda termine son travail avant la fin de la première période de mise à jour, la réponse de mise à jour n'est pas renvoyée.
Vous pouvez utiliser le active
bouton de la console ou de la FulfillmentUpdatesSpecificationstructure pour activer ou désactiver la réponse à la mise à jour. Lorsque cette valeur active
est fausse, la réponse de mise à jour n'est pas renvoyée.
Réponse après expédition
Amazon Lex V2 renvoie une réponse après expédition lorsque la fonction d'expédition prend fin. Une réponse post-traitement peut être utilisée pour répondre à n'importe quelle intention, et pas seulement lors de conversations en streaming. La réponse post-exécution indique à l'utilisateur que la fonction est terminée et indique le résultat.
Vous pouvez utiliser le active
bouton de la console ou de la PostFulfillmentStatusSpecificationstructure pour activer ou désactiver la réponse après expédition. Lorsque cette valeur active
est fausse, la réponse n'est pas jouée.
Il existe trois types de réponses après expédition :
-
Succès : renvoyé lorsque la fonction Lambda d'exécution termine son travail avec succès. Si les réponses après expédition ne sont pas actives. Amazon Lex V2 exécute l'action configurée suivante.
-
Timeout : renvoyé si la fonction Lambda ne termine pas son travail avant l'expiration du délai d'expiration configuré. Si les réponses après expédition ne sont pas actives, Amazon Lex V2 renvoie une exception.
-
Échec : renvoyé lorsque la fonction Lambda renvoie le statut
Failed
dans la réponse ou lorsqu'Amazon Lex V2 rencontre une erreur alors qu'il répond à l'intention. Si les réponses après expédition ne sont pas actives, Amazon Lex V2 renvoie une exception.
Vous pouvez spécifier jusqu'à cinq messages pour chaque type. Amazon Lex V2 choisit l'un des messages à transmettre à l'utilisateur.
Contrairement aux réponses relatives au début du traitement et à la mise à jour de l'expédition, les réponses postérieures à l'expédition sont diffusées à la fois pour les conversations en streaming et hors streaming.
Vous avez également la possibilité de remplacer ces messages en configurant la fonction Lambda pour qu'elle renvoie un message après expédition.
Note
Si l'intention fait l'objet d'une réponse finale, elle est renvoyée après la réponse postérieure à l'exécution.
Exemple de post-expédition pour Lex V2
Pour mieux comprendre la réponse après expédition, prenons, à titre d'exemple, un BookTrip
bot, créé pour aider à planifier un voyage, avec un BookFlight
intention, configurée avec une fonction Lambda d'exécution qui réserve le vol du client auprès d'une compagnie aérienne. Une fois les machines à sous pour BookFlight
ont été obtenus, Amazon Lex V2 invoque la fonction Lambda d'expédition. Au cours de ce processus d'expédition, l'un des trois résultats suivants peut se produire :
-
Succès — Le vol est réservé avec succès.
-
Délai d'expiration : le processus de réservation prend plus de temps que le délai d'exécution Lambda d'expédition configuré (par exemple, si la compagnie aérienne ne peut pas être contactée dans le délai imparti).
-
Echec — La réservation échoue pour une autre raison.
Vous pouvez tirer parti de la réponse post-expédition pour apporter une réponse plus significative à vos clients dans chacune de ces situations. Voici des exemples pour chaque situation :
-
Réponse positive — « Nous avons réussi à réserver votre billet et nous vous avons envoyé un e-mail de confirmation. N'hésitez pas à nous contacter en utilisant les coordonnées fournies dans cet e-mail si vous avez des questions. »
-
Réponse dans le délai imparti : « En raison du trafic intense sur nos systèmes, la réservation de votre billet prend plus de temps que prévu. Votre demande est dans notre file d'attente et nous vous avons envoyé un e-mail avec le numéro de référence correspondant à cette demande. Une fois le billet réservé, nous vous enverrons une confirmation de réservation. N'hésitez pas à nous contacter en utilisant les coordonnées fournies dans cet e-mail si vous avez des questions. »
Note
Si vous ne configurez pas de message de délai d'expiration, Lex génère une erreur 4XX correspondant au cas d'utilisation.
-
Réponse négative — « Malheureusement, nous n'avons pas pu réserver votre billet. Nous avons envoyé un e-mail contenant des détails concernant le problème que nous avons rencontré lors de la réservation de votre réservation. »