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á.
Noções básicas sobre sessões de bots do Amazon Lex V2
Quando um usuário inicia uma conversa com seu bot, o Amazon Lex V2 cria uma sessão. As informações trocadas entre a aplicação e o Amazon Lex V2 compõem o estado da sessão para a conversa. Quando você faz uma solicitação, a sessão é identificada por um identificador especificado por você. Para mais informações sobre o identificador de sessão, consulte o campo sessionId
na operação RecognizeText ou RecognizeUtterance.
É possível modificar o estado da sessão enviado entre o aplicativo e o bot. Por exemplo, você pode criar e modificar os atributos que contêm informações personalizadas sobre a sessão e alterar o fluxo da conversa definindo o contexto de diálogo para interpretar a próxima declaração.
Há três maneiras de atualizar o estado da sessão.
-
Passe as informações da sessão em linha como parte de uma chamada para a operação
RecognizeUtterance
ouRecognizeText
. -
Use uma função do Lambda com a operação
RecognizeText
ouRecognizeUtterance
que é chamada a cada turno da conversa. Para ter mais informações, consulte Integração de uma função do AWS Lambda ao seu bot. A outra é usar a API de runtime do Amazon Lex V2 na sua aplicação para fazer alterações no estado da sessão. -
Use operações que permitem gerenciar informações da sessão para uma conversa com o bot. As operações são PutSession, GetSession e DeleteSession. Você pode usar essas operações para obter informações sobre o estado da sessão do seu usuário com o bot e ter um controle apurado sobre o estado.
Use a operação GetSession
quando desejar obter o estado atual da sessão. A operação retorna o estado atual da sessão, incluindo o estado do diálogo com o usuário, todos os atributos de sessão que foram definidos e valores de slot da intenção atual e quaisquer outras intenções que o Amazon Lex V2 identificou como possíveis intenções que correspondem ao enunciado do usuário.
A operação PutSession
permite manipular diretamente o estado da sessão atual. Você pode definir a sessão, incluindo o tipo de ação de diálogo que o bot executará em seguida e as mensagens que o Amazon Lex V2 enviará ao usuário. Isso oferece a você controle sobre o fluxo da conversa com o bot. Defina o campo type
da ação de diálogo como Delegate
para que o Amazon Lex V2 determine a próxima ação do bot.
Você pode usar a operação PutSession
para criar uma nova sessão com um bot e definir a intenção com a qual ele deve começar. Também é possível usar a operação PutSession
para mudar de uma intenção para outra. Ao criar uma sessão ou alterar a intenção, você também pode definir o estado da sessão, como valores de slot e atributos de sessão. Quando a nova intenção é concluída, você tem a opção de reiniciar a intenção anterior.
A resposta da operação PutSession
contém as mesmas informações que a operação RecognizeUtterance
. Você pode usar essas informações para solicitar a próxima informação ao usuário, da mesma forma que faria com a resposta da operação RecognizeUtterance
.
Use a operação DeleteSession
para remover uma sessão existente e começar de novo com uma nova sessão. Por exemplo, ao testar seu bot, você pode usar a operação DeleteSession
para remover as sessões de teste do seu bot.
As operações de sessão trabalham com as funções do Lambda de atendimento. Por exemplo, se sua função do Lambda retornar Failed
como o estado de atendimento, você poderá usar a operação PutSession
para definir o tipo de ação de diálogo como close
e fulfillmentState
como ReadyForFulfillment
para repetir a etapa de atendimento.
Veja a seguir algumas ações que você pode executar com as operações de sessão:
-
Fazer com que o bot inicie uma conversa em vez de esperar pelo usuário.
-
Alternar entre as intenções durante uma conversa.
-
Voltar para uma intenção anterior.
-
Iniciar ou reiniciar uma conversa no meio da interação.
-
Validar valores de slot e fazer com que o bot solicite novamente valores que não são válidos.
Cada uma delas é descrita com mais detalhes a seguir.
Iniciar uma nova sessão
Se você desejar que o bot inicie a conversa com o usuário, use a operação PutSession
.
-
Crie uma intenção de boas-vindas sem slots e uma mensagem de conclusão solicitando que o usuário indique uma intenção. Por exemplo, "O que você gostaria de pedir? Você pode dizer "Pedir uma bebida" ou "Pedir uma pizza".
-
Chame a operação
PutSession
. Defina o nome da intenção como o nome da intenção de boas-vindas e defina a ação de diálogo comoDelegate
. -
O Amazon Lex responderá com o prompt da sua intenção de boas-vindas para iniciar a conversa com o usuário.
Alternar intenções
Você pode usar a operação PutSession
para alternar de uma intenção para outra. Também é possível usá-la para voltar para uma intenção anterior. Você pode usar a operação PutSession
para definir atributos de sessão ou valores de slot para a nova intenção.
-
Chame a operação
PutSession
. Defina o nome da intenção como o nome da nova intenção e defina a ação de diálogo comoDelegate
. Você também pode definir quaisquer valores de slot ou atributos de sessão necessários para a nova intenção. -
O Amazon Lex iniciará uma conversa com o usuário utilizando a nova intenção.
Retomar uma intenção anterior
Para retomar uma intenção anterior, use a operação GetSession
para obter o estado da intenção, executar a interação necessária e, depois, use a operação PutSession
para definir a intenção como seu estado de diálogo anterior.
-
Chame a operação
GetSession
. Armazene o estado da intenção. -
Execute outra interação, como cumprir uma intenção diferente.
-
Usando as informações salvas para a intenção anterior, chame a operação
PutSession
. Isso retornará o usuário para a intenção anterior no mesmo local na conversa.
Em alguns casos, pode ser necessário retomar a conversa do usuário com o bot. Por exemplo, digamos que você tenha criado um bot de atendimento ao cliente. Seu aplicativo determina que o usuário precisa conversar com um representante de atendimento ao cliente. Depois de falar com o usuário, o representante poderá direcionar a conversa de volta para o bot com as informações coletadas.
Para retomar uma sessão, use etapas semelhantes a estas:
-
Seu aplicativo determina que o usuário precisa falar com um representante de atendimento ao cliente.
-
Use a operação
GetSession
para obter o estado de diálogo atual da intenção. -
O representante de atendimento ao cliente se comunica com o usuário e resolve o problema.
-
Use a operação
PutSession
para definir o estado de diálogo da intenção. Isso pode incluir definir valores de slot, definir atributos de sessão ou alterar a intenção. -
O bot retoma a conversa com o usuário.
Validar valores de slot
Você pode validar as respostas ao bot usando seu aplicativo cliente. Se a resposta não for válida, use a operação PutSession
para obter uma nova resposta do usuário. Por exemplo, suponha que seu bot de pedido de flores só possa vender tulipas, rosas e lírios. Se o usuário pedir cravos, o aplicativo poderá fazer o seguinte:
-
Examinar o valor do slot retornado pela resposta
PostText
ouPostContent
. -
Se o valor do slot não for válido, chame a operação
PutSession
. Seu aplicativo deve limpar o valor do slot, definir o camposlotToElicit
e definir o valordialogAction.type
comoelicitSlot
. Você também poderá definir os camposmessage
emessageFormat
se desejar alterar a mensagem usada pelo Amazon Lex para obter o valor de slot.