Création d'un AWS Lambda fonction pour votre bot - 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.

Création d'un AWS Lambda fonction pour votre bot

Pour créer une fonction Lambda pour votre bot Amazon Lex V2, accédez à AWS Lambda de votre AWS Management Console et créez une nouvelle fonction. Vous pouvez vous référer au AWS Lambda guide du développeur pour plus de détails sur AWS Lambda.

  1. Connectez-vous au AWS Management Console et ouvrez le AWS Lambda console à https://console.aws.amazon.com/lambda/.

  2. Choisissez Fonctions dans la barre latérale gauche.

  3. Sélectionnez Create function (Créer une fonction).

  4. Vous pouvez sélectionner Auteur à partir de zéro pour commencer avec un minimum de code, utiliser un plan pour sélectionner un exemple de code pour les cas d'utilisation courants dans une liste, ou une image de conteneur pour sélectionner une image de conteneur à déployer pour votre fonction. Si vous sélectionnez Auteur à partir de zéro, procédez comme suit :

    1. Donnez à votre fonction un nom de fonction significatif pour décrire ce qu'elle fait.

    2. Choisissez une langue dans le menu déroulant sous Runtime pour y écrire votre fonction.

    3. Sélectionnez une architecture de jeu d'instructions pour votre fonction.

    4. Par défaut, Lambda crée un rôle avec des autorisations de base. Pour utiliser un rôle existant ou pour créer un rôle en utilisant AWS modèles de politique, développez le menu Modifier le rôle d'exécution par défaut et sélectionnez une option.

    5. Développez le menu Paramètres avancés pour configurer d'autres options.

  5. Sélectionnez Create function (Créer une fonction).

L'image suivante montre ce que vous voyez lorsque vous créez une nouvelle fonction à partir de zéro :

Une nouvelle fonction Lambda.

La fonction du gestionnaire Lambda varie en fonction de la langue que vous utilisez. Il prend au minimum un event JSON objet comme argument. Vous pouvez voir les champs fournis par Amazon Lex V2 à l'adresseAWS Lambda format d'événement d'entrée pour Lex V2. event Modifiez la fonction de gestion pour finalement renvoyer un response JSON objet correspondant au format décrit dansAWS Lambda format de réponse pour Lex V2.

  • Une fois que vous avez terminé d'écrire votre fonction, sélectionnez Déployer pour autoriser l'utilisation de la fonction.

N'oubliez pas que vous pouvez associer chaque alias de bot à au plus une fonction Lambda. Cependant, vous pouvez définir autant de fonctions que nécessaire pour votre bot dans le code Lambda et appeler ces fonctions dans la fonction du gestionnaire Lambda. Par exemple, alors que toutes les intentions d'un même alias de bot doivent appeler la même fonction Lambda, vous pouvez créer une fonction de routeur qui active une fonction distincte pour chaque intention. Voici un exemple de fonction de routeur que vous pouvez utiliser ou modifier pour votre application :

import os import json import boto3 # reuse client connection as global client = boto3.client('lambda') def router(event): intent_name = event['sessionState']['intent']['name'] fn_name = os.environ.get(intent_name) print(f"Intent: {intent_name} -> Lambda: {fn_name}") if (fn_name): # invoke lambda and return result invoke_response = client.invoke(FunctionName=fn_name, Payload = json.dumps(event)) print(invoke_response) payload = json.load(invoke_response['Payload']) return payload raise Exception('No environment variable for intent: ' + intent_name) def lambda_handler(event, context): print(event) response = router(event) return response

Quand utiliser AWS Lambda fonctions dans les conversations avec les robots

Vous pouvez utiliser les fonctions Lambda aux points suivants lors d'une conversation avec un utilisateur :

  • Dans la réponse initiale, une fois l'intention reconnue. Par exemple, une fois que l'utilisateur a indiqué vouloir commander une pizza.

  • Après avoir obtenu une valeur de slot auprès de l'utilisateur. Par exemple, une fois que l'utilisateur a indiqué au bot la taille de la pizza qu'il souhaite commander.

  • Entre chaque nouvelle tentative pour obtenir un emplacement. Par exemple, si le client n'utilise pas une taille de pizza reconnue.

  • Lors de la confirmation d'une intention. Par exemple, lors de la confirmation d'une commande de pizza.

  • Pour réaliser une intention. Par exemple, pour commander une pizza.

  • Une fois l'intention atteinte, et avant que votre bot ne ferme la conversation. Par exemple, pour passer à l'intention de commander un verre.