

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.

# Étape 2 : Mise en route (console)
<a name="gs-console"></a>

## Présentation de la console
<a name="console-overview"></a>

Le moyen le plus simple d'apprendre à utiliser Amazon Lex V2 est d'utiliser la console. Choisissez le parcours de formation qui correspond le mieux à votre rôle et à votre niveau d'expérience :

## Choisissez votre parcours d'apprentissage
<a name="learning-paths"></a>

Choisissez le parcours de formation qui correspond le mieux à votre rôle et à votre niveau d'expérience :
+ **No-Code Path (utilisateurs professionnels)** : parfait pour les analystes commerciaux, les chefs de produit et les utilisateurs non techniques qui souhaitent créer des robots en utilisant uniquement l'interface de la console.
  + Commencez par : [Démarrage rapide : créez un chatbot en 5 minutes](quick-start.md)
  + Essayez ensuite : [Exercice 1 : créer un chatbot à partir d'un modèle](exercise-1.md)
  + Apprenez : [Bonnes pratiques pour démarrer](getting-started-best-practices.md)
+ **Parcours de développeur** : idéal pour les développeurs de logiciels qui souhaitent intégrer Amazon Lex V2 à des applications APIs, utiliser et implémenter une logique métier personnalisée.
  + Commencez par : [Exercice 1 : créer un chatbot à partir d'un modèle](exercise-1.md)
  + Avancé : [Exercice 3 : créer un chatbot de service client avancé](exercise-3.md)
  + Ensuite, explorez : [Intégration d'une AWS Lambda fonction dans votre bot Amazon Lex V2](lambda.md)
  + Révision : [Exemples de robots](examples.md)
  + Avancé : intégration de l'API et utilisation du SDK
+ **Enterprise Path** : conçu pour les architectes et les ingénieurs qui planifient des déploiements à grande échelle avec des exigences de sécurité, de conformité et d'évolutivité.
  + Commencez par : [Exercice 1 : créer un chatbot à partir d'un modèle](exercise-1.md)
  + Exemple d'entreprise : [Exercice 3 : créer un chatbot de service client avancé](exercise-3.md)
  + Bilan : meilleures pratiques en matière de sécurité et d'IAM
  + Explorez : [Utilisez Global Resiliency pour déployer des robots dans d'autres régions](global-resiliency.md)
  + Plan : surveillance, journalisation et optimisation des coûts

## Exercices de base
<a name="foundational-exercises"></a>

Quelle que soit la voie que vous avez choisie, nous vous recommandons de commencer par les exercices de base suivants :
+ Exercice 1 — Créez un bot Amazon Lex V2 à l'aide d'un modèle, un bot prédéfini qui fournit toutes les configurations de bot nécessaires. Vous n'effectuez qu'un minimum de travail pour tester la end-to-end configuration.
+ Exercice 2 — Passez en revue les structures JSON envoyées entre votre application cliente et un bot Amazon Lex V2.
+ Exercice 3 — Créez un chatbot de service client avancé qui présente les capacités de l'entreprise, notamment la gestion des commandes, la vente incitative intelligente, la génération de prospects et les fonctionnalités basées sur l'IA pour des expériences client personnalisées.

**Topics**

# Démarrage rapide : créez un chatbot en 5 minutes
<a name="quick-start"></a>

Ce guide de démarrage rapide vous aide à créer un chatbot Amazon Lex V2 fonctionnel en seulement 5 minutes à l'aide de modèles prédéfinis. Vous disposerez d'un chatbot fonctionnel que vous pourrez immédiatement tester et personnaliser en fonction de vos besoins.

## Étape 1 : Choisissez un modèle
<a name="choose-template"></a>

Amazon Lex V2 fournit plusieurs modèles prédéfinis pour les cas d'utilisation courants :
+ **Support client FAQ** — Gérez les demandes courantes du service client
+ Prise de **rendez-vous** — Planifiez et gérez les rendez-vous
+ **État de la commande** — Vérifiez les informations de commande et le statut de livraison
+ **Service d'assistance informatique** — Fournir un support technique et un dépannage

**Pour sélectionner un modèle**

1. Ouvrez la console Amazon Lex V2 à l'adresse [https://console.aws.amazon.com/lexv2/](https://console.aws.amazon.com/lexv2/).

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

1. Sélectionnez **Commencer avec un modèle**.

1. Choisissez le modèle de **FAQ du Support client** pour ce démarrage rapide.

1. Entrez un nom de bot, tel que**MyFirstChatbot**.

1. Choisissez **Créer**.

## Étape 2 : Personnalisation rapide (facultatif)
<a name="customize-template"></a>

Le modèle est préconfiguré, mais vous pouvez le personnaliser rapidement en fonction de vos besoins spécifiques :

**Pour personnaliser votre chatbot**

1. Dans l'aperçu du bot, passez en revue les intentions préconfigurées.

1. Choisissez une intention à modifier, telle que **GetAccountInfo**.

1. Ajoutez vos propres exemples d'énoncés qui correspondent à la façon dont vos clients formulent leurs demandes.

1. Mettez à jour les messages de réponse pour qu'ils correspondent à la voix de votre marque.

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

## Étape 3 : testez votre bot
<a name="test-bot"></a>

Testez immédiatement votre chatbot à l'aide de la console de test intégrée :

**Pour tester votre chatbot**

1. Choisissez **Build** pour compiler votre bot.

1. Attendez que la compilation soit terminée (généralement 1 à 2 minutes).

1. Dans la console de test sur la droite, tapez : **I need help with my account**

1. Appuyez sur Entrée et observez la réponse du bot.

1. Essayez d'autres phrases pour tester la compréhension du bot.

## Étape 4 : Déployez votre bot
<a name="deploy-bot"></a>

Une fois que vous êtes satisfait des réponses de votre chatbot, déployez-le pour l'utiliser :

**Pour déployer votre chatbot**

1. Choisissez **Publier** dans le menu des actions du bot.

1. Créez une nouvelle version en choisissant **Créer une version**.

1. Créez un alias (tel que « Production ») qui pointe vers votre version.

1. Choisissez votre méthode d'intégration.

## Étapes suivantes
<a name="next-steps-quick"></a>

Félicitations \$1 Vous disposez désormais d'un chatbot Amazon Lex V2 fonctionnel. Voici ce que vous pouvez faire ensuite :
+ **Activez le langage naturel assisté :** améliorez la compréhension grâce au traitement du langage naturel basé sur l'IA.
+ **Ajoutez plus d'intentions** : étendez les capacités de votre chatbot avec des cas d'utilisation supplémentaires.
+ **Intégration à Lambda** : ajoutez une logique métier et une intégration de système externe. Consultez [Intégration d'une AWS Lambda fonction dans votre bot Amazon Lex V2](lambda.md).
+ **Configurer la surveillance** — Suivez l'utilisation et les performances. Consultez [Mesurer les indicateurs opérationnels avec Amazon CloudWatch](monitoring-cloudwatch.md).
+ **Découvrez les fonctionnalités avancées** — Explorez la gestion du flux de conversation, les boîtes de dialogue à plusieurs tours et le changement de contexte.

Pour une présentation plus détaillée, poursuivez avec[Exercice 1 : créer un chatbot à partir d'un modèle](exercise-1.md).

# Exercice 1 : créer un chatbot à partir d'un modèle
<a name="exercise-1"></a>

Dans cet exercice, vous allez créer votre premier chatbot Amazon Lex V2 et le tester dans la console Amazon Lex V2. Pour cet exercice, vous utiliserez le **OrderFlowers**modèle, qui illustre un cas d'utilisation pratique et concret pour le commerce électronique.

## OrderFlowers Exemple de bot
<a name="example-overview"></a>

Vous utilisez le **OrderFlowers**modèle pour créer un chatbot Amazon Lex V2 capable de gérer les demandes de commande de fleurs. Cet exemple montre comment les entreprises peuvent automatiser la prise de commandes grâce à des chatbots intelligents. Pour plus d'informations sur la structure d'un bot, consultez[Concepts fondamentaux d'Amazon Lex V2](how-it-works.md).
+ **Intentions** — Le bot inclut une intention principale :
  + `OrderFlowers`- Gère les demandes de commande de fleurs en collectant le type de fleur, la date de cueillette et l'heure de cueillette
+ **Types d'emplacements** : le bot utilise des types d'emplacements intégrés qui reconnaissent et gèrent automatiquement les formats de données courants :
  + [Amazon Date](built-in-slot-date.md)- Reconnaît des dates telles que « demain », « vendredi prochain » ou « 15 mars »
  + [Amazon Time](built-in-slot-time.md)- Reconnaît des heures telles que « 14 heures », « midi » ou « trois heures et quart »
  + `FlowerTypes`(personnalisé) - Variétés de fleurs spécifiques telles que « roses », « tulipes », « lys »
+ **Machines à sous** — L' OrderFlowers intention nécessite les informations suivantes avant que le bot puisse exécuter la commande de fleurs :
  + `FlowerType`(type FlowerTypes personnalisé) - Le type de fleurs à commander
  + `PickupDate`([Amazon Date](built-in-slot-date.md)type) - Quand cueillir les fleurs
  + `PickupTime`([Amazon Time](built-in-slot-time.md)type) - À quelle heure cueillir les fleurs
+ **Exemples d'énoncés — Les** exemples d'énoncés suivants montrent comment les utilisateurs peuvent naturellement demander des commandes de fleurs :
  + « Je voudrais ramasser des fleurs »
  + « Je veux commander des fleurs »
  + « Puis-je obtenir des fleurs à cueillir ? »
  + « J'ai besoin d'acheter des fleurs »
+ **Invites** – une fois que le bot a identifié l'intention, il utilise les invites suivantes pour indiquer les options :
  + Invite de l'option `FlowerType` – « Quel type de fleurs souhaitez-vous commander ? »
  + Demande de `PickupDate` créneau — « Quel jour voulez-vous que le \$1FlowerType\$1 soit retiré ? »
  + Demander le `PickupTime` créneau — « À quelle heure voulez-vous que le \$1FlowerType\$1 soit retiré ? »
  + Déclaration de confirmation — « OK, votre \$1FlowerType\$1 sera prêt à être retiré le \$1PickupTime\$1 le \$1PickupDate\$1. Cela vous convient-il ? » 

## Créez votre bot
<a name="create-bot-procedure"></a>

**Pour créer un bot Amazon Lex V2 (console)**

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 **Créer un bot**.

1. Pour la **méthode de création**, choisissez **Commencer par un exemple**.

1. Dans la section **Exemples de robots**, **OrderFlowers**choisissez dans la liste.

1. Dans la section **Configuration du bot**, donnez un nom au bot et une description facultative. Le nom doit être unique dans votre compte.

1. Dans la section **Autorisations**, choisissez **Créer un nouveau rôle avec des autorisations Amazon Lex de base**. Cela créera un rôle AWS Identity and Access Management (IAM) 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)**, faites le choix approprié.

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

1. Choisissez **Suivant**. Amazon Lex V2 crée votre bot.

## Ajoutez une langue à votre bot
<a name="add-language-procedure"></a>

Après avoir créé votre bot, vous devez ajouter une ou plusieurs langues prises en charge par le bot. Une langue contient les intentions, les types d'emplacements et les emplacements que le bot utilise pour converser avec les utilisateurs.

**Pour ajouter une langue à un bot**

1. Dans la section **Langue**, choisissez une langue prise en charge et ajoutez une description.

1. Conservez les champs de **seuil de confiance relatifs à l'**interaction vocale** et à la classification des intentions** avec leurs valeurs par défaut.

1. Choisissez **OK** pour ajouter la langue au bot.

## Testez votre bot
<a name="test-bot-procedure"></a>

Une fois que vous avez **sélectionné OK**, la console ouvre l'éditeur d'intention. Vous pouvez utiliser l'éditeur d'intention pour examiner les intentions utilisées par le bot. Lorsque vous avez terminé d'examiner le bot, vous pouvez le tester.

**Pour tester le OrderFlowers bot**

1. Choisissez **Créer** en haut de la page. Attendez que le bot se construise.

1. Lorsque la génération est terminée, choisissez **Test** pour ouvrir la fenêtre de test.

1. Testez le bot. Commencez la conversation par l'un des exemples d'énoncés, tels que « J'aimerais cueillir des fleurs ».

## Permettre à la NLU d'améliorer la compréhension
<a name="enable-assisted-nlu"></a>

Maintenant que vous disposez d'un chatbot fonctionnel, améliorons-le avec le NLU assisté afin d'améliorer la reconnaissance des intentions et la résolution des créneaux. Le NLU assisté utilise de grands modèles linguistiques (LLMs) pour mieux comprendre les demandes des utilisateurs, même lorsqu'elles utilisent une formulation différente de celle de vos exemples de formation.

**Pour activer le NLU assisté**

1. Dans la console Amazon Lex V2, accédez aux paramètres de votre bot.

1. Dans le volet de navigation de gauche, choisissez **Bot settings**.

1. Dans **Assisted NLU**, choisissez **Enable.**

1. Choisissez **Enregistrer** pour appliquer les modifications.

1. Construisez à nouveau votre bot pour appliquer l'amélioration du NLU assisté.

**Testez l'amélioration :** essayez ces variantes dans votre console de test pour voir comment le NLU assisté gère différents phrasés :
+ « Je veux acheter des roses » (devrait déclencher OrderFlowers l'intention et la capture FlowerType)
+ « Puis-je me faire livrer des fleurs demain ? » (devrait déclencher OrderFlowers l'intention et la capture PickupDate)
+ « J'ai besoin de tulipes à récupérer à 15 heures » (cela devrait déclencher OrderFlowers l'intention et la capture FlowerType et PickupTime)

Remarquez comment le chatbot peut comprendre ces variations naturelles sans que vous ayez à les ajouter sous forme d'exemples d'énoncés explicites. Ceci est alimenté par le NLU assisté, qui utilise l'IA pour améliorer la compréhension du langage naturel.

## Étapes suivantes
<a name="getting-started-next-steps"></a>

Maintenant que vous avez créé votre premier bot à l'aide d'un modèle, vous pouvez utiliser la console pour créer votre propre bot. Pour obtenir des instructions sur la création d'un bot personnalisé et pour plus d'informations sur la création de robots, consultez[Utilisation des robots Amazon Lex V2](building-bots.md).

# Exercice 2 : Revoir le flux de conversation
<a name="exercise-2"></a>

 Dans cet exercice, vous allez passer en revue les structures JSON envoyées entre votre application cliente et le bot Amazon Lex V2 dans lequel vous l'avez créé[Exercice 1 : créer un chatbot à partir d'un modèle](exercise-1.md). La conversation utilise l'[RecognizeText](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_runtime_RecognizeText.html)opération pour générer les structures JSON. [RecognizeUtterance](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_runtime_RecognizeUtterance.html)Renvoie les mêmes informations que les en-têtes HTTP de la réponse.

Les structures JSON sont divisées à chaque tour de conversation. Un *tour* correspond à une demande de l'application cliente et à une réponse du bot. 

## Turn 1
<a name="exercise-2-turn-1"></a>

Au cours du premier tour de conversation, l'application cliente lance la conversation avec votre bot. L'URI et le corps de la demande fournissent des informations sur la demande.

```
POST /bots/botId/botAliases/botAliasId/botLocales/localeId/sessions/sessionId/text HTTP/1.1
Content-type: application/json

{
    "text": "I would like to order flowers"
}
```
+ L'URI identifie le bot avec lequel l'application cliente communique. Il inclut également un identifiant de session généré par l'application cliente qui identifie une conversation spécifique entre un utilisateur et le bot.
+ Le corps de la demande contient le texte que l'utilisateur a saisi dans l'application cliente. Dans ce cas, seul le texte est envoyé, mais votre application peut envoyer des informations supplémentaires, telles que les attributs de la demande ou l'état de la session. Pour plus d'informations, consultez l'[RecognizeText](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_runtime_RecognizeText.html)opération.

À partir de là`text`, Amazon Lex V2 détecte l'intention de l'utilisateur de commander des fleurs. Amazon Lex V2 choisit l'un des emplacements de l'intention (`FlowerType`) et l'une des instructions relatives à l'emplacement, puis envoie la réponse suivante à l'application cliente. Le client affiche la réponse à l'utilisateur.

```
{
    "interpretations": [
        {
            "intent": {
                "confirmationState": "None",
                "name": "OrderFlowers",
                "slots": {
                    "FlowerType": null,
                    "PickupDate": null,
                    "PickupTime": null
                },
                "state": "InProgress"
            },
            "nluConfidence": {
                "score": 0.95
            }
        },
        {
            "intent": {
                "name": "FallbackIntent",
                "slots": {}
            }
        }
    ],
    "messages": [
        {
            "content": "What type of flowers would you like to order?",
            "contentType": "PlainText"
        }
    ],
    "sessionId": "bf445a49-7165-4fcd-9a9c-a782493fba5c",
    "sessionState": {
        "dialogAction": {
            "slotToElicit": "FlowerType",
            "type": "ElicitSlot"
        },
        "intent": {
            "confirmationState": "None",
            "name": "OrderFlowers",
            "slots": {
                "FlowerType": null,
                "PickupDate": null,
                "PickupTime": null
            },
            "state": "InProgress"
        },
        "originatingRequestId": "9e8add70-4106-4a10-93f5-2ce2cb959e5f"
    }
}
```

## Tourner 2
<a name="exercise-2-turn-2"></a>

Au tour 2, l'utilisateur répond à l'invite du bot Amazon Lex V2 au tour 1 avec une valeur qui remplit l'`FlowerType`emplacement.

```
{
    "text": "1 dozen roses"
}
```

La réponse au tour 2 indique que le `FlowerType` créneau est rempli et vous invite à déterminer la valeur du créneau suivant.

```
{
    "interpretations": [
        {
            "intent": {
                "confirmationState": "None",
                "name": "OrderFlowers",
                "slots": {
                    "FlowerType": {
                        "value": {
                            "interpretedValue": "dozen roses",
                            "originalValue": "dozen roses",
                            "resolvedValues": []
                        }
                    },
                    "PickupDate": null,
                    "PickupTime": null
                },
                "state": "InProgress"
            },
            "nluConfidence": {
                "score": 0.98
            }
        },
        {
            "intent": {
                "name": "FallbackIntent",
                "slots": {}
            }
        }
    ],
    "messages": [
        {
            "content": "What day do you want the dozen roses to be picked up?",
            "contentType": "PlainText"
        }
    ],
    "sessionId": "bf445a49-7165-4fcd-9a9c-a782493fba5c",
    "sessionState": {
        "dialogAction": {
            "slotToElicit": "PickupDate",
            "type": "ElicitSlot"
        },
        "intent": {
            "confirmationState": "None",
            "name": "OrderFlowers",
            "slots": {
                "FlowerType": {
                    "value": {
                        "interpretedValue": "dozen roses",
                        "originalValue": "dozen roses",
                        "resolvedValues": []
                    }
                },
                "PickupDate": null,
                "PickupTime": null
            },
            "state": "InProgress"
        },
        "originatingRequestId": "9e8add70-4106-4a10-93f5-2ce2cb959e5f"
    }
}
```

## Tourner 3
<a name="exercise-2-turn-3"></a>

Au tour 3, l'utilisateur répond à l'invite du bot Amazon Lex V2 au tour 2 avec une valeur qui remplit l'`PickupDate`emplacement.

```
{
    "text": "next monday"
}
```

La réponse au tour 3 indique à la fois que les `FlowerType` `PickupDate` cases et les cases sont remplies et fournit une invite pour obtenir la valeur du dernier créneau.

```
{
    "interpretations": [
        {
            "intent": {
                "confirmationState": "None",
                "name": "OrderFlowers",
                "slots": {
                    "FlowerType": {
                        "value": {
                            "interpretedValue": "dozen roses",
                            "originalValue": "dozen roses",
                            "resolvedValues": []
                        }
                    },
                    "PickupDate": {
                        "value": {
                            "interpretedValue": "2022-12-28",
                            "originalValue": "next monday",
                            "resolvedValues": [
                                "2021-01-04"
                            ]
                        }
                    },
                    "PickupTime": null
                },
                "state": "InProgress"
            },
            "nluConfidence": {
                "score": 1.0
            }
        },
        {
            "intent": {
                "name": "FallbackIntent",
                "slots": {}
            }
        }
    ],
    "messages": [
        {
            "content": "At what time do you want the 1 dozen roses to be picked up?",
            "contentType": "PlainText"
        }
    ],
    "sessionId": "bf445a49-7165-4fcd-9a9c-a782493fba5c",
    "sessionState": {
        "dialogAction": {
            "slotToElicit": "PickupTime",
            "type": "ElicitSlot"
        },
        "intent": {
            "confirmationState": "None",
            "name": "OrderFlowers",
            "slots": {
                "FlowerType": {
                    "value": {
                        "interpretedValue": "dozen roses",
                        "originalValue": "dozen roses",
                        "resolvedValues": []
                    }
                },
                "PickupDate": {
                    "value": {
                        "interpretedValue": "2021-01-04",
                        "originalValue": "next monday",
                        "resolvedValues": [
                            "2021-01-04"
                        ]
                    }
                },
                "PickupTime": null
            },
            "state": "InProgress"
        },
        "originatingRequestId": "9e8add70-4106-4a10-93f5-2ce2cb959e5f",
        "sessionAttributes": {}
    }
}
```

## Turn 4
<a name="exercise-2-turn-4"></a>

Au tour 4, l'utilisateur fournit la valeur finale du créneau correspondant à l'intention, à savoir l'heure à laquelle les fleurs sont cueillies. 

```
{
    "text": "5 in the evening"
}
```

Dans la réponse, Amazon Lex V2 envoie une invite de confirmation à l'utilisateur pour confirmer que la commande est correcte. Le `dialogAction` est réglé sur `ConfirmIntent` et le `confirmationState` est`None`.

```
{
    "interpretations": [
        {
            "intent": {
                "confirmationState": "None",
                "name": "OrderFlowers",
                "slots": {
                    "FlowerType": {
                        "value": {
                            "interpretedValue": "dozen roses",
                            "originalValue": "dozen roses",
                            "resolvedValues": []
                        }
                    },
                    "PickupDate": {
                        "value": {
                            "interpretedValue": "2021-01-04",
                            "originalValue": "next monday",
                            "resolvedValues": [
                                "2021-01-04"
                            ]
                        }
                    },
                    "PickupTime": {
                        "value": {
                            "interpretedValue": "17:00",
                            "originalValue": "5 evening",
                            "resolvedValues": [
                                "17:00"
                            ]
                        }
                    }
                },
                "state": "InProgress"
            },
            "nluConfidence": {
                "score": 1.0
            }
        },
        {
            "intent": {
                "name": "FallbackIntent",
                "slots": {}
            }
        }
    ],
    "messages": [
        {
            "content": "Okay, your dozen roses will be ready for pickup by 17:00 on 2021-01-04.  Does this sound okay?",
            "contentType": "PlainText"
        }
    ],
    "sessionId": "bf445a49-7165-4fcd-9a9c-a782493fba5c",
    "sessionState": {
        "dialogAction": {
            "type": "ConfirmIntent"
        },
        "intent": {
            "confirmationState": "None",
            "name": "OrderFlowers",
            "slots": {
                "FlowerType": {
                    "value": {
                        "interpretedValue": "dozen roses",
                        "originalValue": "dozen roses",
                        "resolvedValues": []
                    }
                },
                "PickupDate": {
                    "value": {
                        "interpretedValue": "2021-01-04",
                        "originalValue": "next monday",
                        "resolvedValues": [
                            "2021-01-04"
                        ]
                    }
                },
                "PickupTime": {
                    "value": {
                        "interpretedValue": "17:00",
                        "originalValue": "5 evening",
                        "resolvedValues": [
                            "17:00"
                        ]
                    }
                }
            },
            "state": "InProgress"
        },
        "originatingRequestId": "9e8add70-4106-4a10-93f5-2ce2cb959e5f"
    }
}
```

## Tournez 5
<a name="exercise-2-turn-5"></a>

Au dernier tour, l'utilisateur répond à l'invite de confirmation. 

```
{
    "text": "yes"
}
```

Dans la réponse, Amazon Lex V2 envoie un message indiquant que l'intention a été satisfaite en définissant le `confirmationState` to `Confirmed` et le `dialogAction` to close. Toutes les valeurs des emplacements sont disponibles pour l'application cliente.

```
{
    "interpretations": [
        {
            "intent": {
                "confirmationState": "Confirmed",
                "name": "OrderFlowers",
                "slots": {
                    "FlowerType": {
                        "value": {
                            "interpretedValue": "dozen roses",
                            "originalValue": "dozen roses",
                            "resolvedValues": []
                        }
                    },
                    "PickupDate": {
                        "value": {
                            "interpretedValue": "2021-01-04",
                            "originalValue": "next monday",
                            "resolvedValues": [
                                "2021-01-04"
                            ]
                        }
                    },
                    "PickupTime": {
                        "value": {
                            "interpretedValue": "17:00",
                            "originalValue": "5 evening",
                            "resolvedValues": [
                                "17:00"
                            ]
                        }
                    }
                },
                "state": "Fulfilled"
            },
            "nluConfidence": {
                "score": 1.0
            }
        },
        {
            "intent": {
                "name": "FallbackIntent",
                "slots": {}
            }
        }
    ],
    "messages": [
        {
            "content": "Thanks. ",
            "contentType": "PlainText"
        }
    ],
    "sessionId": "bf445a49-7165-4fcd-9a9c-a782493fba5c",
    "sessionState": {
        "dialogAction": {
            "type": "Close"
        },
        "intent": {
            "confirmationState": "Confirmed",
            "name": "OrderFlowers",
            "slots": {
                "FlowerType": {
                    "value": {
                        "interpretedValue": "dozen roses",
                        "originalValue": "dozen roses",
                        "resolvedValues": []
                    }
                },
                "PickupDate": {
                    "value": {
                        "interpretedValue": "2021-01-04",
                        "originalValue": "next monday",
                        "resolvedValues": [
                            "2021-01-04"
                        ]
                    }
                },
                "PickupTime": {
                    "value": {
                        "interpretedValue": "17:00",
                        "originalValue": "5 evening",
                        "resolvedValues": [
                            "17:00"
                        ]
                    }
                }
            },
            "state": "Fulfilled"
        },
        "originatingRequestId": "9e8add70-4106-4a10-93f5-2ce2cb959e5f"
    }
}
```

# Exercice 3 : créer un chatbot de service client avancé
<a name="exercise-3"></a>

Dans cet exercice avancé, vous allez créer un chatbot de service client sophistiqué pour une entreprise de commerce électronique. Ce bot présente des fonctionnalités au niveau de l'entreprise, notamment la gestion des commandes, la vente incitative intelligente, la génération de prospects et l'optimisation des revenus. Le chatbot utilise des fonctionnalités basées sur l'IA pour proposer des expériences client personnalisées et stimuler la croissance de l'entreprise.

## SmartCommerce Présentation du bot du service client
<a name="exercise-3-overview"></a>

Le **SmartCommerce Customer Service Bot** est conçu pour gérer les interactions complexes avec les clients tout en maximisant les opportunités de revenus. Cet exemple montre comment les entreprises peuvent automatiser le service client tout en stimulant la croissance des ventes grâce à une gestion intelligente des conversations.
+ **Intentions personnalisées** — Le bot inclut plusieurs intentions personnalisées pour un service client complet :
  + `CheckOrderStatus`- Vérifie et fournit des informations sur l'état de la commande
  + `ProcessReturn`- Gère les demandes de retour et les échanges
  + `UpsellProducts`- Recommande des produits et services supplémentaires
  + `CaptureLeadInfo`- Collecte des informations sur les clients pour la génération de prospects
  + `ScheduleCallback`- Organise les appels du service client
+ **Intentions intégrées** — Exploite les intentions intégrées d'Amazon Lex V2 pour les interactions courantes :
  + [AMAZON.HelpIntent](built-in-intent-help.md)- Fournit de l'aide et des conseils
  + [AMAZON.CancelIntent](built-in-intent-cancel.md)- Gère les demandes d'annulation
  + [AMAZON.StopIntent](built-in-intent-stop.md)- Met fin aux conversations avec élégance
+ **Types d'emplacements personnalisés : types** d'emplacements spécialisés pour les données spécifiques à l'entreprise :
  + `ProductCategories`- Électronique, vêtements, maison, livres, sports
  + `ReturnReasons`- Défectueux, mauvaise taille, changement d'avis, non conforme à la description
  + `ContactPreferences`- E-mail, SMS, appel téléphonique, notification intégrée à l'application
  + `CustomerTiers`- Bronze, argent, or, platine
+ **Types d'emplacements intégrés** : utilise les emplacements intégrés Amazon Lex V2 pour les formats de données courants :
  + [Amazon Date](built-in-slot-date.md)- Pour les dates de livraison et la planification des rappels
  + [Amazon Time](built-in-slot-time.md)- Pour les délais de rappel et les fenêtres de livraison
  + [AMAZON. EmailAddress](built-in-slot-email.md)- Pour la collecte des e-mails des clients
  + [AMAZON. PhoneNumber](built-in-slot-phone.md)- Pour les numéros de téléphone des clients
  + [Numéro Amazon](built-in-slot-number.md)- Pour les numéros de commande et les quantités

## Configuration détaillée des intentions
<a name="exercise-3-intents-detail"></a>

### CheckOrderStatus Intention
<a name="check-order-status-intent"></a>

Cette intention gère la vérification des commandes et les demandes de statut, fournissant aux clients des informations sur les commandes en temps réel tout en identifiant les opportunités de vente incitative.
+ **Machines à sous requises :**
  + `OrderNumber`([Numéro Amazon](built-in-slot-number.md)) - Numéro de commande du client
  + `CustomerEmail`([AMAZON. EmailAddress](built-in-slot-email.md)) - E-mail pour vérification
+ **Exemples d'énoncés :**
  + « Quel est le statut de ma commande \$1OrderNumber\$1 »
  + « Je dois vérifier le numéro de commande \$1OrderNumber\$1 »
  + « Où est mon colis ? »
  + « Suivre ma commande \$1OrderNumber\$1 »
  + « Ma commande a-t-elle déjà été expédiée ? »
+ **Fonctionnalités alimentées par l'IA :**
  + Utilise le NLU assisté pour comprendre des variantes telles que « mon colis », « mes affaires », « ma livraison »
  + Extrait automatiquement les numéros de commande à partir de modèles de discours naturels

### UpsellProducts Intention
<a name="upsell-products-intent"></a>

Cette intention identifie de manière proactive les opportunités de revenus en recommandant des produits complémentaires et des services haut de gamme en fonction de l'historique des clients et du contexte d'interaction actuel.
+ **Machines à sous requises :**
  + `ProductCategory`(ProductCategories) - Catégorie d'intérêt
  + `CustomerTier`(CustomerTiers) - Niveau de fidélité de la clientèle
  + `Budget`([Numéro Amazon](built-in-slot-number.md)) - Fourchette budgétaire du client
+ **Exemples d'énoncés :**
  + « Montrez-moi les produits connexes »
  + « Qu'est-ce qu'il y aurait d'autre avec ça ? »
  + « Avez-vous des offres ? »
  + « Je suis intéressé par \$1ProductCategory\$1 articles »
  + « Ce qui est en vente aujourd'hui »
+ **Fonctionnalités d'optimisation des revenus :**
  + Tarification dynamique basée sur le niveau du client
  + Recommandations personnalisées à l'aide de l'historique des achats
  + Création d'offres à durée limitée pour générer des achats immédiats

### CaptureLeadInfo Intention
<a name="capture-lead-info-intent"></a>

Cette intention collecte systématiquement des informations sur les clients pour la génération de prospects, créant ainsi des données précieuses qui peuvent être vendues à des agrégateurs ou utilisées pour des campagnes marketing ciblées.
+ **Machines à sous requises :**
  + `CustomerFirstName`([AMAZON. FirstName](built-in-slot-first-name.md)) - Prénom du client pour la personnalisation
  + `CustomerLastName`([AMAZON. LastName](built-in-slot-last-name.md)) - Nom de famille du client pour la recherche de l'historique des ventes
  + `CustomerEmail`([AMAZON. EmailAddress](built-in-slot-email.md)) - Adresse e-mail
  + `CustomerPhone`([AMAZON. PhoneNumber](built-in-slot-phone.md)) - Numéro de téléphone
  + `InterestCategory`(ProductCategories) - Intérêts liés aux produits
  + `ContactPreference`(ContactPreferences) - Méthode de contact préférée
+ **Exemples d'énoncés :**
  + « Je veux en savoir plus sur les nouveaux produits »
  + « Inscrivez-moi pour recevoir des mises à jour »
  + « Je suis intéressé par \$1InterestCategory\$1 »
  + « Tenez-moi au courant des ventes »
  + « Je souhaite m'inscrire sur votre liste d'envoi »
  + « Je m'appelle \$1CustomerFirstName\$1 \$1CustomerLastName\$1 »
  + « Je suis \$1CustomerFirstName\$1 \$1CustomerLastName\$1 et je souhaite des recommandations personnalisées »
+ **Fonctionnalités de génération de prospects :**
  + Collecte de données structurée pour l'intégration du CRM
  + Notation des leads basée sur la qualité des interactions
  + Qualification et routage automatisés des prospects
  + Formatage des données pour les ventes par agrégateur
+ **Intégration de l'historique des ventes :**
  + Recherche du nom du client dans les tables d'historique des achats stockées dans S3
  + Analyse des habitudes d'achat pour des recommandations personnalisées
  + Identification du comportement d'achat entre catégories
  + Analyse des tendances d'achat saisonnières pour des offres ciblées
  + Calcul de la valeur à vie du client pour une tarification par niveaux

## Flux de conversation à plusieurs tours
<a name="exercise-3-multiturn-flow"></a>

Le SmartCommerce bot est conçu pour gérer des conversations complexes à plusieurs tours qui couvrent plusieurs objectifs et maintenir le contexte tout au long de l'interaction. Cela crée une expérience naturelle et humaine tout en maximisant les opportunités de revenus.

### Exemple de flux de conversation
<a name="conversation-flow-example"></a>

**Jours 1 à 3 : vérification de l'état de la commande**

```
Customer: "Hi, I need to check on my order"
Bot: "I'd be happy to help you check your order status. Can you provide your order number?"
Customer: "It's order 12345"
Bot: "Thank you. To verify your identity, can you provide the email address associated with this order?"
Customer: "john.doe@email.com"
Bot: "Perfect! Order #12345 is currently being prepared for shipment. You should receive it by tomorrow. 
     Since you're a Gold tier customer, would you like to hear about some exclusive deals on related items?"
```

**Étape 4-6 : opportunité de vente incitative**

```
Customer: "Sure, what do you have?"
Bot: "Based on your Electronics purchase, I can offer you a 20% discount on premium accessories. 
     What's your budget range for additional items?"
Customer: "Maybe around $50"
Bot: "Excellent! I have a wireless charging pad normally $60, now $48 with your Gold discount. 
     Plus, if you add it to your current order, shipping is free. Should I add this to your cart?"
```

**Tour 7 à 11 : génération de prospects avec recherche de l'historique des ventes**

```
Customer: "Not right now, but I'd like to hear about future deals"
Bot: "Absolutely! I can set you up to receive personalized offers. What's your first name?"
Customer: "John"
Bot: "Thanks John! And your last name so I can look up your purchase history for better recommendations?"
Customer: "Smith"
Bot: "Perfect! Let me check your purchase history... I see you've bought electronics and home items before. 
     Based on your past purchases, I can offer you exclusive deals on smart home accessories. 
     How would you prefer to be contacted?"
Customer: "Email is fine"
Bot: "Great! I'll make sure john.doe@email.com gets personalized deals based on your purchase history. 
     You're all set for our premium recommendations program!"
```

### Fonctionnalités de gestion du contexte
<a name="context-management"></a>
+ **Persistance des sessions :** conserve les informations sur les clients à plusieurs fins
+ **Chainage des intentions :** transition fluide entre la vérification des commandes, la vente incitative et la capture de prospects
+ **Personnalisation dynamique :** ajuste les offres en fonction du niveau du client et de l'historique des achats
+ **Suivi des revenus :** surveille les taux de réussite des ventes incitatives et les scores de qualité des prospects

## Fonctionnalités alimentées par l'IA
<a name="exercise-3-ai-features"></a>

Ce chatbot exploite de multiples capacités d'intelligence artificielle pour fournir un service client intelligent et personnalisé tout en stimulant la croissance de l'entreprise.

### Implémentation assistée du NLU
<a name="assisted-nlu-implementation"></a>

Le NLU assisté utilise de grands modèles linguistiques pour comprendre les intentions des clients, même lorsqu'ils utilisent un phrasé non standard ou combinent plusieurs demandes en un seul énoncé.
+ **Compréhension du langage naturel :**
  + « Mes affaires ne sont pas encore arrivées » → CheckOrderStatus intention
  + « Je veux retourner ce courrier indésirable » → intention ProcessReturn 
  + « Montre-moi ce que tu as d'autre » → UpsellProducts intention
+ **Reconnaissance multi-intentions :**
  + « Vérifiez ma commande 12345 et inscrivez-moi pour recevoir des offres » → \$1 CheckOrderStatus CaptureLeadInfo

### Résolution générative des emplacements
<a name="generative-slot-resolution"></a>

Utilise l'IA pour extraire les valeurs des créneaux à partir d'entrées complexes en langage naturel sans nécessiter de correspondance exacte avec les données d'entraînement.
+ **Extraction intelligente :**
  + « J'ai acheté des appareils électroniques la semaine dernière, le numéro de commande était quelque chose comme 12345" → OrderNumber : 12345, : Électronique ProductCategory
  + « Appelez-moi sur mon mobile au 555-123-4567 ou envoyez-moi un e-mail à john@company.com » → Téléphone : 555-123-4567, Email : john@company.com

### Intégration de l'analyse des sentiments
<a name="sentiment-analysis"></a>

Surveille le sentiment des clients tout au long de la conversation afin d'ajuster l'approche et d'intensifier les efforts si nécessaire.
+ **Routage basé sur les sentiments :**
  + Sentiment positif → Approche agressive de la vente incitative
  + Sentiment neutre → Service standard avec de légères ventes incitatives
  + Sentiment négatif → Concentrez-vous sur la résolution des problèmes, minimisez les ventes incitatives

## Système de vérification et de confirmation des commandes
<a name="exercise-3-confirmation-system"></a>

Le bot comprend un système de confirmation complet qui vérifie l'identité du client, confirme les détails de la commande et envoie des confirmations via plusieurs canaux.

### Processus de vérification multifactoriel
<a name="verification-process"></a>
+ **Vérification principale :**
  + Validation du numéro de commande
  + Confirmation de l'adresse e-mail
  + 4 derniers chiffres du mode de paiement (pour les opérations sensibles)
+ **Vérification secondaire :**
  + Confirmation de l'adresse de livraison
  + Validation des dates d'achat
  + Vérification des détails du produit

### Système de confirmation multicanal
<a name="confirmation-channels"></a>

Le bot envoie automatiquement des confirmations via plusieurs canaux en fonction des préférences du client et du type d'action.
+ **Confirmations par e-mail :**
  + Mises à jour du statut des commandes avec informations de suivi
  + Autorisation de retour avec étiquettes d'expédition prépayées
  + Confirmations d'achat incitatif avec détails de livraison
  + Confirmation de la capture de prospects avec offres de bienvenue
+ **Confirmations par SMS :**
  + Mises à jour immédiates du statut des commandes
  + Notifications de livraison avec fenêtres horaires
  + Alertes de vente flash pour les clients intéressés
+ **Notifications intégrées à l'application :**
  + Mises à jour en temps réel
  + Recommandations de produits personnalisées
  + Mise à jour du programme de fidélité

## Intégration au point de vente (POS)
<a name="exercise-3-pos-integration"></a>

Le chatbot s'intègre directement aux systèmes de point de vente pour traiter les transactions, appliquer des remises et mettre à jour l'inventaire en temps réel.

### Traitement des transactions en temps réel
<a name="transaction-processing"></a>
+ **Flux de transactions de vente incitative :**

  ```
  1. Customer accepts upsell offer
  2. Bot validates inventory availability
  3. Bot applies customer-tier discount
  4. Bot processes payment using stored payment method
  5. Bot updates order with additional items
  6. Bot sends confirmation via preferred channel
  7. Bot updates customer profile with purchase data
  ```
+ **Suivi des recettes :**
  + Taux de conversion des ventes incitatives par niveau de clientèle
  + Augmentation de la valeur moyenne des commandes par interaction
  + Attribution des revenus aux interactions avec les chatbots
  + Impact sur la valeur à vie du client

### Moteur de tarification dynamique
<a name="dynamic-pricing"></a>
+ **Tarification basée sur les niveaux :**
  + Bronze : prix standard
  + Argent : 5 % de réduction sur les ventes incitatives
  + Or : 10 à 20 % de réduction sur les ventes incitatives
  + Platinum : 25 % de réduction \$1 livraison gratuite
+ **Tarification contextuelle :**
  + Scénarios de résolution de problèmes : discount supplémentaire pour maintenir la satisfaction
  + Clients à forte valeur ajoutée : niveaux de tarification exclusifs
  + Liquidation des stocks : remises agressives pour les articles à évolution lente

## Système avancé de génération de prospects
<a name="exercise-3-lead-generation"></a>

Le chatbot inclut un système sophistiqué de génération de prospects qui capture, qualifie et monétise les données des clients via de multiples sources de revenus.

### Stratégie de capture de prospects Multi-Touch
<a name="lead-capture-strategy"></a>
+ **Capture opportuniste :**
  + Lors de la vérification de l'état de la commande : « Souhaitez-vous des mises à jour sur des produits similaires ? »
  + Après résolution du problème : « Pouvons-nous vous informer des améliorations apportées au produit ? »
  + Lors des interactions de vente incitative : « Devons-nous vous avertir des futures offres dans cette catégorie ? »
+ **Capture de valeur ajoutée :**
  + Accès exclusif aux tarifs réservés aux membres
  + Accès anticipé aux lancements de nouveaux produits
  + Recommandations de produits personnalisées
  + Offres spéciales d'anniversaire et d'anniversaire

### Qualification automatisée des prospects
<a name="lead-qualification"></a>
+ **Critères de notation :**
  + Valeur de l'historique des achats : 0 à 25 points
  + Niveau d'engagement : 0 à 20 points
  + Exhaustivité des informations de contact : 0 à 15 points
  + Étendue des intérêts de la catégorie de produits : 0 à 15 points
  + Réponse aux tentatives de vente incitative : 0 à 25 points
+ **Catégories de prospects :**
  + Hot Leads (80-100 points) : contact immédiat avec l'équipe commerciale
  + Warm Leads (60 à 79 points) : séquence de soins automatisée
  + Cold Leads (40-59 points) : newsletter mensuelle
  + Prospects (0 à 39 points) : e-mails promotionnels trimestriels

### Monétisation des données de plomb pour les agrégateurs
<a name="aggregator-sales"></a>

Le système formate et regroupe les données des prospects pour les vendre à des agrégateurs tiers, créant ainsi une source de revenus supplémentaire.
+ **Packages de données :**
  + *Package Premium :* coordonnées complètes, historique des achats, préférences, scores d'engagement
  + *Package standard :* coordonnées, préférences de base, catégories d'intérêts
  + *Package de base :* adresse e-mail, catégorie d'intérêt principale
+ **Caractéristiques de conformité :**
  + Conformité au RGPD avec suivi explicite du consentement
  + Conformité au CCPA avec les mécanismes de désinscription
  + Conformité à la norme CAN-SPAM pour le marketing par e-mail
  + Politiques de conservation et de suppression des données
+ **Optimisation des revenus :**
  + Tarification dynamique basée sur les scores de qualité des prospects
  + Partenariats de données exclusifs avec des agrégateurs haut de gamme
  + Enchères en temps réel pour les prospects de grande valeur

## Stratégies d'optimisation des revenus
<a name="exercise-3-revenue-optimization"></a>

Chaque interaction est conçue pour maximiser les revenus grâce à des ventes incitatives intelligentes, à des ventes croisées et à une optimisation de la valeur sur le cycle de vie des clients.

### Stratégies de vente incitative intelligentes
<a name="upselling-strategies"></a>
+ **Ventes incitatives contextuelles :**
  + Vérification de l'état de la commande → « Votre commande est prête \$1 Ajouter la livraison accélérée pour seulement 5\$1 ? »
  + Demande de retour → « Au lieu de retourner, souhaitez-vous l'échanger contre notre modèle amélioré ? »
  + Demande de produit → « Cet article se marie parfaitement avec [produit complémentaire] - regroupez et économisez 15 % »
+ **Vente en cas d'urgence :**
  + « Cette offre expire dans 24 heures »
  + « Il n'en reste que 3 en stock à ce prix »
  + « La vente flash se termine à minuit »

### Opportunités de ventes croisées
<a name="cross-selling-opportunities"></a>
+ **Vente par écosystème de produits :**
  + Électronique → Accessoires, garanties, services d'installation
  + Vêtements → Articles assortis, produits d'entretien, services de coiffage
  + Produits pour la maison → Articles complémentaires, produits d'entretien, consultations de conception
+ **Service de vente incitative :**
  + Garanties prolongées et plans de protection
  + Niveaux d'assistance client premium
  + Services d'abonnement et livraison automatique
  + Installation et configuration professionnelles

### Optimisation de la valeur à vie du client
<a name="lifetime-value-optimization"></a>
+ **Intégration du programme de fidélité :**
  + Mises à niveau automatiques basées sur les interactions du chatbot
  + Points bonus en participant à des offres de vente incitative
  + Récompenses et remises exclusives réservées aux chatbots
+ **Stratégies de rétention :**
  + Résolution proactive des problèmes pour éviter le taux de désabonnement
  + Offres de retrouvailles personnalisées pour les clients inactifs
  + Offres d'anniversaire et de célébration d'événements marquants

## Procédures d'implémentation
<a name="exercise-3-implementation"></a>

Suivez ces step-by-step procédures pour créer votre chatbot de service client avancé avec toutes les fonctionnalités d'optimisation des revenus.

### Prérequis et exigences de configuration
<a name="exercise-3-prerequisites"></a>

Avant de créer le SmartCommerce bot, assurez-vous que vous disposez de la configuration du compte AWS et des autorisations nécessaires, et que vous comprenez les considérations relatives au service.

#### Compte AWS et exigences d'accès
<a name="aws-account-setup"></a>
+ **Compte AWS :** vous devez disposer d'un compte AWS actif avec facturation activée. Si vous n'en avez pas, inscrivez-vous sur [aws.amazon.com](https://aws.amazon.com/).
+ **Autorisations IAM :** votre utilisateur ou rôle AWS doit disposer des autorisations suivantes :
  + `lex:*`- Autorisations Amazon Lex V2 complètes pour la création et la gestion de robots
  + `iam:CreateRole`- Pour créer des rôles de service pour le bot
  + `iam:AttachRolePolicy`- Pour associer des politiques aux rôles de service
  + `lambda:CreateFunction`- Pour l'intégration Lambda (facultatif)
  + `logs:CreateLogGroup`- Pour la journalisation d'Amazon CloudWatch Logs
+ **Sélection de la région :** Choisissez une région AWS qui prend en charge Amazon Lex V2 et votre public cible. Les régions recommandées sont les suivantes :
  + USA Est (Virginie du Nord) - us-east-1
  + USA Ouest (Oregon) - us-west-2
  + Europe (Irlande) – eu-west-1
  + Asie-Pacifique (Sydney) - ap-southeast-2

#### Limites de service et quotas
<a name="service-limits-quotas"></a>

Amazon Lex V2 impose plusieurs limites de service susceptibles d'affecter le développement et le déploiement de votre bot :
+ **Limites du bot :**
  + Maximum de 100 robots par compte et par région
  + Maximum de 100 intentions par bot
  + 100 types de machines à sous maximum par bot
  + 200 emplacements maximum par intention
+ **Limites d'exécution :**
  + Durée maximale d'une session de 15 minutes
  + Maximum de 1 000 demandes par seconde (peut être augmenté)
  + Maximum de 1 500 caractères par saisie de texte
+ **Limites relatives aux données d'entraînement :**
  + Maximum de 1 500 échantillons d'énoncés par intention
  + Maximum de 10 000 valeurs de type de slot
  + 140 caractères maximum par extrait d'énoncé

**Note**  
Si vous avez besoin de limites d'utilisation en production plus élevées, vous pouvez demander des augmentations de quotas par le biais du centre de support AWS.

#### Considérations de coût
<a name="cost-considerations"></a>

Comprendre la tarification d'Amazon Lex V2 vous permet de planifier et de budgétiser le déploiement de votre chatbot :
+ **Tarification basée sur les demandes :**
  + Demandes de texte : 0,00075\$1 par demande après les 10 000 premières demandes par mois
  + Demandes vocales : 0,004\$1 par demande après les 1 000 premières demandes par mois
+ **Niveau gratuit :**
  + 10 000 demandes de SMS par mois pendant la première année
  + 1 000 demandes vocales par mois pendant la première année
+ **Coûts supplémentaires :**
  + Fonctions Lambda (si utilisées) : 0,20 USD par 1 million de requêtes \$1 temps de calcul
  +  CloudWatch Logs Amazon Logs : 0,50\$1 par Go ingéré
  + Coûts de transfert de données pour les intégrations externes
+ **Conseils d'optimisation des coûts :**
  + Utiliser les attributs de session pour réduire les appels d'API redondants
  + Implémentez des flux de conversation efficaces pour minimiser le nombre de tours
  + Surveillez l'utilisation grâce aux CloudWatch journaux pour identifier les opportunités d'optimisation

**Important**  
Pour obtenir les informations tarifaires actuelles, rendez-vous sur la [page de tarification d'Amazon Lex](https://aws.amazon.com/lex/pricing/), car les tarifs peuvent changer.

#### Présentation de l'intégration Lambda
<a name="lambda-integration-basics"></a>

Bien que cet exercice se concentre sur la configuration du bot Lex, les fonctionnalités avancées décrites (intégration au point de vente, génération de prospects, optimisation des revenus) nécessitent généralement des fonctions Lambda pour le traitement du backend.
+ **Quand Lambda est nécessaire :**
  + Vérification du statut des commandes par rapport à des bases de données externes
  + Contrôles d'inventaire en temps réel pour les ventes incitatives
  + Stockage et récupération des données clients
  + Recherche de l'historique des ventes dans les tables S3 à l'aide du prénom et du nom de famille du client
  + Analyse des habitudes d'achat pour des recommandations personnalisées
  + Intégration du traitement des paiements
  + Envoi de confirmation par e-mail et SMS
+ **Intégration de l'historique des ventes S3 :**
  + Interrogez les tables S3 à l'aide CustomerFirstName des CustomerLastName emplacements et
  + Analyser l'historique des achats pour identifier les habitudes et les préférences d'achat
  + Générez des recommandations de produits personnalisées en fonction des achats antérieurs
  + Calculez la valeur du cycle de vie du client pour les stratégies de tarification dynamiques
  + Identifiez les opportunités de ventes croisées à partir d'une analyse de corrélation des achats
+ **Exigences de configuration de base de Lambda :**
  + Rôle d'exécution Lambda avec les autorisations appropriées
  + Configuration VPC en cas d'accès à des ressources privées
  + Variables d'environnement pour la configuration
  + Gestion des erreurs et implémentation de la journalisation
+ **Points d'intégration :**
  + Réalisation des intentions - Traiter les intentions terminées
  + Validation des créneaux : validez les entrées utilisateur en temps réel
  + Gestion des dialogues - Contrôlez le flux des conversations

**Note**  
Dans le cadre de cet exercice, nous allons nous concentrer sur la configuration du bot Lex. L'intégration Lambda peut être ajoutée ultérieurement en fonction de l'évolution de vos besoins. Le bot fonctionnera avec des réponses statiques à des fins de test et de démonstration.

#### Liste de contrôle préalable à la mise en œuvre
<a name="getting-started-checklist"></a>

Avant de procéder à la création du bot, vérifiez que vous disposez des éléments suivants :
+ ✓ Compte AWS actif avec facturation activée
+ ✓ Autorisations IAM appropriées pour Lex et les services associés
+ ✓ Région AWS cible sélectionnée
+ ✓ Limites et quotas de service révisés
+ ✓ Implications financières comprises
+ ✓ Approche d'intégration Lambda planifiée (si nécessaire)
+ ✓ Accès à AWS Management (AWS Management Console)

### Créez le SmartCommerce bot
<a name="create-advanced-bot-procedure"></a>

**Pour créer le bot SmartCommerce du service client**

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 **Créer un bot**.

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

1. Dans la section **Configuration du bot** :
   + Nom du bot : **SmartCommerceBot**
   + Descriptif : **Advanced customer service chatbot with upselling, lead generation, and revenue optimization**

1. Dans la section **Autorisations**, choisissez **Créer un nouveau rôle avec des autorisations Amazon Lex de base**.

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

1. Dans la section **Délai d'expiration de la session**, définissez ce paramètre sur **15 minutes** pour autoriser les conversations complexes à plusieurs tours.

1. Choisissez **Suivant**.

1. Ajoutez l'anglais (États-Unis) comme langue et choisissez **OK**.

### Création de types de machines à sous personnalisés
<a name="create-custom-slot-types-procedure"></a>

**Pour créer les types d'emplacements personnalisés**

1. Dans le volet de navigation de gauche, sélectionnez **Types de machines à sous**.

1. Choisissez **Ajouter un type d'emplacement** et créez les types d'emplacement suivants :

   1. **ProductCategories:**
      + Électronique
      + Vêtements
      + Accueil
      + Manuels
      + Sport
      + Beauté
      + Automobile

   1. **ReturnReasons:**
      + Défectueux
      + Mauvaise taille
      + J'ai changé d'avis
      + Non conforme à la description
      + Endommagé lors de l'expédition
      + Meilleur prix trouvé

   1. **ContactPreferences:**
      + E-mail
      + SMS
      + Appel téléphonique
      + Notification intégrée à l'application
      + Mail

   1. **CustomerTiers:**
      + Bronze
      + Argenté
      + Doré
      + Platine

### Créez des intentions personnalisées
<a name="create-intents-procedure"></a>

**Pour créer l' CheckOrderStatus intention**

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

1. Choisissez **Ajouter une intention** et nommez-la**CheckOrderStatus**.

1. Ajoutez les exemples d'énoncés suivants :
   + « Quel est le statut de ma commande \$1OrderNumber\$1 »
   + « Je dois vérifier le numéro de commande \$1OrderNumber\$1 »
   + « Où est mon colis ? »
   + « Suivre ma commande \$1OrderNumber\$1 »
   + « Ma commande a-t-elle déjà été expédiée ? »
   + « Quand arrivera ma commande ? »
   + « Je souhaite être informé de ma livraison »

1. Ajoutez les emplacements suivants :
   + `OrderNumber`([Numéro Amazon](built-in-slot-number.md)) - Obligatoire

     Demande : « Pouvez-vous fournir votre numéro de commande ? »
   + `CustomerEmail`([AMAZON. EmailAddress](built-in-slot-email.md)) - Obligatoire

     Demande : « Pour vérifier votre identité, veuillez fournir l'adresse e-mail associée à cette commande. »

1. Définissez l'invite de confirmation : « Laissez-moi vérifier la commande \$1 \$1OrderNumber\$1 pour \$1CustomerEmail\$1. Est-ce bien correcte ? »

1. Définissez le message d'expédition : « J'ai trouvé votre commande \$1 Le numéro de commande \$1OrderNumber\$1 est \$1OrderStatus\$1. \$1UpsellMessage\$1 »

**Pour créer l' UpsellProducts intention**

1. Créez une nouvelle intention nommée**UpsellProducts**.

1. Ajoutez des exemples d'énoncés :
   + « Montrez-moi les produits connexes »
   + « Qu'est-ce qu'il y aurait d'autre avec ça ? »
   + « Avez-vous des offres ? »
   + « Je suis intéressé par \$1ProductCategory\$1 articles »
   + « Ce qui est en vente aujourd'hui »
   + « Montrez-moi plus d'options »

1. Ajoutez des emplacements :
   + `ProductCategory`(ProductCategories) - Obligatoire

     Demande : « Quel type de produit vous intéresse ? »
   + `Budget`([Numéro Amazon](built-in-slot-number.md)) - Facultatif

     Demande : « Quel est votre budget pour les articles supplémentaires ? »

**Pour créer l' CaptureLeadInfo intention**

1. Créez une nouvelle intention nommée**CaptureLeadInfo**.

1. Ajoutez des exemples d'énoncés :
   + « Je veux connaître les nouveaux produits »
   + « Inscrivez-moi pour recevoir des mises à jour »
   + « Je suis intéressé par \$1InterestCategory\$1 »
   + « Tenez-moi au courant des ventes »
   + « Je souhaite m'inscrire sur votre liste d'envoi »
   + « Envoyez-moi des offres et des offres »
   + « Je m'appelle \$1CustomerFirstName\$1 \$1CustomerLastName\$1 »
   + « Je suis \$1CustomerFirstName\$1 \$1CustomerLastName\$1 et je souhaite des recommandations personnalisées »

1. Ajoutez des emplacements :
   + `CustomerFirstName`([AMAZON. FirstName](built-in-slot-first-name.md)) - Obligatoire

     Demande : « Quel est votre prénom pour un service personnalisé ? »
   + `CustomerLastName`([AMAZON. LastName](built-in-slot-last-name.md)) - Obligatoire

     Demande : « Et votre nom de famille pour que je puisse consulter l'historique de vos achats ? »
   + `CustomerEmail`([AMAZON. EmailAddress](built-in-slot-email.md)) - Obligatoire
   + `CustomerPhone`([AMAZON. PhoneNumber](built-in-slot-phone.md)) - Facultatif
   + `InterestCategory`(ProductCategories) - Obligatoire
   + `ContactPreference`(ContactPreferences) - Obligatoire

### Activez les fonctionnalités basées sur l'IA
<a name="enable-ai-features-procedure"></a>

**Pour activer le NLU assisté et les autres fonctionnalités de l'IA**

1. Dans le volet de navigation de gauche, choisissez **Bot settings**.

1. Dans **Assisted NLU**, choisissez **Enable.**

1. Sous **Generative AI**, activez :
   + Résolution des créneaux assistée
   + Création d'un bot descriptif

1. Sous **Analyse des sentiments**, sélectionnez **Activer**.

1. Choisissez **Enregistrer**.

### Testez et déployez le bot
<a name="test-and-deploy-procedure"></a>

**Pour tester le SmartCommerce bot**

1. Choisissez **Build** pour compiler votre bot.

1. Une fois le build terminé, choisissez **Test**.

1. Testez les flux de conversation suivants :

   1. **Flux de statut des commandes :**
      + Utilisateur : « Vérifier ma commande 12345"
      + Bot : demande la vérification du courrier électronique
      + Utilisateur : fournit un e-mail
      + Bot : fournit un statut et propose des ventes incitatives

   1. **Flux de ventes incitatives :**
      + Utilisateur : « Montrez-moi les offres »
      + Bot : demande une catégorie de produit
      + Utilisateur : « Electronics »
      + Bot : présente des offres personnalisées

   1. **Flux de génération de prospects :**
      + Utilisateur : « Inscrivez-moi pour recevoir les mises à jour »
      + Bot : collecte des informations de contact
      + Utilisateur : fournit des informations
      + Bot : confirme l'abonnement et offre un discount immédiat

1. Vérifiez que les fonctionnalités de l'IA fonctionnent :
   + Testez des variantes en langage naturel telles que « mes informations ne sont pas arrivées »
   + Vérifiez que l'analyse des sentiments ajuste les réponses des robots
   + Confirmez que la résolution des emplacements fonctionne avec des entrées complexes

1. Une fois le test terminé, choisissez **Publier** pour déployer votre bot.

## Analyse et optimisation des performances
<a name="exercise-3-analytics"></a>

Surveillez et optimisez les performances de votre SmartCommerce bot à l'aide d'analyses complètes et d'un suivi des revenus.

### Indicateurs de performance clés
<a name="key-metrics"></a>
+ **Indicateurs de revenus :**
  + Taux de conversion des ventes incitatives par niveau de clientèle
  + Augmentation de la valeur moyenne des commandes par interaction
  + Revenu par conversation
  + Impact sur la valeur à vie du client
+ **Indicateurs de génération de prospects :**
  + Taux de capture de prospects par type d'interaction
  + Scores de qualité des prospects et taux de conversion
  + Revenus de monétisation des données provenant des ventes d'agrégateurs
  + Taux de croissance des abonnements aux e-mails
+ **Métriques opérationnelles :**
  + Précision de la reconnaissance des intentions
  + Taux de réussite du remplissage des emplacements
  + Taux d'achèvement des conversations
  + Scores de satisfaction client

### Stratégies d'optimisation continue
<a name="optimization-strategies"></a>
+ **Tests A/B :**
  + Testez différentes approches de messagerie incitative
  + Comparez les techniques de capture du plomb agressives et douces
  + Optimisez les pourcentages de discount pour une conversion maximale
+ **Optimisation du Machine Learning :**
  + Analysez les modèles de conversation réussis
  + Identifier le moment optimal pour les offres de vente incitative
  + Affiner les algorithmes de classification par niveau client

## Conclusion de l'exercice
<a name="exercise-3-conclusion"></a>

Félicitations \$1 Vous avez créé avec succès un chatbot de service client avancé qui démontre les capacités de l'entreprise en matière d'optimisation des revenus et d'engagement des clients. Ce SmartCommerce bot explique comment les entreprises peuvent tirer parti des fonctionnalités basées sur l'IA d'Amazon Lex V2 pour :
+ **Maximiser les revenus :** grâce à des stratégies intelligentes de vente incitative, de vente croisée et de tarification dynamique
+ **Générez des prospects :** en capturant et en qualifiant systématiquement les informations sur les clients pour de multiples sources de revenus
+ **Améliorez l'expérience client :** utiliser l'IA pour comprendre le langage naturel et proposer des interactions personnalisées
+ **Optimisation des opérations :** grâce à un service client automatisé qui évolue efficacement tout en maintenant la qualité

Les techniques présentées dans cet exercice peuvent être adaptées et étendues à divers secteurs et cas d'utilisation, fournissant ainsi une base pour la création de solutions d'IA conversationnelle sophistiquées qui stimulent la croissance des entreprises.

### Étapes suivantes
<a name="next-steps"></a>

Pour améliorer encore votre SmartCommerce bot, pensez à implémenter :
+ **Intégrations avancées :**
  + Intégration du système CRM pour des profils clients complets
  + Connexions au système de gestion des stocks pour une disponibilité en temps réel
  + Intégration du traitement des paiements pour des transactions fluides
+ **Déploiement multicanal :**
  + Intégration du widget de chat sur le site Web
  + Connexions aux plateformes de réseaux sociaux
  + Mise en œuvre de l'interface vocale
+ **Analyses avancées :**
  + Développement de tableaux de bord personnalisés pour les indicateurs commerciaux
  + Analyse prédictive du comportement des clients
  + Suivi du retour sur investissement et modélisation de l'attribution

# Bonnes pratiques pour démarrer
<a name="getting-started-best-practices"></a>

## Principes de conception de conversations
<a name="conversation-design-principles"></a>

Le respect de ces principes de conception de conversation dès le départ vous aidera à créer des chatbots Amazon Lex V2 plus efficaces, faciles à gérer et plus conviviaux qui fournissent des interactions naturelles.

### Principes de conception fondamentaux
<a name="core-design-principles"></a>
+ **Commencez par les objectifs de l'utilisateur** : concevez votre bot en fonction de ce que les utilisateurs veulent accomplir, et non de ce que votre système est capable de faire. Concentrez-vous sur le parcours de l'utilisateur et les résultats souhaités.
+ **Utilisez le langage naturel** : rédigez des instructions et des réponses de manière conversationnelle. Évitez le jargon technique et parlez comme le ferait un humain serviable.
+ **Fournissez des options claires** : lorsque les utilisateurs sont bloqués, offrez des exemples spécifiques de ce qu'ils peuvent dire plutôt qu'un texte d'aide générique.
+ **Simplifiez les choses** : commencez par les fonctionnalités de base et ajoutez progressivement de la complexité. Les utilisateurs doivent être en mesure d'effectuer rapidement les tâches courantes.
+ **Gérez les erreurs avec élégance** : lorsque le bot ne comprend pas, offrez des conseils utiles au lieu de simplement dire « je ne comprends pas ».
+ **Confirmez les actions importantes** - Confirmez toujours avant de prendre des mesures difficiles à annuler, comme passer des commandes ou supprimer des informations.
+ **Fournissez des voies d'évacuation** - Donnez toujours aux utilisateurs un moyen de recommencer à zéro, d'obtenir de l'aide ou de communiquer avec un humain en cas de besoin.

### Bonnes pratiques en matière de flux de conversation
<a name="conversation-flow-best-practices"></a>
+ **Définissez des attentes claires** : informez les utilisateurs de ce que le bot peut et ne peut pas faire dès le début de la conversation.
+ **Utilisez la divulgation progressive** : demandez des informations une pièce à la fois plutôt que de surcharger les utilisateurs de multiples questions.
+ **Fournir du contexte** : rappelez aux utilisateurs les informations que vous avez déjà collectées et celles dont vous avez encore besoin.
+ **Facilitez les corrections** - Permettez aux utilisateurs de corriger les informations sans recommencer complètement.

## Cas d'utilisation et exemples concrets
<a name="real-world-use-cases"></a>

Ces exemples pratiques montrent comment appliquer les principes de conception de conversation aux scénarios courants auxquels sont confrontés les nouveaux utilisateurs d'Amazon Lex V2.

### Cas d'utilisation 1 : prise de rendez-vous
<a name="use-case-appointment-booking"></a>

**Scénario :** Un cabinet médical souhaite automatiser la prise de rendez-vous.

**Défi :** les utilisateurs doivent fournir plusieurs informations (type de service, date, heure, coordonnées) et souhaiteront peut-être modifier les informations.

**Approche de la solution :**
+ **Start Broad :** « Quel type de rendez-vous souhaitez-vous prendre ? » (examen dentaire, examen de la vue, consultation)
+ **Affiner :** « Quand préférez-vous votre rendez-vous chez le dentiste ? » (Acceptez les entrées flexibles comme « la semaine prochaine » ou « vendredi après-midi »)
+ **Confirmer et proposer des modifications :** « Je vous ai prévu un nettoyage dentaire le vendredi 15 mars à 14 h. Est-ce que cela fonctionne pour toi ? »
+ **Gérer les modifications :** si l'utilisateur dit « Pouvons-nous faire 15 heures à la place ? » , mettez à jour l'heure sans redémarrer l'ensemble du processus.

**Techniques clés :**
+ Utilisation [Amazon Date](built-in-slot-date.md) et [Amazon Time](built-in-slot-time.md) pour une date/time saisie flexible
+ Créez des types de créneaux personnalisés pour les types de rendez-vous
+ Utilisez les instructions de confirmation avant de finaliser les réservations

### Cas d'utilisation 2 : Demande de statut de commande
<a name="use-case-order-tracking"></a>

**Scénario :** une entreprise de commerce électronique souhaite que ses clients vérifient l'état de leur commande sans appeler le service d'assistance.

**Défi :** les utilisateurs n'ont peut-être pas leur numéro de commande à portée de main ou peuvent le demander de différentes manières.

**Approche de la solution :**
+ **Points d'entrée multiples :** acceptez « Où est ma commande ? » , « Suivi de mon colis » ou « État de la commande »
+ **Identification flexible :** « Je peux vous aider à suivre votre commande. Avez-vous votre numéro de commande ou préférez-vous utiliser votre adresse e-mail ? »
+ **Conseils utiles :** « Votre numéro de commande se trouve généralement dans votre e-mail de confirmation et commence par 'ORD-' »
+ **Résultats clairs :** « Votre commande \$1ORD -12345 a été expédiée hier et arrivera demain avant 20 heures. Souhaitez-vous obtenir des informations de suivi ? »

**Techniques clés :**
+ Utilisez des types de machines à sous intégrés tels qu'AMAZON. AlphaNumeric pour les numéros de commande
+ Fournir plusieurs moyens d'identifier les commandes (e-mail, téléphone, numéro de commande)
+ Fournissez des informations claires et exploitables dans les réponses

### Cas d'utilisation 3 : FAQ et Support
<a name="use-case-faq-support"></a>

**Scénario :** un éditeur de logiciels souhaite traiter automatiquement les questions d'assistance courantes.

**Défi :** Les utilisateurs posent les mêmes questions de différentes manières, et certains problèmes nécessitent une aide humaine.

**Approche de la solution :**
+ **Reconnaissance globale des intentions :** formez les intentions à reconnaître des variantes telles que « Je n'arrive pas à me connecter », « Problèmes de connexion », « Le mot de passe ne fonctionne pas »
+ **Dépannage guidé :** « Essayons de suivre quelques étapes rapides. Tout d'abord, avez-vous essayé de réinitialiser votre mot de passe ? »
+ **Voie d'escalade :** « Si ces étapes ne fonctionnent pas, je peux vous mettre en contact avec notre équipe d'assistance. Aimerais-tu que je le fasse ? »
+ **Suivi :** « Cela a-t-il résolu votre problème ? Vous pouvez toujours dire « aide » si vous avez besoin d'aide pour autre chose. »

**Techniques clés :**
+ Utilisez de nombreux exemples d'énoncés pour saisir les différentes manières dont les utilisateurs expriment leurs problèmes
+ Fournir des step-by-step conseils plutôt que de longues explications
+ Offrez toujours une voie vers un support humain lorsque l'aide automatisée n'est pas suffisante

### Gestion de scénarios complexes
<a name="handling-complex-scenarios"></a>

Même les robots les plus simples sont confrontés à des situations complexes. Voici comment les gérer avec élégance :
+ **Lorsque les utilisateurs changent d'avis :**
  + Utilisateur : « En fait, je veux des roses plutôt que des tulipes »
  + Bot : « Pas de problème \$1 J'ai mis à jour votre commande en y ajoutant des roses. Vos roses seront prêtes à être ramassées vendredi à 14 h. Est-ce exact ? »
+ **Lorsque les informations ne sont pas claires :**
  + Utilisateur : « J'ai besoin de fleurs pour la semaine prochaine »
  + Bot : « Je serais ravi de pouvoir vous aider \$1 Quel jour de la semaine prochaine vous convient le mieux ? Vous pouvez dire quelque chose comme « lundi » ou « mardi prochain ». »
+ **Lorsque le bot ne comprend pas :**
  + L'utilisateur : « Je veux les violettes avec de longues tiges »
  + Bot : « Je veux m'assurer que j'ai bien compris. Vous recherchez des fleurs violettes ? Nous avons des roses violettes, des tulipes violettes et des iris violets disponibles. »
+ **Lorsque les utilisateurs doivent recommencer à zéro :**
  + Utilisateur : « Annulez ceci, je veux recommencer »
  + Bot : « Bien sûr \$1 J'ai validé votre commande en cours. Quel type de fleurs aimeriez-vous commander aujourd'hui ? »