En este documento se describen los aspectos básicos del uso de los flujos de agentes conversacionales (Dialogflow CX) para crear un agente. Ofrece un resumen de los conceptos más importantes.
Agentes
Un agente conversacional (Dialogflow CX) es un agente virtual que gestiona conversaciones simultáneas con tus usuarios finales. Es un módulo de comprensión del lenguaje natural que entiende los matices del lenguaje humano. Los agentes conversacionales (Dialogflow CX) traducen el texto o el audio de los usuarios finales durante una conversación en datos estructurados que tus aplicaciones y servicios pueden entender. Diseñas y creas un agente de Conversational Agents (Dialogflow CX) para gestionar los tipos de conversaciones que requiere tu sistema.
Un agente de Conversational Agents (Dialogflow CX) es similar a un agente humano de un centro de llamadas. Entrénalos a ambos para que gestionen las situaciones de conversación previstas. No es necesario que el entrenamiento sea demasiado explícito.
Flows
Los diálogos complejos suelen incluir varios temas de conversación. Por ejemplo, un agente de reparto de pizzas puede tener pedidos de comida, información de clientes y confirmaciones como temas distintos. Cada tema requiere varias interacciones para que un agente obtenga la información pertinente del usuario final.
Los flujos se usan para definir estos temas y las rutas de conversación asociadas. Todos los agentes tienen un flujo llamado Flujo de inicio predeterminado. Este único flujo puede ser todo lo que necesites para un agente sencillo. Los agentes más complejos pueden requerir flujos adicionales, y diferentes miembros del equipo de desarrollo pueden encargarse de crear y mantener estos flujos. Por ejemplo, los flujos de un agente de reparto de pizzas pueden tener el siguiente aspecto:Páginas
Una conversación (sesión) de Conversational Agents (Dialogflow CX) se puede describir y visualizar como una máquina de estados. Los estados de una sesión se representan mediante páginas.
En cada flujo, defines muchas páginas, donde las páginas combinadas pueden gestionar una conversación completa sobre los temas para los que se ha diseñado el flujo. En cualquier momento, solo una página es la página actual, la página actual se considera activa y el flujo asociado a esa página se considera activo. Cada flujo tiene una página de inicio especial. Cuando un flujo se activa por primera vez, la página de inicio se convierte en la página actual. En cada turno de conversación, la página actual se mantendrá igual o cambiará a otra página.
Configure cada página para recoger información del usuario final que sea relevante para el estado de la conversación representado por la página. Por ejemplo, puedes crear las páginas (en azul) del diagrama de abajo para el flujo Pedido de comida de un agente de reparto de pizzas. El nodo Inicio del diagrama representa la página de inicio del flujo Pedido de comida. Cuando se complete el flujo, se pasará al flujo Confirmación.
Tipos de entidad
Los tipos de entidad se usan para controlar cómo se extraen los datos de las entradas de los usuarios finales.Conversational Agents (Dialogflow CX) proporciona entidades de sistema predefinidas que pueden coincidir con muchos tipos de datos habituales. Por ejemplo, hay entidades de sistema para buscar coincidencias de fechas, horas, colores, direcciones de correo electrónico, etc. También puedes crear tus propias entidades personalizadas para que coincidan con datos personalizados. Por ejemplo, puedes definir una entidad de verdura que pueda coincidir con los tipos de verduras disponibles para comprar con un agente de una tienda de comestibles.
Parámetros
Los parámetros se usan para registrar y hacer referencia a los valores que ha proporcionado el usuario final durante una sesión. Cada parámetro tiene un nombre y un tipo de entidad. A diferencia de las entradas sin procesar de los usuarios finales, los parámetros son datos estructurados que se pueden usar fácilmente para realizar alguna lógica o generar respuestas.Formularios
En cada página, puede definir un formulario, que es una lista de parámetros que se deben recoger del usuario final en la página. El agente interactúa con el usuario final durante varias conversaciones hasta que ha recogido todos los parámetros de formulario necesarios, también conocidos como parámetros de página. El agente recoge estos parámetros en el orden definido en la página. Por cada parámetro de formulario obligatorio, también debe proporcionar peticiones que el agente usa para solicitar esa información al usuario final. Este proceso se denomina relleno de formularios.
Por ejemplo, puede crear un formulario que recoja el nombre y el número de teléfono del usuario final para una página Collect Customer Info
.
Intents
Un intent categoriza la intención de un usuario final en un turno de conversación.
Una intención contiene los siguientes datos:
Término | Definición |
---|---|
Nombre visible | Nombre que se muestra en la consola de la intención. |
Etiquetas | Etiquetas que ayudan a clasificar las intenciones. Por ejemplo, intención principal. |
Frases de preparación | Las frases de entrenamiento son frases de ejemplo de lo que pueden escribir o decir los usuarios finales, lo que se conoce como entrada de usuario final. Cuando la entrada del usuario final se parece a una de estas frases, los agentes conversacionales (Dialogflow CX) la asocian con la intención. No tienes que definir todos los ejemplos posibles, ya que el aprendizaje automático integrado de Conversational Agents (Dialogflow CX) amplía tu lista con otras frases similares. |
Parámetros | Defines las frases de entrenamiento para usar parámetros y extraer valores de partes específicas de la entrada del usuario final. |
Patrones DTMF | Consulta DTMF para integraciones de telefonía. |
Webhook
Los webhooks son servicios que alojan la lógica de tu empresa o llaman a otros servicios. Durante una sesión, los webhooks te permiten usar los datos extraídos por el procesamiento del lenguaje natural de los agentes conversacionales (Dialogflow CX) para generar respuestas dinámicas, validar los datos recogidos o activar acciones en el backend.Un webhook puede ser un webhook estándar o un webhook flexible. Con un webhook estándar, los campos de solicitud y respuesta los definen los agentes conversacionales (Dialogflow CX). Con un webhook flexible, puedes definir los campos de solicitud y respuesta.
Fulfillment
En el turno de conversación de un agente, este debe responder al usuario final con la respuesta a una pregunta, una consulta de información o la finalización de la sesión. Es posible que tu agente también tenga que ponerse en contacto con tu servicio para generar respuestas dinámicas o llevar a cabo acciones en un turno. Fulfillment se usa para conseguir todo esto.
Una respuesta puede contener cualquiera de los siguientes elementos:
- Mensajes de respuesta estáticos.
- Llamadas de webhook para obtener respuestas dinámicas o realizar acciones.
- Preajustes de parámetros para definir o anular valores de parámetros.
Durante el turno de un agente, es posible (y a veces recomendable) llamar a varias implementaciones, cada una de las cuales puede generar un mensaje de respuesta. Conversational Agents (Dialogflow CX) mantiene estas respuestas en una cola de respuestas. Una vez que termina el turno del agente, los agentes conversacionales (Dialogflow CX) envían las respuestas ordenadas al usuario final.
Controladores de estado
Los gestores de estado, también llamados gestores, se usan para controlar la conversación creando respuestas para los usuarios finales o cambiando de página. En cada turno de conversación, se evalúan los controladores, que pueden afectar a la sesión. Los controladores tienen tres tipos generales de datos:Término | Definición |
---|---|
Requisitos del controlador | Estos son los requisitos que se deben cumplir para que el controlador tenga algún efecto en la sesión. Se dice que se llama a un controlador cuando cumple sus requisitos y afecta a la sesión de alguna forma. |
Procesamiento de controladores | Si se llama a un controlador, se usa un cumplimiento opcional para crear respuestas para los usuarios finales. Estas respuestas se definen en datos de agente estáticos o se obtienen de forma dinámica de tu servicio de webhook. |
Destino de transición del controlador | Si se llama a un controlador, se usa un destino de transición opcional para cambiar la página actual. La página siguiente solo puede ser una página de inicio de flujo o una página del flujo activo. |
Hay dos tipos de controladores de estado con requisitos diferentes:
Término | Definición |
---|---|
Rutas | Se llama a Routes cuando la entrada de un usuario final coincide con un intent o se cumple alguna condition en el estado de la sesión. Una ruta con un requisito de intención también se denomina ruta de intención. Una ruta que solo tiene un requisito de condición también se denomina ruta de condición. |
Gestores de eventos | Los gestores de eventos se llaman cuando se invoca un evento. Algunos eventos integrados se activan cuando se recibe una entrada inesperada del usuario final o cuando se produce un error de webhook. También puedes definir eventos personalizados que se activen cuando ocurra algo fuera de la conversación. |
El procesamiento de un controlador de estado consta de tres pasos:
Término | Definición |
---|---|
1. Ámbito | Un controlador debe estar en el ámbito para que tenga algún efecto en la sesión. El ámbito se determina en función de si se aplica un controlador a un flujo, una página o un parámetro de formulario, y de si el flujo asociado está activo, la página asociada está activa o el agente está intentando rellenar el parámetro de formulario asociado. |
2. Evaluación | Cada controlador del ámbito se evalúa en orden. Si se cumplen los requisitos de un controlador, se supera la evaluación. |
3. Llamada | Si un controlador está en el ámbito y supera la evaluación, se llama. Se llama a cualquier fulfillment asociado y se aplica a la sesión cualquier destino de transición asociado. |
Configuración de ubicación y regional
Cuando creas un agente, debes especificar una región como ubicación del agente. Los servicios de Google gestionan las solicitudes enviadas a tu agente en esta región y los agentes conversacionales (Dialogflow CX) conservan los datos en reposo físicamente en la región o ubicación geográfica. Para obtener el mejor rendimiento, debes elegir una región que esté cerca de tus servicios y usuarios finales.
Una vez que se crea un agente, no se puede cambiar su ubicación. Para cambiar la ubicación de un agente, debes exportar y restaurar a un nuevo agente con una ubicación diferente.
Cada ubicación tiene ajustes asociados que se aplican a todo el proyecto. En la mayoría de los casos, no es necesario editar estos ajustes de ubicación y la configuración predeterminada funcionará correctamente. Si su sistema requiere claves de cifrado gestionadas por el cliente (a menudo, las exigen las entidades públicas o los sectores regulados), consulte más información sobre los ajustes de ubicación.
Consola
Agentes conversacionales (Dialogflow CX) proporciona una interfaz de usuario web llamada consola de Dialogflow CX (consulta la documentación o abre la consola). Esta consola te permite crear, compilar y probar agentes. Representa cada flujo como un diagrama de máquina de estados conversacional, lo que facilita el diseño y la comprensión de agentes complejos.
La consola de Dialogflow CX es diferente de la consola de Google Cloud (consulta la documentación, abre la consola). Google Cloud La consola de Dialogflow CX se usa para gestionar agentes de Conversational Agents (Dialogflow CX), mientras que la Google Cloud consola Google Cloudse usa para gestionar ajustes específicos de Conversational Agents (Dialogflow CX) (por ejemplo, la facturación) y otros recursos de Google Cloud .
En la mayoría de los casos, debes usar la consola de Dialogflow CX para crear agentes, pero también puedes usar la API de Dialogflow para crear agentes en situaciones avanzadas.
Integraciones
Agentes conversacionales (Dialogflow CX) ofrece varias integraciones integradas con otras plataformas de conversación. Estas integraciones proporcionan una interfaz de usuario al usuario final y llaman a la API por ti. Solo tienes que crear tu agente e implementar, si quieres, un servicio webhook. Cada integración gestiona las interacciones de una forma específica de la plataforma, por lo que debes consultar la documentación de la integración concreta para obtener más información.
Interacciones
En cada turno de conversación, se produce una interacción. Durante una interacción, un usuario final envía información a Conversational Agents (Dialogflow CX) y Conversational Agents (Dialogflow CX) envía una respuesta. Tiene dos opciones para implementar su sistema de gestión de interacciones: usar la API o usar una integración.
Cuando utilices la API, tu sistema debe gestionar lo siguiente:
- Crea un agente.
- Proporcionar una interfaz de usuario para los usuarios finales.
- Llama a la API de Dialogflow en cada turno de conversación para enviar la entrada del usuario final a la API.
- A menos que las respuestas de tu agente sean puramente estáticas (lo cual es poco habitual), debes alojar un servicio de webhook para gestionar el cumplimiento habilitado para webhook.
Cuando se usa una integración, el sistema solo tiene que gestionar lo siguiente:
- Crea un agente.
- Implementa un servicio de webhook (opcional).
En el siguiente diagrama se muestran los pasos que se llevan a cabo en un turno de conversación de una sesión.
- El usuario final escribe o dice algo, lo que se conoce como entrada del usuario final.
- Tu interfaz de usuario o sistema de integración recibe la entrada y la reenvía a la API de Dialogflow en una solicitud de detección de intención.
- La API de Dialogflow recibe la solicitud de detección de intent. Coincide con la entrada de un intent o un parámetro de formulario, define los parámetros según sea necesario y actualiza el estado de la sesión. Si necesita llamar a un webhook de respuesta habilitado, envía una solicitud de webhook a tu servicio de webhook. De lo contrario, ve al paso 6.
- Tu servicio de webhook recibe la solicitud de webhook. Tu servicio realiza las acciones necesarias, como llamar a APIs externas, consultar o actualizar una base de datos, etc.
- Tu servicio de webhook crea una respuesta y envía una respuesta de webhook a Conversational Agents (Dialogflow CX).
- Conversational Agents (Dialogflow CX) crea una respuesta de detección de intención. Si se ha llamado a un webhook, se usa la respuesta proporcionada en la respuesta del webhook. Si no se ha llamado a ningún webhook, se usa la respuesta estática definida en el agente. Los agentes conversacionales (Dialogflow CX) envían una respuesta de detección de intención a tu interfaz de usuario o sistema de integración.
- Tu interfaz de usuario o sistema de integración recibe la respuesta de detección de intención y reenvía la respuesta de texto o audio al usuario final.
- El usuario final ve o escucha la respuesta.