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á.
Este exemplo mostra como criar um bot configurado para oferecer suporte a várias intenções. O exemplo também ilustra como é possível usar atributos de sessão para o compartilhamento de informações entre intenções. Depois de criar o bot, você usa um cliente de teste no console do Amazon Lex para testar o bot (BookTrip). O cliente usa a operação da API runtime do PostText para enviar solicitações ao Amazon Lex para cada entrada do usuário.
O BookTrip bot neste exemplo está configurado com duas intenções (BookHotel e BookCar). Por exemplo, suponha que um usuário reserve um hotel primeiro. Durante a interação, o usuário fornece informações como datas de check-in, local e número de diárias. Depois de a intenção ser cumprida, o cliente pode manter essas informações usando atributos de sessão. Para mais informações sobre atributos de sessão, consulte PostText.
Agora, suponha que o usuário prossiga para reservar um carro. Usando informações fornecidas pelo usuário na BookHotel intenção anterior (ou seja, cidade de destino e datas de check-in e check-out), o cohook (função Lambda) que você configurou para inicializar e validar a intenção inicializa os dados BookCar do slot da intenção (ou seja, destino, cidade de coleta, data de coleta e data de devolução). BookCar Isso mostra como o compartilhamento de informações entre intenções permite que você crie bots que podem participar de conversas dinâmicas com o usuário.
Neste exemplo, usamos os seguintes atributos de sessão. Somente o cliente e a função do Lambda podem definir e atualizar os atributos de sessão. Amazon Lex apenas os passa entre o cliente e a função do Lambda. O Amazon Lex não mantem nem modifica atributos de sessão.
-
currentReservation
: contém dados de slot para uma reserva em andamento e outras informações relevantes. A seguir, veja um exemplo de solicitação do cliente para o Amazon Lex. Ele mostra o atributo de sessãocurrentReservation
no corpo da solicitação.POST /bot/BookTrip/alias/$LATEST/user/wch89kjqcpkds8seny7dly5x3otq68j3/text "Content-Type":"application/json" "Content-Encoding":"amz-1.0" { "inputText":"Chicago", "sessionAttributes":{ "currentReservation":"{\"ReservationType\":\"Hotel\", \"Location\":\"Moscow\", \"RoomType\":null, \"CheckInDate\":null, \"Nights\":null}" } }
-
lastConfirmedReservation
: contém informações semelhantes para uma intenção anterior, se houver. Por exemplo, se o usuário reservou um hotel e está em processo de reserva de um carro, esse atributo de sessão armazena os dados do slot para a BookHotel intenção anterior. -
confirmationContext
: a função do Lambda define isso comoAutoPopulate
quando preenche automaticamente alguns dos dados de slot com base nos dados de slot da reserva anterior (se houver). Isso permite o compartilhamento de informações entre intenções. Por exemplo, se o usuário tiver reservado um hotel anteriormente e agora desejar reservar um carro, o Amazon Lex poderá solicitar que o usuário confirme (ou negue) se o carro está sendo reservado para a mesma cidade e as mesmas datas que a reserva de hotel
Neste exercício, você usa esquemas para criar um bot do Amazon Lex e uma função do Lambda. Para obter mais informações sobre esquemas, consulte Amazon Lex e esquemas AWS Lambda.
Próxima etapa
Etapa 1: revisão dos esquemas usados neste exercício