Configure el cumplimiento para agentes de IA con script
En el contexto de los agentes de IA, el cumplimiento se refiere a la ejecución de tareas que implican interactuar con sistemas externos para recuperar, manipular o almacenar datos a través de API. En este artículo se describe el agente de ejemplo creado para los paquetes de seguimiento. Puede usar esta plantilla de agente al crear un nuevo agente de IA para interacciones digitales y de voz.
Para los canales digitales, el cumplimiento debe orquestarse a través del flujo de conexión utilizado para implementar el agente de IA. Tomando el ejemplo de un agente de seguimiento de paquetes, que puede importar desde una plantilla mientras crea un nuevo agente con scripts, el flujo también está disponible para importar mientras crea un nuevo flujo Webex Connect. Además del cumplimiento, este flujo de conexión también dirige al usuario a diferentes colas de agentes en función de su última intención.
-
Una vez que termine de configurar el agente con script, identifique las respuestas que requieren cumplimiento.
En el agente de ejemplo, se requiere cumplimiento para 'trackPackageResponse'.
-
En estas plantillas, configure una "respuesta en espera" que se mostrará al usuario mientras se realiza el cumplimiento.
En este ejemplo, se configura una respuesta en espera para 'trackPackageResponse'.
-
En el flujo, utilice un nodo Data Parser para analizar los metadatos de sesión del agente (variable de salida) de la respuesta del agente de IA para obtener el nombre de la respuesta.
Puede obtener la entrada de ejemplo para el nodo analizador de datos descargando información de transacción de las sesiones seleccionando la transacción adecuada y seleccionando el valor de la clave 'generatedDf' del archivo descargado.
-
Si desea realizar un enrutamiento basado en la intención en el momento de la entrega del agente, puede obtener el valor de la intención activa anterior en el mismo paso.
-
Si no desea descargar y analizar el JSON de ejemplo, puede usar
\$.model_state.template_key
para el nombre de la respuesta y\$.previous_intent_model_state.intent.name
para el nombre de intención anterior.En nuestro ejemplo, usamos las variables de flujo 'responseKey' y 'previousIntent' para estos valores.
-
Utilice un nodo de sucursal para comprobar si es necesario completar una respuesta.
-
El nodo de rama sale a través del resultado del nodo 'Ninguno de los anteriores' para las respuestas que no requieren cumplimiento.
-
En nuestro ejemplo, dado que es necesario cumplir con 'trackPackageResponse', compruebe el valor de 'responseKey' en nuestro nodo de rama.
-
-
Para las respuestas que requieren cumplimiento, use un nodo HTTP para realizar llamadas API externas.
-
Puede analizar información útil de la respuesta del nodo HTTP en el mismo nodo importando una muestra y obteniendo variables de salida.
-
En este ejemplo, obtenemos 'estimatedDelivery' y 'status' del paquete.
-
-
Procese la respuesta de cumplimiento mediante un nodo Evaluar para formular la respuesta del agente.
En nuestro ejemplo, inicializamos la variable 'fulfilmentResp' y establecemos su valor en función del estado del paquete y la entrega estimada.
-
Envía la respuesta de preparación al usuario y anexa a la conversación.
-
Vuelva al nodo Recibir para mantener la conversación entre el usuario y el agente de IA.
Traspaso de agentes basado en intención
En el momento del traspaso del agente, compruebe la última intención activa a través de un nodo de sucursal antes del nodo de tarea Cola.
Compruebe el valor de 'previousIntent' y bifurque a diferentes colas en función de sus requisitos. En este ejemplo, si el cliente solicita la entrega de un agente después de la intención 'Track Package', diríjalo a la cola 'Especialista'. Todos los demás valores conducen a una transferencia a la cola 'Chat'.
Para los canales de voz, el cumplimiento debe orquestarse devolviendo el control de la conversación al flujo de voz a través de eventos personalizados y, posteriormente, reanudando la conversación del agente de IA con los datos de cumplimiento. Para ello, se reutiliza el agente con scripts de ejemplo para el seguimiento de paquetes. El flujo está disponible en 'Importar desde plantillas' en el Diseñador de flujo Webex Contact Center. Además del cumplimiento, este flujo también dirige al usuario a diferentes colas de agentes en función de su última intención.
Guía paso a paso: Cumplimiento
-
Agregue el tipo de respuesta 'Evento personalizado'.
-
Busque la clave de plantilla para la que desea agregar el evento personalizado. En este caso, utilice la clave de plantilla 'trackPackageResponse'.
-
Agregue el tipo de respuesta 'evento personalizado' a la clave de plantilla.
-
-
Configure la respuesta de evento personalizado.
-
Agregar nombre de evento y carga útil de evento:
-
Para la respuesta de evento personalizada, proporcione un nombre de evento. En este caso, 'TrackPack_Exit'.
-
Agregue la carga útil del evento, que contiene los datos que se pasarán al flujo. Debe estar en formato JSON. En este ejemplo,
{"PackageNumber":"${entity. PackageNum}"}
.
-
-
-
Utilice la carga útil de eventos en el flujo.
- Acceda a los metadatos de actividad de Virtual Agent V2 :
En la configuración de flujo de voz, la carga de eventos que agregó está disponible como parte de los metadatos de actividad de Virtual Agent V2 .
Cree la variable de flujo PackageNum.
Utilice una actividad Parse para seleccionar los metadatos de actividad de Virtual Agent V2 como variable de entrada.
Establezca la variable de salida en 'PackageNum' y su expresión de ruta en '$. PackageNum' (basado en la estructura de la carga útil de eventos configurada en la respuesta del agente).
- Utilice la actividad Metadatos en HTTP :
Utilice la variable 'PackageNum' de los metadatos procesados en su flujo para realizar un seguimiento del paquete.
Importe el flujo adjunto para encontrar los detalles de la actividad HTTP .
Defina las variables de flujo 'estimatedDelivery' y establézcalas en '$.estimated_delivery' y otra variable de flujo 'packStatus' y establézcalas en $.status.
- Agregue condiciones basadas en la actividad HTTP :
Agregue una nueva actividad de condición al flujo. Esta actividad se utiliza para comprobar la respuesta de la actividad HTTP (si el paquete existe y su estado).
En este ejemplo, la expresión
{{ HTTPRequest_8l3.httpStatusCode == 404 }}
se utiliza para comprobar si no se encontró ningún paquete.
- Acceda a los metadatos de actividad de Virtual Agent V2 :
- Agregar actividad Establecer variable basada en condiciones:
Para la condición para la que no existe el paquete:
- En la rama donde no se encuentra ningún paquete, agregue una actividad Establecer variable .
- Establezca packageResp (otra variable de flujo) en:
No se encontró ningún paquete con estos detalles.
Para la condición para la que existe el paquete:
- En la rama donde se encuentra un paquete (es decir, el código de estado HTTP no es igual a 404), agregue otra actividad Set Variable .
Establezca packageResp (otra variable de flujo) en:
Su paquete ha sido recogido. Será entregado por {{estimatedDelivery}}.
Agregue dos actividades más Establecer variable para configurar el nombre y los datos del evento. Estos datos se pasarán a la actividad del agente virtual V2.
Crear variables de flujo event_name y event_data.
Establezca event_name en TrackPack_Entry y event_data en {'packageResp': '{{packageResp}}' | json}.
-
Vuelva a la actividad del agente virtual V2 :
- Configure la actividad del agente virtual V2:
Conecte la actividad Establecer variable final a la actividad del agente virtual V2.
Establezca el nombre del evento en {{event_name}}.
Establezca los datos del evento en {{event_data}}.
- Configure la actividad del agente virtual V2:
-
Controlar eventos entrantes en el agente virtual:
-
Agregue una nueva clave de plantilla:
-
Vaya a las Respuestas Tab en el panel izquierdo.
-
Agregue una nueva clave de plantilla denominada packageStatus.
-
-
Configurar evento entrante:
-
En el canal de voz, establezca el evento entrante en TrackPack_Entry (o lo que se haya enviado a la actividad del agente virtual V2 en el flujo).
-
-
Configure la respuesta:
-
Establezca la respuesta en: <speak> <say-as interpret-as="date"> ${eventStore.packageResp} </say-as>. ¿Puedo ayudarte con algo más?</speak>
Esta respuesta utiliza las variables enviadas en la carga útil desde el flujo. Cualquier variable enviada como parte de los datos del evento está disponible para que los desarrolladores accedan como ${eventStore.<variable_name>}.
Esto también utiliza etiquetas SSML. En particular, la etiqueta SSML le permite controlar cómo un motor de texto a voz interpreta y pronuncia el texto. Esta etiqueta se puede usar para especificar cómo se deben pronunciar números, fechas, horas, direcciones y otro texto. Aquí lo usamos para la fecha.
-
-
Enrutamiento del agente basado en la intención anterior
-
Si la actividad de Virtual Agent V2 sale a través de la salida 'Escalated', utilice una actividad Parse para obtener la intención anterior de los metadatos del agente.
-
Utilice una actividad Case para comprobar diferentes valores de la intención anterior que determinan la lógica de cola. En este ejemplo, comprobamos si la intención anterior era 'Paquete de seguimiento'.
-
Adjunte las salidas de la actividad Case a los bordes de contacto de Cola adecuados.