Configuration des mises à jour de progression du traitement - 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.

Configuration des mises à jour de progression du traitement

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 robot pour qu'il envoie des mises à jour à l'utilisateur pendant que la fonction Lambda de traitement 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'exécution à une intention, le robot répond au début de l'exécution et régulièrement pendant le traitement. 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. Cela vous permet de prendre en charge les cas où le traitement 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 de traitement des commandes.

Vous pouvez également ajouter des réponses post-traitement à un robot. Cela permet au robot d'envoyer une réponse différente selon que l'exécution est réussie, échouée ou expirée.

Les mises à jour de traitement des commandes ne sont utilisées que lorsque vous interagissez avec un robot utilisant l'StartConversationopération. Vous pouvez utiliser la mise à jour après traitement lorsque vous interagissez avec le robot à l'aide RecognizeUtterancedes opérations StartConversationRecognizeText, et

Mises à jour relatives

Les mises à jour d'exécution sont envoyées alors que votre fonction Lambda répond à une intention. Lorsque vous activez les mises à jour du traitement, vous fournissez une réponse de début qui est envoyée au début du traitement et une réponse de mise à jour qui est envoyée périodiquement pendant le traitement.

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 pendant laquelle la fonction de traitement peut s'exécuter. Vous pouvez spécifier un délai d'expiration pouvant aller jusqu'à 15 minutes (900 secondes).

Si vous désactivez les mises à jour d'exécution en les définissantactive sur false dans la console ou en utilisant l'UpdateIntentopération CreateIntentor, le délai d'expiration spécifié pour les mises à jour d'exécution n'est pas utilisé et le délai d'attente par défaut de 30 secondes est utilisé à la place.

Si la fonction de traitement des commandes arrive à expiration, Amazon Lex V2 effectue l'une des trois opérations suivantes :

  • La réponse post-traitement est configurée et active. Elle renvoie la réponse au délai d'expiration.

  • La réponse post-traitement est configurée et n'est pas active. Elle renvoie une exception.

  • La réponse post-traitement n'est pas configurée. Elle renvoie une exception.

Commencer la réponse

Amazon Lex V2 renvoie la réponse de démarrage lorsque la fonction de traitement 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 lesRecognizeUtterance opérationsRecognizeText ou.

Vous pouvez spécifier jusqu'à cinq messages de réponse. Amazon Lex V2 choisit l'un des messages à 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 leactive bouton de la console ou de la FulfillmentUpdatesSpecificationstructure pour activer et désactiver la réponse de démarrage. Lorsque la valeuractive est False, 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 de mise à jour lors d'une conversation en streaming alors que la fonction de traitement Lambda est en cours d'exécution. La réponse de mise à jour n'est pas lue lorsque vous utilisez lesRecognizeUtterance opérationsRecognizeText ou. Vous pouvez configurer la fréquence d'exécution de la réponse de mise à jour. Par exemple, vous pouvez afficher une réponse de mise à jour toutes les 30 secondes pendant que la fonction de traitement s'exécute pour informer l'utilisateur que le processus est en cours et qu'il doit continuer à attendre.

Vous pouvez spécifier jusqu'à cinq messages de mise à jour. Amazon Lex V2 choisit un message à diffuser à l'utilisateur. L'utilisation de plusieurs messages évite que les mises à jour soient répétitives.

Si l'utilisateur fournit une saisie vocale, DTMF ou texte alors que la fonction Lambda de traitement est en cours d'exécution, Amazon Lex V2 renvoie la réponse de mise à jour à l'utilisateur.

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 leactive bouton de la console ou de la FulfillmentUpdatesSpecificationstructure pour activer et désactiver la réponse à la mise à jour. Lorsque la valeuractive est false, la réponse de mise à jour n'est pas renvoyée.

Réponse après l'exécution

Amazon Lex V2 renvoie une réponse post-traitement lorsque la fonction de traitement se termine. Une réponse post-traitement peut être utilisée pour répondre à n'importe quelle intention, et pas seulement lors de la diffusion de conversations. La réponse après traitement permet à l'utilisateur de savoir que la fonction est terminée et qu'il en connaît le résultat.

Vous pouvez utiliser leactive bouton de la console ou de la PostFulfillmentStatusSpecificationstructure pour activer et désactiver la réponse après traitement. Quandactive c'est faux, la réponse n'est pas jouée.

Il existe trois types de réponses post-réalisation :

  • Succès : renvoyé lorsque la fonction Lambda d'exécution termine son travail avec succès. Si les réponses post-traitement ne sont pas actives. Amazon Lex V2 exécute la prochaine action configurée.

  • Délai d'expiration : renvoyé si la fonction Lambda ne termine pas son travail avant la fin du délai d'expiration configuré. Si les réponses après traitement ne sont pas actives, Amazon Lex V2 renvoie une exception.

  • Échec : renvoyé lorsque la fonction Lambda renvoie l'état indiquéFailed dans la réponse ou lorsqu'Amazon Lex V2 rencontre une erreur lors de la réalisation de l'objectif. Si les réponses après traitement 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 à l'utilisateur.

Contrairement aux réponses en réalisation et celles sans streaming, les réponses post-réalisation sont lues aussi bien pour les conversations en streaming que pour celles sans streaming.

Vous avez également la possibilité de remplacer ces messages en configurant la fonction Lambda pour qu'elle renvoie un message après traitement.

Note

Si l'intention comporte une réponse finale, elle est renvoyée après la réponse post-traitement.

Exemple de post-exécution

Pour mieux comprendre la réponse post-traitement, prenons, à titre d'exemple, un BookTripbot créé pour aider à planifier un voyage, avec une BookFlightintention, configuré avec une fonction Lambda de traitement qui réserve le vol du client auprès d'une compagnie aérienne. Une fois les créneaux pour BookFlightobtenus, Amazon Lex V2 invoque la fonction Lambda de traitement des commandes. Au cours de ce processus d'réalisation, l'un des trois résultats suivants peut se produire :

  • Succès — Le vol a été 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 configuré (par exemple, si la compagnie aérienne ne peut pas être contactée dans le délai imparti).

  • Échec — La réservation échoue pour une autre raison.

Vous pouvez tirer parti de la réponse post-traitement pour fournir une réponse plus significative à vos clients dans chacune de ces situations. Des exemples pour chaque situation sont les suivants :

  • Réponse réussie — « 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. »

  • Délai de réponse : « 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 que nous aurons réservé le billet, 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 temporisation, Lex génère une erreur 4XX correspondant au cas d'utilisation.

  • Réponse en cas d'échec — « Malheureusement, nous n'avons pas pu réserver votre billet. Nous avons envoyé un e-mail contenant des informations concernant le problème rencontré lors de la réservation. »