Planifier un rendez-vous - Amazon Lex V1

Si vous utilisez Amazon Lex V2, consultez plutôt le guide Amazon Lex V2.

 

Si vous utilisez Amazon Lex V1, nous vous recommandons de mettre à niveau vos robots vers Amazon Lex V2. Nous n'ajoutons plus de nouvelles fonctionnalités à la V1 et recommandons vivement d'utiliser la V2 pour tous les nouveaux robots.

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.

Planifier un rendez-vous

L'exemple de bot de cet exercice planifie des rendez-vous pour un cabinet dentaire. L'exemple illustre également l'utilisation de cartes de réponse pour obtenir des entrées de l'utilisateur avec des boutons. Plus précisément, l'exemple illustre la génération dynamique de cartes de réponse lors de l'exécution.

Vous pouvez configurer des cartes de réponse au moment de la génération (également appelées cartes de réponse statiques) ou les générer dynamiquement dans une fonction AWS Lambda. Dans cet exemple, le bot utilise les cartes de réponse suivantes :

  • Une carte de réponse qui affiche des boutons pour le type de rendez-vous. Reportez-vous à l'image suivante pour un exemple :

    Carte-réponse indiquant le type de rendez-vous à fixer et trois options : nettoyage (30 minutes), canal radiculaire (60 minutes) et blanchiment (90 minutes).
  • Une carte de réponse qui affiche des boutons pour la date de rendez-vous. Reportez-vous à l'image suivante pour un exemple :

    Carte-réponse demandant la date pour fixer le rendez-vous et trois options : 2-15, 2-16 et 2-17.
  • Une carte de réponse qui affiche des boutons pour confirmer une heure de rendez-vous suggérée. Reportez-vous à l'image suivante pour un exemple :

    Carte-réponse demandant la confirmation de l'heure et de la date du rendez-vous, avec deux options : oui et non.

Les dates et heures de rendez-vous disponibles varient, ce qui nécessite que vous génériez des cartes de réponse lors de l'exécution. Vous utilisez une fonction AWS Lambda pour générer dynamiquement ces cartes de réponse. La fonction Lambda renvoie des cartes de réponse dans sa réponse à Amazon Lex. Amazon Lex inclut la carte-réponse dans sa réponse au client.

Si un client (par exemple, Facebook Messenger) prend en charge les cartes de réponse, l'utilisateur peut choisir dans la liste de boutons ou saisir la réponse. Sinon, l'utilisateur saisit simplement la réponse.

Outre le bouton affiché dans l'exemple précédent, vous pouvez également inclure des images, des pièces jointes et d'autres informations utiles à afficher sur les cartes de réponse. Pour plus d'informations sur les cartes de réponse, consultez Cartes de réponse.

