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 regresiones después de las actualizaciones. Dialogflow proporciona métricas predefinidas para ayudarte a evaluar el rendimiento de tu agente.
Todas las métricas, excepto la latencia, requieren al menos un caso de prueba, una "respuesta de referencia" con la que Dialogflow compara el rendimiento del agente para calcularlo. Cada caso de prueba se puede medir en el contexto de un entorno, que te permite especificar diferentes versiones de manuales, flujos y herramientas que se usarán en la evaluación del rendimiento del agente.
(Opcional) Crear un entorno
Crear un entorno es opcional. Si no crea ninguna, el valor predeterminado será Borrador.
- Para crear un entorno, haga clic en Entornos en el menú de la izquierda y seleccione + Crear.
- Elige las versiones de los manuales, los flujos y las herramientas que quieras usar para medir el rendimiento del agente.
- Haz clic en Guardar para guardar el entorno.
Crear un caso de prueba
Puede crear un caso de prueba a partir de una conversación que ya tenga en su historial, crear una conversación para guardarla como caso de prueba o importar casos de prueba a Dialogflow.
Crear un caso de prueba en la consola
- En el menú de la izquierda, vaya a Historial de conversaciones.
- Para crear una conversación, activa tu agente (por ejemplo, llamando al número de teléfono del agente) 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 conforme, 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 sobre los eventos que deberían producirse a nivel de conversación. Esto puede incluir herramientas, guiones y flujos que esperas que se llamen en la conversación. Haz clic en +Añadir expectativa para añadir más expectativas. Para que las expectativas se evalúen en el orden secuencial que se indica (de arriba abajo), activa Validación secuencial.
- Haz clic en Guardar para guardar el caso de prueba.
Subir 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 prueba.
- En el menú que aparece, selecciona el archivo almacenado localmente o introduce la ruta a su segmento de Cloud Storage.
- Ahora, tus casos de prueba deberían aparecer en el menú de casos de prueba.
Ejecutar un caso de prueba
- En el menú de la izquierda, haga clic en Casos de prueba y seleccione los casos de prueba con los que quiera comparar su 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 última ejecución de prueba se muestran en cada caso de prueba de la vista Caso de prueba una vez completada la prueba:
- Similitud semántica: mide la similitud entre las conversaciones del agente y la "respuesta ideal" (las respuestas del caso de prueba). Para obtener esta métrica, se necesitan respuestas correctas. Los valores pueden ser 0 (incoherente), 0,5 (algo coherente) o 1 (muy coherente).
- Precisión de las llamadas a herramientas: 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 van de 0 a 1. Si no se usa ninguna herramienta en la conversación, la precisión se mostrará como
--
(N/A). - Latencia: el tiempo total que tarda el agente en procesar la solicitud de un usuario final y responderle (la diferencia entre el final de la expresión del usuario y el inicio de la respuesta del agente). Las unidades se expresan en segundos.
- Actualizar caso de prueba de referencia: si la última ejecución refleja los cambios esperados debido a una actualización del agente, puedes hacer clic en "Guardar como referencia" para sobrescribir el caso de prueba original.
- Filtrar y ordenar resultados: puede filtrar y ordenar los resultados de la evaluación por cualquiera de las métricas generadas o por un entorno específico. Esto resulta útil para hacer un seguimiento de los cambios en el rendimiento después de cada actualización.
Formato de casos de prueba de importación por lotes
En esta sección se describe cómo dar formato a un archivo CSV para importar casos de prueba por lotes de tu agente. El sistema lee este archivo para crear un conjunto estructurado de casos de prueba, cada uno de los cuales contiene una o varias interacciones.
Un solo caso de prueba puede abarcar varias filas del archivo CSV. La primera fila de un caso de prueba define sus propiedades generales (como el nombre y el idioma). Cada fila posterior de ese caso de prueba define un turno de ida y vuelta en la conversación (el usuario dice algo y se espera que el agente responda).
Header
El archivo CSV debe tener una fila de encabezado en 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 necesarios para la primera fila de un nuevo caso de prueba. Puedes iniciar un nuevo caso de prueba proporcionando nuevos valores de DisplayName
y LanguageCode
.
DisplayName
: el nombre del caso de prueba. Solo se rellena en la primera fila de un nuevo caso de prueba.LanguageCode
: código de idioma de la prueba (por ejemplo,en
,en-US
oes
).
Encabezados opcionales
Puede incluir cualquiera de los siguientes encabezados opcionales para proporcionar más detalles sobre sus casos de prueba. Pueden estar en cualquier orden después de las dos primeras columnas obligatorias.
Metadatos de casos de prueba
- Etiquetas: etiquetas separadas por espacios para organizar las pruebas (por ejemplo, "payments onboarding").
- Notas: notas de texto libre o una descripción del objetivo del caso de prueba.
TestCaseConfigV2.StartResource
: especifica el flujo o el manual de procedimientos con el que se iniciará la prueba.
Entrada del usuario
UserInput.Input.Text
: el texto que "escribe" el usuario en un turno determinado.UserInput.InjectedParameters
: parámetros que se insertarán en la conversación al inicio de un turno, con el formato de una cadena JSON.
Salida del agente
AgentOutput.QueryResult.ResponseMessages.Text
: El texto exacto que afirmas que ha respondido el agente.AgentOutput.QueryResult.Parameters
: los parámetros que afirmas que ha extraído el agente, con formato de cadena JSON.
Expectativas
OrderedExpectations.ExpectedFlow
: el flujo que esperas que esté activo después del turno.OrderedExpectations.ExpectedIntent
: el intent que esperas que se corresponda con el turno.OrderedExpectations.ExpectedAgentReply
: El texto con el que quieres que responda el agente. Puede ser una subcadena de la respuesta completa.OrderedExpectations.ExpectedOutputParameter
: los parámetros que quieres que se definan al final de la conversación, con el formato de una cadena JSON.
Metadatos de audio
AudioTurnMetadata
Metadatos de las pruebas basadas en audio, con formato de cadena JSON.
Crear un caso de prueba
Los casos de prueba se organizan por filas de datos.
- Para iniciar un nuevo caso de prueba, rellena la fila de metadatos correspondiente.
- Regla: Esta fila debe tener un valor en la columna
DisplayName
. - Acción: introduce los valores de
DisplayName
yLanguageCode
. También puedes añadir etiquetas, notas o unTestCaseConfigV2.StartResource
en esta fila. Las columnas de turnos de conversación (comoUserInput.Input.Text
) deben dejarse vacías en esta fila. Si usa etiquetas, separe cada etiqueta con un espacio. Ejemplo:tag1 tag2 tag3
. Si usasTestCaseConfigV2.StartResource
, añade el prefijostart_flow:
ostart_playbook:
al nombre del recurso. Ejemplo:start_flow:projects/p/locations/l/agents/a/flows/f
.
- Regla: Esta fila debe tener un valor en la columna
- Añade un turno de conversación al caso de prueba que acabas de iniciar añadiendo una nueva fila justo debajo.
- Regla: la columna
DisplayName
debe estar vacía. Esto indica al analizador que se trata de un turno que pertenece al caso de prueba anterior. - Acción: rellena las columnas que describen la acción del usuario y la respuesta esperada del agente en este turno, como
UserInput.Input.Text
yOrderedExpectations.ExpectedAgentReply
. En las columnas que requieren JSON, debe proporcionar un objeto JSON válido como cadena. Ejemplo:{"param_name": "param_value", "number_param": 123}
.
- Regla: la columna