Etapa 6: usar o bot - Amazon Lex V1

Aviso de fim do suporte: em 15 de setembro de 2025, o suporte para o Amazon Lex V1 AWS será interrompido. Depois de 15 de setembro de 2025, você não poderá mais acessar o console do Amazon Lex V1 ou os recursos do Amazon Lex V1. Se você estiver usando o Amazon Lex V2, consulte o guia do Amazon Lex V2 em vez disso.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Etapa 6: usar o bot

Para fins de demonstração, você fornece informações ao bot como o cliente e o atendente. Para diferenciar os dois, as perguntas feitas pelo cliente começam com “Cliente:” e as respostas fornecidas pelo atendente começam com “Atendente:”. Você pode escolher uma opção em um menu de entradas sugeridas.

Execute seu aplicativo Web abrindo index.html para iniciar uma conversa semelhante à imagem a seguir com seu bot:

Dois exemplos de conversas com um bot de call center. No primeiro, o cliente pergunta o que é o Amazon SageMaker AI e quando usar o Amazon Polly em vez do Amazon Lex. Na segunda, o Amazon Kendra encontra respostas a estas duas perguntas frequentes.

A função pushChat() no arquivo index.html é explicada abaixo.

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 você fornece informações como cliente, a API de runtime do Amazon Lex as envia para o Amazon Lex.

A função showMessage(daText, senderRequest, displayWindow) exibe a conversa entre o atendente e o cliente na janela de chat. As respostas sugeridas pelo Amazon Kendra são mostradas em uma janela adjacente. A conversa termina quando o cliente diz “I have no more questions. Thank you.”

Observação: exclua o índice do Amazon Kendra quando ele não estiver em uso.