Etapa 6: usar o bot - Amazon Lex V1

Se você estiver usando o Amazon Lex V2, consulte o Guia do Amazon Lex V2.

 

Se você estiver usando o Amazon Lex V1, recomendamos atualizar seus bots para o Amazon Lex V2. Não estamos mais adicionando novos atributos à V1 e recomendamos o uso da V2 para todos os novos bots.

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 agente começam com “Agente:”. 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. Na primeira, o cliente pergunta o que é o Amazon SageMaker 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.