Étape 6 : Utiliser le bot - Amazon Lex V1

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

 

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

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Étape 6 : Utiliser le bot

À des fins de démonstration, vous fournissez des informations au bot en tant que client et en tant qu'agent. Pour différencier les deux, les questions posées par le client commencent par « Client : » et les réponses fournies par l'agent commencent par « Agent : ». Vous pouvez choisir parmi un menu d'entrées suggérées.

Exécutez votre application Web en index.html l'ouvrant pour engager une conversation similaire à l'image suivante avec votre bot :

Deux exemples de conversations avec un bot de centre d'appels. Dans le premier cas, le client demande ce qu' SageMaker est Amazon et quand utiliser Amazon Polly au lieu d'Amazon Lex. Dans le second, Amazon Kendra trouve les réponses aux questions fréquemment posées à ces deux questions.

La pushChat() fonction du fichier index.html est expliquée ci-dessous.

var endConversationStatement = "Customer: I have no more questions. Thank you." // If the agent has to send a message, start the message with 'Agent' var inputText = document.getElementById('input'); if (inputText && inputText.value && inputText.value.trim().length > 0 && inputText.value[0]=='Agent') { showMessage(inputText.value, 'agentRequest','conversation'); inputText.value = ""; } // If the customer has to send a message, start the message with 'Customer' if(inputText && inputText.value && inputText.value.trim().length > 0 && inputText.value[0]=='Customer') { // disable input to show we're sending it var input = inputText.value.trim(); inputText.value = '...'; inputText.locked = true; customerInput = input.substring(2); // Send it to the Lex runtime var params = { botAlias: '$LATEST', botName: 'KendraTestBot', inputText: customerInput, userId: lexUserId, sessionAttributes: sessionAttributes }; showMessage(input, 'customerRequest', 'conversation'); if(input== endConversationStatement){ showMessage('Conversation Ended.','conversationEndRequest','conversation'); } lexruntime.postText(params, function(err, data) { if (err) { console.log(err, err.stack); showMessage('Error: ' + err.message + ' (see console for details)', 'lexError', 'conversation1') } if (data &&input!=endConversationStatement) { // capture the sessionAttributes for the next cycle sessionAttributes = data.sessionAttributes; showMessage(data, 'lexResponse', 'conversation1'); } // re-enable input inputText.value = ''; inputText.locked = false; }); } // we always cancel form submission return false;

Lorsque vous fournissez des informations en tant que client, l'API d'exécution Amazon Lex les envoie à Amazon Lex.

La showMessage(daText, senderRequest, displayWindow) fonction affiche la conversation entre l'agent et le client dans la fenêtre de discussion. Les réponses proposées par Amazon Kendra sont affichées dans une fenêtre adjacente. La conversation se termine lorsque le client dit “I have no more questions. Thank you.”

Remarque : veuillez supprimer votre index Amazon Kendra lorsqu'il n'est pas utilisé.