En esta guía, se explica cómo usar la función de evaluaciones integrada en la consola de Dialogflow CX para verificar la funcionalidad de tu agente y evitar cualquier regresión después de las actualizaciones. Dialogflow CX proporciona métricas listas para usar que te ayudan a evaluar el rendimiento de tu agente.
Todas las métricas, excepto la latencia, requieren al menos un caso de prueba, una "respuesta golden" con la que Dialogflow CX compara el rendimiento del agente para calcularlo. Cada caso de prueba se puede medir en el contexto de un entorno, lo que te permite especificar diferentes versiones de manuales de estrategias, flujos y herramientas para usar en la evaluación del rendimiento del agente.
(Opcional) Crea un entorno
Crear un entorno es opcional. Si no creas uno, el valor predeterminado es Borrador.
- Para crear un entorno, haz clic en Entornos en el menú de la izquierda y selecciona + Crear.
- Elige las versiones de los manuales de estrategias, los flujos y las herramientas que deseas usar para medir el rendimiento del agente.
- Haz clic en Guardar para guardar el entorno.
Crea un caso de prueba
Tienes la opción de crear un caso de prueba a partir de una conversación existente en tu historial de conversaciones, crear una conversación nueva para guardar como caso de prueba o importar casos de prueba a Dialogflow CX.
Crea un caso de prueba en la consola
- Navega a Historial de conversaciones en el menú de la izquierda.
- Para crear una conversación nueva, activa tu agente (por ejemplo, llamando a su número de teléfono) para crear una conversación en el historial de conversaciones. Cuando tengas una conversación que quieras usar como caso de prueba, selecciónala.
- Consulta la conversación y verifica las respuestas del agente, las herramientas invocadas y cómo suena cada respuesta. Cuando estés satisfecho, haz clic en Crear caso de prueba en la esquina superior derecha de la ventana.
- Proporciona un nombre visible para el caso de prueba y especifica tus expectativas de los eventos que deberían ocurrir a nivel de la conversación. Esto puede incluir herramientas, manuales de estrategias y flujos que esperas que se llamen dentro de la conversación. Haz clic en \+ Agregar expectativa para agregar más expectativas. Para que las expectativas se evalúen en orden secuencial como se indica (de arriba hacia abajo), activa Validación secuencial.
- Haz clic en Guardar para guardar el caso de prueba.
Sube casos de prueba
- Los casos de prueba deben estar en el siguiente formato CSV.
- Para subir casos de prueba al sistema, haz clic en Importar en la parte superior del menú de casos de texto.
- En el menú que aparece, selecciona el archivo almacenado de forma local o ingresa la ruta de acceso a su bucket de Cloud Storage.
- Tus casos de prueba ahora deberían aparecer en el menú de casos de prueba.
Ejecuta un caso de prueba
- Haz clic en Casos de prueba en el menú de la izquierda y selecciona los casos de prueba con los que deseas comparar tu agente. Puede ser un solo caso de prueba o varios.
- Haz clic en Ejecutar casos de prueba seleccionados.
Resultados de la prueba
- Acceder a los resultados: Los resultados de la ejecución de la prueba más reciente se muestran para cada
caso de prueba en la vista Caso de prueba después de la finalización:
- Similitud semántica: Mide qué tan similares fueron las conversaciones del agente en comparación con la "respuesta golden" (respuestas en el caso de prueba). Se requieren respuestas golden para recibir esta métrica. Los valores pueden ser 0 (incoherente), 0.5 (algo coherente) o 1 (muy coherente).
- Precisión de la llamada a la herramienta: Es un valor que refleja la fidelidad con la que la
conversación incluye las herramientas que se espera que se invoquen durante
la conversación. Los valores varían de 0 a 1. Si no se usan herramientas en la
conversación, la precisión se mostrará como
--(N/A). - Latencia: Es el tiempo total que tarda el agente en procesar una solicitud del usuario final y responderle (la diferencia entre el final de la expresión del usuario y el comienzo de la respuesta del agente). Las unidades están en segundos.
- Actualizar caso de prueba golden: Si la ejecución más reciente refleja los cambios esperados debido a una actualización del agente, puedes hacer clic en "Guardar como golden" para reemplazar el caso de prueba original.
- Filtrar y ordenar resultados: Puedes filtrar y ordenar los resultados de la evaluación por cualquiera de las métricas generadas o por un entorno específico. Esto es útil para hacer un seguimiento de los cambios en el rendimiento después de cada actualización.
Formato de importación por lotes de casos de prueba
En esta sección, se describe cómo dar formato a un archivo CSV para importar casos de prueba por lotes para tu agente. El sistema lee este archivo para crear un conjunto estructurado de casos de prueba, cada uno de los cuales contiene uno o más turnos de conversación.
Un solo caso de prueba puede abarcar varias filas en el archivo CSV. La primera fila de un caso de prueba define sus propiedades generales (como su nombre y su idioma). Cada fila posterior de ese caso de prueba define un solo turno de ida y vuelta en la conversación (el usuario dice algo y se espera que el agente responda).
Encabezado
El archivo CSV debe tener una fila de encabezado como la primera línea. Este encabezado define los datos de cada columna.
Encabezados obligatorios
Los dos encabezados obligatorios deben estar en el orden que se muestra. Ambos son obligatorios para la primera fila de un caso de prueba nuevo. Puedes iniciar un caso de prueba nuevo si proporcionas valores nuevos de DisplayName y LanguageCode.
DisplayName: El nombre de tu caso de prueba Solo se completa para la primera fila de un caso de prueba nuevo.LanguageCode: El código de idioma de la prueba (por ejemplo,en,en-US,es)
Encabezados opcionales
Puedes incluir cualquiera de los siguientes encabezados opcionales para proporcionar más detalles sobre tus casos de prueba. Pueden estar en cualquier orden después de las dos primeras columnas obligatorias.
Metadatos del caso de prueba
- Etiquetas: Etiquetas separadas por espacios para organizar pruebas (por ejemplo, "incorporación de pagos")
- Notas: Notas de texto libre o una descripción del propósito del caso de prueba
TestCaseConfigV2.StartResource: Especifica el flujo o el manual de estrategias con el que se iniciará la prueba.
Entrada del usuario
UserInput.Input.Text: El texto que el usuario "escribe" para un turno determinadoUserInput.InjectedParameters: Parámetros para insertar en la conversación al comienzo de un turno, con formato de cadena JSON
Salida del agente
AgentOutput.QueryResult.ResponseMessages.Text: El texto exacto con el que afirmas que respondió el agenteAgentOutput.QueryResult.Parameters: Los parámetros que afirmas que extrajo el agente, con formato de cadena JSON
Expectativas
OrderedExpectations.ExpectedFlow: El flujo que esperas que esté activo después del turnoOrderedExpectations.ExpectedIntent: El intent que esperas que coincida con el turnoOrderedExpectations.ExpectedAgentReply: El texto con el que esperas que responda el agente Puede ser una subcadena de la respuesta completa.OrderedExpectations.ExpectedOutputParameter: Los parámetros que esperas que se establezcan al final del turno, con formato de cadena JSON
Metadatos de audio
AudioTurnMetadataMetadatos para pruebas basadas en audio, con formato de cadena JSON
Compila un caso de prueba
Los casos de prueba se organizan por filas de datos.
- Para iniciar un caso de prueba nuevo, completa su fila de metadatos.
- Regla: Esta fila debe tener un valor en la columna
DisplayName. - Acción: Ingresa valores para
DisplayNameyLanguageCode. También puedes agregar etiquetas, notas o unTestCaseConfigV2.StartResourceen esta fila. Las columnas de turnos de conversación (comoUserInput.Input.Text) deben dejarse vacías en esta fila. Si usas etiquetas, separa cada etiqueta con un espacio. Ejemplo:tag1 tag2 tag3. Si usasTestCaseConfigV2.StartResource, antepón el nombre del recurso constart_flow:ostart_playbook:. Ejemplo:start_flow:projects/p/locations/l/agents/a/flows/f.
- Regla: Esta fila debe tener un valor en la columna
- Para agregar un turno de conversación al caso de prueba que acabas de iniciar, agrega una fila nueva inmediatamente debajo.
- Regla: La columna
DisplayNamedebe estar vacía. Esto le indica al analizador que es un turno que pertenece al caso de prueba anterior. - Acción: Completa las columnas que describen la acción del usuario y la
respuesta esperada del agente para este turno, como
UserInput.Input.TextyOrderedExpectations.ExpectedAgentReply. Para las columnas que requieren JSON, debes proporcionar un objeto JSON válido como una cadena. Ejemplo:{"param_name": "param_value", "number_param": 123}.
- Regla: La columna