Definição de atributos de solicitação para seu bot do Lex V2 - Guia do desenvolvedor

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á.

Definição de atributos de solicitação para seu bot do Lex V2

Atributos de solicitação contêm informações específicas da solicitação e aplicam-se apenas à solicitação atual. Um aplicativo cliente envia essas informações para o Amazon Lex V2. Use atributos de solicitação para passar informações que não precisam ser mantidas durante toda a sessão. Você pode criar seus próprios atributos de solicitação ou usar atributos predefinidos. Para enviar atributos de solicitação, use o cabeçalho x-amz-lex-request-attributes em uma RecognizeUtterance ou no campo requestAttributes em uma solicitação RecognizeText. Como os atributos de solicitação não são persistentes entre as solicitações como os atributos de sessão, eles não são retornados em respostas RecognizeUtterance ou RecognizeText.

nota

Para enviar informações que são mantidas nas solicitações, use atributos de sessão.

Definição e atributos de solicitação definidos pelo usuário para cada solicitação de bot do Lex V2

O atributo de solicitação definido pelo usuário são os dados que você envia para seu bot em cada solicitação. Você enviar as informações no cabeçalho amz-lex-request-attributes de uma solicitação RecognizeUtterance ou no campo requestAttributes de uma solicitação RecognizeText.

Para enviar atributos de solicitação para o Amazon Lex V2, você cria um string-to-string mapa dos atributos. As considerações a seguir mostram como mapear atributos de solicitação:

{ "attributeName": "attributeValue", "attributeName": "attributeValue" }

Para a operação PostText, insira o mapa no corpo da solicitação usando o campo requestAttributes, como a seguir:

"requestAttributes": { "attributeName": "attributeValue", "attributeName": "attributeValue" }

Para a operação PostContent, codifique o mapa em base64 e o envie como o cabeçalho x-amz-lex-request-attributes.

Se você está enviando dados binários ou estruturados em um atributo de solicitação, você deve primeiro transformar os dados em uma string simples. Para obter mais informações, consulte Definição de atributos complexos no seu bot do Lex V2.

O Amazon Lex V2 fornece atributos de solicitação predefinidos para gerenciar a maneira como ele processa informações enviadas para o bot. Os atributos não são mantidos durante toda a sessão. Por isso, você deve enviar os atributos predefinidos em cada solicitação. Todos os atributos predefinidos estão no namespace x-amz-lex:.

Além dos atributos predefinidos a seguir, o Amazon Lex fornece atributos predefinidos para plataformas de sistemas de mensagens. Para obter uma lista desses atributos, consulte Implantação de um bot do Amazon Lex em uma plataforma do sistema de mensagens.

Como configurar o tipo de resposta

Se tiver dois aplicativos clientes com diferentes recursos, talvez seja necessário restringir o formato das mensagens em uma resposta. Por exemplo, talvez você queira restringir as mensagens enviadas a um cliente web a textos sem formatação, mas permitir que um cliente móvel use o texto sem formatação e Speech Synthesis Markup Language (SSML). Para definir o formato das mensagens retornadas pelas PostText operações PostContent e, use o atributo de solicitação x-amz-lex:accept-content-types”.

Você pode definir o atributo para qualquer combinação dos seguintes tipos de mensagem:

  • PlainText: a mensagem contém texto UTF-8 sem formatação.

  • SSML: a mensagem contém texto formatado para saída de voz.

  • CustomPayload: a mensagem contém um formato personalizado criado por você para o cliente. Você pode definir a carga útil para atender às necessidades de seu aplicativo.

O Amazon Lex V2 só retorna mensagens com o tipo especificado no campo Mensagem da resposta. Você pode definir mais de um valor. Para isso, separe os valores com uma vírgula. Se estiver usando grupos de mensagens, cada um deverá conter pelo menos uma mensagem do tipo especificado. Do contrário, você receberá um erro NoUsableMessageException. Para obter mais informações, consulte Grupos de mensagens.

Definição dos atributos de solicitação predefinidos no bot do Lex V2

O Amazon Lex V2 fornece atributos de solicitação predefinidos para gerenciar a maneira como ele processa informações enviadas para o bot. Os atributos não são mantidos durante toda a sessão. Por isso, você deve enviar os atributos predefinidos em cada solicitação. Todos os atributos predefinidos estão no namespace x-amz-lex:.

Desativação dos comutadores de intenção no bot do Lex V2

Para controlar se os usuários podem alternar intenções durante a confirmação da intenção ou a elicitação do slot, use o atributo de solicitação x-amz-lex:intent-switch. Quando definido como DISABLE, esse atributo evita que os usuários disparem uma intenção diferente enquanto estiverem em meio à conclusão do fluxo de intenções atual.

Por exemplo, se um usuário estiver no processo de reserva de um voo e os detalhes do voo forem solicitados, enunciados como “verificar a previsão do tempo” ou “reservar hotel”, que normalmente podem disparar outras intenções, serão ignorados, garantindo que a conversa permaneça concentrada no processo de reserva atual.