Si utiliza Amazon Lex V2, consulte la guía de Amazon Lex V2.
Si utiliza Amazon Lex V1, le recomendamos que actualice los bots a Amazon Lex V2. Hemos dejado de agregar nuevas características a V1, por lo que recomendamos encarecidamente utilizar V2 para todos los nuevos bots.
Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Paso 6: uso del bot
Con fines de demostración, tendrá que agregar entradas al bot como cliente y como agente. Para diferenciar entre ambos tipos de entradas, las preguntas que haga el cliente empezarán por “Client:” y las respuestas proporcionadas por el agente, por “Agent:”. Puede elegir varias opciones del menú de sugerencias de entrada.
Abra index.html
para ejecutar la aplicación web y entablar una conversación con el bot parecida a la de la siguiente imagen:
La función pushChat()
del archivo index.html se explica a continuación.
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;
Cuando proporciona una entrada como cliente, la API en tiempo de ejecución de Amazon Lex la envía a Amazon Lex.
La función showMessage(daText, senderRequest, displayWindow)
muestra la conversación entre el agente y el cliente en la ventana del chat. Las respuestas que sugiere Amazon Kendra se muestran en una ventana adyacente. La conversación finaliza cuando el cliente dice: “I have no more questions. Thank you.”
Nota: Elimine el índice de Amazon Kendra si no lo va a utilizar.