Utilizar variables para gestionar la información de la conversación
Cuando los clientes responden a su asistente, comparten información sobre ellos mismos y sobre lo que desean. El asistente recuerda esta información, y otra información sobre una conversación, en forma de variables. El asistente puede utilizar variables para proporcionar una experiencia más personalizada y para que los usuarios encuentren rápidamente las soluciones que necesitan.
Las variables son una poderosa herramienta que puedes utilizar para construir un mejor asistente. Las variables ofrecen las ventajas siguientes:
-
Personalización. Las mejores experiencias de asistente virtual están dirigidas a cada cliente y personalizadas para él. Cuando un asistente saluda a un cliente diciendo "¡Hola, Frank! Bienvenido de nuevo," le está diciendo a Frank que recuerda su nombre y que ha hablado con él antes. Almacenando este tipo de información en variables y luego haciendo referencia a ellas en la salida del asistente, puede personalizar la conversación y ayudar a su asistente a parecer más humano.
-
Aceleración. A lo largo de una conversación, sus clientes responden a preguntas y toman decisiones. Estas respuestas de los clientes se almacenan como variables, que su asistente puede utilizar para guiar una conversación. Eligiendo los pasos correctos para no desperdiciar el tiempo de los clientes, puede guiarlos lo más rápido posible hacia la solución correcta.
-
Modularidad. Hay información que puede ser útil para muchos propósitos diferentes (por ejemplo, el saldo de la cuenta corriente o la información de contacto de un cliente). En lugar de recuperar o recalcular esta información en varias ubicaciones, puede hacerlo una sola vez, utilizando una variable para almacenar el resultado y acceder a él cuando lo necesite.
-
Privacidad. La privacidad de la información del cliente es fundamental para todas las empresas. En su asistente, puede enmascarar las variables para proteger la privacidad de la información compartida. Cuando enmascara una variable para hacerla privada, el asistente oculta la información confidencial en la entrada de usuario o en las respuestas del asistente con asteriscos en los registros de conversación.
La característica para enmascarar la información confidencial del cliente sólo está disponible para acciones en asistentes. Si está llamando a acciones desde un diálogo, el valor de privacidad está disponible en los pasos de acción pero no enmascarará la información del cliente.
Cuando la sesión de un usuario caduca durante una conversación en la integración de conversación web, el asistente pierde las variables privadas enmascaradas. Esto se debe a que la conversación web no puede copiar las variables en una nueva sesión. Para obtener más información, consulte Copiar estado de sesión.{: note}.
Una variable es simplemente un contenedor con nombre para un fragmento de información; haciendo referencia a este contenedor por su nombre, el asistente puede almacenar o recuperar la información en tiempo de ejecución. Por ejemplo, una variable llamada saldo_cuenta puede almacenar el saldo actual de la cuenta de su cliente, un valor que su asistente puede actualizar o recuperar cuando sea necesario.
Los datos almacenados por una variable se caracterizan por el tipo de datos que contiene, como por ejemplo texto, un valor numérico, una fecha o incluso una lista de varios valores. Las operaciones que puede realizar con una variable varían en función de su tipo de datos.
Variables de acción y variables de sesión
IBM® watsonx™ Assistant admite dos categorías de variables:
-
Variables de acción: cuando un paso recopila información del cliente, la respuesta del cliente se almacena automáticamente en una variable de acción. Se puede pensar en las variables de acción como una memoria a corto plazo: sólo persisten durante la acción en curso.
El nombre de una variable de acción es siempre el nombre del paso que define la respuesta del cliente. (No puede cambiar el nombre de una variable de acción). Por ejemplo, supongamos que define un paso que pregunta "¿Cuál es su fecha de nacimiento?" y acepta un valor de fecha como respuesta. La respuesta del cliente se almacena automáticamente como una variable de acción denominada
When were you born?
, a la que se puede acceder desde cualquier paso posterior de la misma acción.Puede convertir una variable de acción en privada seleccionando el recuadro de selección Proteger datos recopilados en este paso en los valores de respuesta del cliente.
-
Variables de sesión: un valor que no está necesariamente vinculado a una acción determinada se puede almacenar como variable de sesión. Las variables de sesión son memoria a largo plazo: persisten a lo largo de la interacción del usuario con el asistente, y el asistente puede hacer referencia a ellas desde cualquier acción.
Puede crear una variable de sesión para almacenar el valor de una variable de acción, si desea conservar el valor disponible para que lo utilicen otras acciones. También puede definir una variable de sesión basándose en otra variable de sesión, o utilizando un valor definido en una expresión. Además de las variables creadas por el usuario, watsonx Assistant proporciona un conjunto de variables de sesión incorporadas para valores globales como la hora y la fecha actuales.
Para ocultar la información confidencial del cliente en los registros de conversación, puede seleccionar el recuadro de selección Proteger datos almacenados en esta variable al crear o editar una variable de sesión.
Las variables de sesión pueden ayudarte a modularizar tu asistente porque puedes escribir una única acción que recoja información necesaria en múltiples lugares. Por ejemplo, es posible que tenga una acción de bienvenida que recopila información básica sobre el cliente y almacena las respuestas en variables de sesión, a las que cualquier acción puede acceder.
Una variable de sesión que cree sólo persiste durante una única sesión. Al final de la sesión, el valor de la variable se borra. La duración de una sesión depende de cómo los clientes acceden al asistente y de cómo está configurado el asistente.
Crear una variable de sesión
Para añadir una variable de sesión a la que cualquier acción pueda acceder:
-
En la página Acciones, pulse Variables > Creado por el usuario. La lista muestra todas las variables de sesión que ha creado para su asistente.
-
Pulse Nueva variable.
También puede crear una variable de sesión desde el editor de pasos. Para obtener más información, consulte Almacenar un valor en una variable de sesión.
-
En el campo Nombre, escriba un nombre para la variable de sesión.
A medida que añade el nombre, se genera automáticamente un ID. Los espacios del nombre se sustituyen por un subrayado (_) en el ID.
-
Opcional: añada un tipo para establecer el tipo de respuesta de la variable. (Para obtener más información sobre los tipos de respuesta, consulte Elección de un tipo de respuesta.)
En este campo, también puede seleccionar cualquiera de las respuestas guardadas que ha creado. Para obtener más información sobre las respuestas guardadas, consulte Guardar y reutilizar respuestas de cliente.
Además de los tipos listados, también se puede crear una variable como matriz. Para crear una variable de matriz, seleccione Cualquiera como tipo y, en el paso siguiente, defina un valor inicial que utilice la expresión
[]
para representar una matriz vacía. -
Opcional: añada un valor inicial para establecer el valor inicial de la variable al principio de cada sesión de usuario. Por ejemplo, los clientes pueden utilizar un asistente para realizar compras. Puede inicializar una variable Pago vencido con un valor inicial de 0 y, a continuación, añadir a ese valor como artículos de pedidos del cliente.
Para especificar un objeto complejo o una matriz como valor inicial, o para calcular el valor inicial basándose en otras variables, puede escribir una expresión. Para obtener más información sobre cómo escribir expresiones, consulte Cómo escribir expresiones.
-
Opcional: añada una descripción.
-
Opcional: Seleccione el recuadro de selección Proteger datos almacenados en esta variable en la sección Privacidad si la variable de sesión contiene información confidencial.
-
Haga clic en Aplicar.
Variables incorporadas
Además de las variables creadas por el usuario, watsonx Assistant proporciona un conjunto de variables incorporadas a las que puede acceder desde cualquier acción. En tiempo de ejecución, estas variables se establecen automáticamente con los valores adecuados. Por ejemplo, la variable de sesión Hora actual siempre proporciona la hora actual en el huso horario del usuario, en el momento de la interacción con el cliente.
Para ver estas variables, pulse Variables en la página Acciones.
-
La página Establecida por el asistente muestra las variables de sesión incorporadas que se proporcionan automáticamente para cada asistente.
-
La página Establecida por integración muestra las variables proporcionadas automáticamente por la integración que el cliente utiliza para conectarse al asistente. (Estas variables no se establecen si no hay ninguna integración conectada.)
Establecida por el asistente:
Nombre de variable | ID de variable | Descripción | Ejemplos |
---|---|---|---|
Desviado de | digressed_from |
Última acción antes de que el cliente digrese (o nulo si no digresión) | Pagar factura |
Ahora | now |
Fecha y hora actual en el huso horario del usuario. | 2021-08-11T11:28:02 |
Hora actual | current_time |
Hora actual en el huso horario del usuario. | 11:28:02 |
Fecha actual | current_date |
Fecha actual en el huso horario del usuario. | 2021-08-11 |
Razón de reserva | fallback_reason |
La razón por la que un usuario se direcciona a la acción de reserva | Error de validación de paso-Se ha solicitado el agente-No hay coincidencias de acción |
Ningún partido cuenta | no_action_matches_count |
Representa un recuento de intentos de entrada no reconocidos consecutivos del cliente | 3 |
Historial de sesiones IBM Cloud | historial_sesión | Los 24 mensajes más recientes de la conversación del cliente. Para obtener más información, consulte Historial de sesiones | [{u : 'book a flight', n : true}, {a : 'sure! from where?'}] |
Establecida por integración:
Nombre de variable | ID de variable | Descripción | Ejemplo |
---|---|---|---|
Huso horario | timezone |
Huso horario del usuario según lo especificado por el cliente de API o integración. El huso horario por defecto (si no lo especifica la integración) es el Tiempo Universal Coordinado. | America/New_York |
Entorno local | locale |
Entorno local del usuario establecido por el cliente de API o integración. La configuración regional puede afectar a la comprensión y el formato de fechas, horas y números. | en-gb |
Nombre de canal | channel_name |
El nombre del canal con el que está interactuando el usuario. | Web chat |
Almacenar un valor en una variable de sesión
Cualquier acción puede almacenar un valor en una variable de sesión para que esté disponible para otras acciones. Para almacenar un valor en una variable de sesión:
-
En un paso, pulse Establecer valores de variable.
-
Pulse Establecer nuevo valor.
-
En la lista desplegable Establecer, las opciones son:
Establecer valores de variable Opción Descripción Variable de sesión La variable de sesión en la que desea almacenar el valor. El nuevo valor sustituye a cualquier valor anterior que se almacene. Variable de integración La variable de sesión en la que desea almacenar el valor. El nuevo valor sustituye a cualquier valor anterior que se almacene. expression Escriba una expresión directamente sin seleccionar primero una variable. Para obtener más información, consulte Cómo escribir expresiones. + Nueva variable de sesión Puede crear una nueva variable de sesión, que se añade a la lista de variables de sesión para el asistente. Para obtener más información, consulte Creación de una variable de sesión. -
En la lista desplegable Para, las opciones varían en función del tipo de variable que esté estableciendo. Las opciones posibles son:
Establecer valores de variable Opción Descripción Valor escalar por tipo Establezca un valor específico para cada tipo de variable. La opción varía en función del tipo de variable. Por ejemplo, para una variable de fecha, la opción es Especificar una fecha y puede utilizar un selector de fechas para establecer una fecha. Otras opciones aparecen para booleano, confirmación, moneda, fecha, texto libre, número, porcentaje y hora. Expresión Escriba una expresión para definir el valor de la variable de sesión. Para obtener más información sobre expresiones, consulte Cómo escribir expresiones. Variables de acción Seleccione una variable de acción para utilizar el valor de la respuesta de un cliente en otro paso. Las opciones listadas coinciden con el tipo de variable que desea establecer. Variables de sesión Seleccione otra variable de sesión para utilizar su valor. Las opciones listadas coinciden con el tipo de variable que desea establecer. Variables de asistente Seleccione una variable de sistema incorporada para utilizar su valor. Las opciones listadas coinciden con el tipo de variable que desea establecer. Variables de integración Si está estableciendo una variable de integración, puede elegir otras variables de integración como valor. -
Para establecer más valores de variable en el mismo paso, pulse Establecer nuevo valor.
Utilizar variables para gestionar el flujo de la conversación
Uno de los usos de las variables es la elección de la ruta correcta a través de la conversación, en función de las respuestas de los clientes y otros valores disponibles en tiempo de ejecución. Puede hacerlo definiendo condiciones de paso, que determinan si se ejecuta un paso específico de una acción en función de las condiciones de tiempo de ejecución.
Definiendo una condición basada en una variable de acción, puede controlar si un paso se ejecuta en función de la respuesta del cliente a un paso anterior. También puede crear condiciones de paso basadas en variables de sesión, que pueden almacenar información de otras acciones.
Para obtener más información sobre las condiciones de paso, consulte Definir condiciones de paso.
Utilizar variables para personalizar la conversación
También puede utilizar variables en el discurso del asistente, haciendo referencia de forma dinámica a la información que se ha recopilado durante la conversación. Esto es útil para confirmar la información que el cliente ha proporcionado (por
ejemplo, You want to transfer $153.14 to your checking account. Is that correct?
) y también para personalizar la conversación a fin de hacerla más humana (Hi, John. How can I help you today?
).
Para hacer referencia a una variable en lo que el asistente dice:
-
En el campo El asistente dice, empiece a escribir el texto de la respuesta.
-
Cuando llegue a un punto en el que desee insertar una referencia a una variable, escriba un signo de dólar (
$
) o pulse el icono Insertar una variable (). Aparece una lista que muestra las variables entre las que puede elegir.
-
Pulse en una variable para añadir una referencia a ella en el texto.
Al hacer referencia a una variable, esta aparece con un formato predeterminado en la respuesta del asistente. El formato de la variable puede diferir de la forma en que se almacena el valor; por ejemplo, un valor de fecha de 2021-08-11
se formatea como August 11, 2021
por defecto.
Los formatos predeterminados son los siguientes:
Tipo | Formato | Ejemplos |
---|---|---|
Opciones | Elegido por el usuario | Yes No |
Número | Solo numerales | 1000 |
Fecha | Mmm DD, AAAA | Jun 30, 2021 |
Hora | H:MM:SS AM | 5:15:00 PM |
Moneda | Solo número, sin símbolo de moneda | 20 |
Porcentaje | Solo número, sin símbolo de porcentaje | 20 |
Texto libre | Especificado por el usuario | Please check that the apples aren't bruised |
Cuando se crea una respuesta del asistente que incluye variables, se concatenan varias partes (series de texto y variables). Una única respuesta puede constar de no más de 30 partes concatenadas (por ejemplo, 15 variables junto con 15 series de texto).
Referencias a expresiones
Si necesita hacer referencia a un valor dinámico que se calcula utilizando una expresión, primero debe asignar este valor a una variable de sesión. (Para obtener más información sobre cómo hacerlo, consulte Almacenamiento de un valor en una variable de sesión.) A continuación, puede hacer referencia a la variable de sesión en el campo Assistant dice.
Tenga en cuenta que la sintaxis de <?...?>
para hacer referencia a expresiones en la salida del asistente no está soportada en acciones.