Passaggio 6: utilizzare il bot - Amazon Lex versione 1

Avviso di fine del supporto: il 15 settembre 2025 AWS interromperà il supporto per Amazon Lex V1. Dopo il 15 settembre 2025, non potrai più accedere alla console Amazon Lex V1 o alle risorse Amazon Lex V1. Se utilizzi Amazon Lex V2, consulta invece la guida Amazon Lex V2.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Passaggio 6: utilizzare il bot

A scopo dimostrativo, fornisci input al bot come cliente e come agente. Per distinguere tra le due, le domande poste dal cliente iniziano con «Cliente:» e le risposte fornite dall'agente iniziano con «Agente:». Puoi scegliere da un menu di input suggeriti.

Esegui la tua applicazione web aprendola index.html per avviare una conversazione simile all'immagine seguente con il tuo bot:

Due esempi di conversazioni con un bot di call center. Nella prima, il cliente chiede cos'è Amazon SageMaker AI e quando utilizzare Amazon Polly anziché Amazon Lex. Nella seconda, Amazon Kendra trova le risposte alle domande frequenti per queste due domande.

La pushChat() funzione nel file index.html è spiegata di seguito.

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;

Quando fornisci un input come cliente, l'API di runtime di Amazon Lex lo invia ad Amazon Lex.

La showMessage(daText, senderRequest, displayWindow) funzione visualizza la conversazione tra l'agente e il cliente nella finestra di chat. Le risposte suggerite da Amazon Kendra vengono visualizzate in una finestra adiacente. La conversazione termina quando il cliente dice “I have no more questions. Thank you.”

Nota: elimina il tuo indice Amazon Kendra quando non è in uso.