Cómo establecer atributos de solicitud para su bot Lex V2
Los atributos de solicitud contienen información específica de solicitud y se aplican únicamente a la solicitud actual. Una aplicación cliente envía esta información a . Utilice los atributos de solicitud para pasar información que no tiene por qué persistir durante toda la sesión. Puede crear sus propios atributos de solicitud o utilizar atributos predefinidos. Para enviar atributos de solicitud, utilice el encabezado de x-amz-lex-request-attributes en el campo RecognizeUtterance o requestAttributes en una solicitud RecognizeText. Dado que los atributos de solicitud no persisten en las solicitudes como atributos de sesión, no se devuelven en las respuestas RecognizeUtterance o RecognizeText.
nota
Para enviar información que persiste en las solicitudes, utilice atributos de sesión.
Cómo establecer atributos de solicitud definidos por el usuario para cada solicitud del bot Lex V2
Un atributo de solicitud definido por el usuario es un dato que se envía al bot en cada solicitud. La información se envía en el encabezado de amz-lex-request-attributes de una solicitud RecognizeUtterance o en el campo requestAttributes de una solicitud RecognizeText.
Para enviar atributos de solicitud a , cree una asignación de cadena a cadena de los atributos. A continuación, se muestra cómo asignar atributos de solicitud:
{ "attributeName": "attributeValue", "attributeName": "attributeValue" }
Para la operación PostText, debe insertar la asignación en el cuerpo de la solicitud utilizando el campo requestAttributes, de la siguiente manera:
"requestAttributes": { "attributeName": "attributeValue", "attributeName": "attributeValue" }
Para la operación PostContent, hay que codificar en base64 la asignación y luego enviarla como el encabezado de x-amz-lex-request-attributes.
Si va a enviar datos binarios o estructurados en un atributo de solicitud, primero debe transformar los datos en una cadena sencilla. Para obtener más información, consulte Cómo establecer atributos complejos en su bot Lex V2.
Amazon Lex V2 proporciona atributos de solicitud predefinidos para administrar la forma en que procesa la información enviada al bot. Los atributos no persisten en toda la sesión, por lo que debe enviar los atributos predefinidos en cada solicitud. Todos los atributos predefinidos se encuentran en el espacio de nombres x-amz-lex:.
Además de los siguientes atributos predefinidos, Amazon Lex también proporciona atributos predefinidos para plataformas de mensajería. Para obtener una lista de esos atributos, consulte Implementación de un bot de Amazon Lex en una plataforma de mensajería.
Configuración del tipo de respuesta
Si tiene dos aplicaciones cliente que tienen capacidades diferentes, es posible que necesite limitar el formato de los mensajes en una respuesta. Por ejemplo, es recomendable que restrinja los mensajes enviados a un cliente web a texto sin formato, pero permita que un cliente móvil use texto sin formato y Speech Synthesis SSML Markup Language (SSML). Para establecer el formato de los mensajes que devuelven las operaciones PostContent y PostText, use el atributo de solicitud x-amz-lex:accept-content-types.
Puede configurar el atributo en cualquier combinación de los siguientes tipos de mensajes:
-
PlainText: es el mensaje que contiene texto UTF-8 sin formato. -
SSML: es el mensaje que contiene texto con formato para salida de voz. -
CustomPayload: es el mensaje que contiene un formato personalizado que ha creado para el cliente. Puede definir la carga para satisfacer las necesidades de su aplicación.
Amazon Lex V2 devuelve únicamente los mensajes con el tipo especificado en el campo Mensaje de la respuesta. Puede configurar más de un valor mediante la separación de los valores con una coma. Si utiliza grupos de mensajes, cada uno debe contener al menos un mensaje del tipo especificado. De lo contrario, obtendrá un error NoUsableMessageException. Para obtener más información, consulte Grupos de mensajes.
Establecimiento de atributos de solicitud predefinidos para su bot de Lex V2
Amazon Lex V2 proporciona atributos de solicitud predefinidos para administrar la forma en que procesa la información enviada al bot. Los atributos no persisten en toda la sesión, por lo que debe enviar los atributos predefinidos en cada solicitud. Todos los atributos predefinidos se encuentran en el espacio de nombres x-amz-lex:.
Desactivación de los interruptores de intención en su bot de Lex V2
Para controlar si los usuarios pueden cambiar de intención durante la confirmación de la intención o la obtención de ranuras, utiliza el atributo de solicitud x-amz-lex:intent-switch. Si se establece en DISABLE, este atributo evita que los usuarios activen una intención diferente mientras están completando el flujo de intenciones actual.
Por ejemplo, si un usuario está reservando un vuelo y se le piden los detalles del vuelo, se ignorarán las peticiones del tipo “consulta el tiempo” o “reserva un hotel”, que normalmente podrían generar más intentos, para garantizar que la conversación se centre en el proceso de reserva actual.