Dans cet exercice, vous effectuez les opérations suivantes :

  • Créez et testez un bot (à l'aide du ScheduleAppointment plan). Dans cet exercice, vous allez utiliser un modèle de présentation de bot pour configurer rapidement le bot et le tester. Pour obtenir une liste des modèles de présentation disponibles, consultez Amazon Lex et AWS Lambda Blueprints.Cet bot est préconfiguré avec une intention (MakeAppointment).

     

  • Créez et testez une fonction Lambda (à l'aide du lex-make-appointment-python plan fourni par Lambda). Vous configurez l'MakeAppointmentintention d'utiliser cette fonction Lambda comme crochet de code pour effectuer des tâches d'initialisation, de validation et d'exécution.

    Note

    L'exemple de fonction Lambda fourni présente une conversation dynamique basée sur la disponibilité simulée d'un rendez-vous chez le dentiste. Dans une application réelle, vous pouvez utiliser un calendrier réel pour définir un rendez-vous.

  • Mettez à jour la configuration d'MakeAppointmentintention pour utiliser la fonction Lambda comme crochet de code. Ensuite, testez l' end-to-end expérience.

  • Publiez le bot de prise de rendez-vous sur Facebook Messenger afin de voir les cartes-réponses en action (le client de la console Amazon Lex ne prend actuellement pas en charge les cartes-réponses).

Les sections suivantes fournissent des informations récapitulatives sur les modèles de présentation que vous utilisez dans le cadre de cet exercice.

Vue d'ensemble du plan du bot () ScheduleAppointment

Le ScheduleAppointment plan que vous utilisez pour créer un bot pour cet exercice est préconfiguré comme suit :

  • Types d'option – Un type d'option personnalisé appelé AppointmentTypeValue avec les valeurs d'énumération : root canal, cleaning et whitening.

  • Intention – Une intention (MakeAppointment) qui est préconfigurée comme suit :

    • Options – L'intention est configurée avec les options suivantes :

      • Option AppointmentType, du type d'option personnalisé AppointmentTypes.

      • Option Date, du type d'option prédéfini AMAZON.DATE.

      • Option Time, du type d'option prédéfini AMAZON.TIME.

    • Enoncés – L'intention est préconfigurée avec les énoncés suivants :

      • « I would like to book an appointment »

      • « Book an appointment »

      • « Réservez un {AppointmentType} »

      Si l'utilisateur prononce l'une de ces phrases, Amazon Lex détermine son intention, puis utilise les instructions pour obtenir les données des créneaux. MakeAppointment

    • Invites – L'intention est préconfigurée avec les invites suivantes :

      • Invite de l'option AppointmentType – « What type of appointment would you like to schedule? »

      • Demande de Date créneau — « Quand dois-je planifier votre {AppointmentType} ? »

      • Demande de Time créneau — « À quelle heure souhaitez-vous planifier le {AppointmentType} ? » and

        « At what time on {Date}? »

      • Invite de confirmation – « {Time} is available, should I go ahead and book your appointment? »

      • Message d'annulation – : « Okay, I will not schedule an appointment. »

Présentation du plan directeur de la fonction Lambda () lex-make-appointment-python

La fonction Lambda blueprint (lex-make-appointment-python) est un crochet de code pour les robots que vous créez à l'aide du plan du ScheduleAppointment bot.

Ce code de modèle de fonction Lambda peut effectuer à la fois des tâches d'initialisation/validation et d'exécution.

  • Le code de fonction Lambda présente une conversation dynamique basée sur un exemple de disponibilité pour un rendez-vous chez le dentiste (dans les applications réelles, vous pouvez utiliser un calendrier). Pour le jour ou la date que l'utilisateur spécifie, le code est configuré comme suit :

    • Si aucun rendez-vous n'est disponible, la fonction Lambda renvoie une réponse demandant à Amazon Lex de demander à l'utilisateur de fixer un autre jour ou une autre date (en définissant le dialogAction type sur). ElicitSlot) Pour de plus amples informations, veuillez consulter Format de la réponse.

    • S'il n'y a qu'un seul rendez-vous disponible le jour ou la date spécifiés, la fonction Lambda suggère l'heure disponible dans la réponse et demande à Amazon Lex d'obtenir la confirmation de l'utilisateur en définissant le dialogAction dans la réponse sur. ConfirmIntent Ceci illustre la manière dont vous pouvez améliorer l'expérience utilisateur en suggérant de manière proactive l'horaire disponible pour un rendez-vous.

    • Si plusieurs rendez-vous sont disponibles, la fonction Lambda renvoie une liste des heures disponibles dans la réponse à Amazon Lex. Amazon Lex renvoie une réponse au client contenant le message de la fonction Lambda.

  • En tant que crochet du code d'expédition, la fonction Lambda renvoie un message récapitulatif indiquant qu'un rendez-vous est planifié (c'est-à-dire que l'intention est remplie).

Note

Dans cet exemple, nous montrons comment utiliser des cartes de réponse. La fonction Lambda crée et renvoie une carte de réponse à Amazon Lex. La carte de réponse répertorie les jours et heures disponibles sous forme de boutons à choisir. Lorsque vous testez le bot à l'aide du client fourni par la console Amazon Lex, vous ne pouvez pas voir la carte-réponse. Pour la voir, vous devez intégrer le bot avec une plateforme de messagerie, comme Facebook Messenger. Pour obtenir des instructions, veuillez consulter Intégration d'un robot Amazon Lex à Facebook Messenger. Pour plus d'informations sur les cartes de réponse, consultez Gestion des messages .

Lorsqu'Amazon Lex invoque la fonction Lambda, il transmet les données d'événement en entrée. L'un des champs d'événement est invocationSource celui que la fonction Lambda utilise pour choisir entre une activité de validation des entrées et une activité d'exécution. Pour de plus amples informations, veuillez consulter Format d'un événement d'entrée.

Étape suivante

Étape 1 : créer un robot Amazon Lex