Evaluaciones de guías

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 proporciona métricas listas para usar 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 calcular su rendimiento. Cada caso de prueba se puede medir en el contexto de un entorno, que te permite especificar diferentes versiones de los libros de jugadas, los flujos y las herramientas que se usarán en la evaluación del rendimiento del agente.

Crea un entorno (opcional)

Crear un entorno es opcional. Si no creas uno, el valor predeterminado es Borrador.

  1. Para crear un entorno, haz clic en Entornos en el menú de la izquierda y selecciona + Crear.
  2. Elige las versiones de los manuales, los flujos y las herramientas que deseas usar para medir el rendimiento del agente.
  3. 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 guardarla como caso de prueba o importar casos de prueba a Dialogflow.

Crea un caso de prueba en la consola

  1. Navega a Historial de conversaciones en el menú de la izquierda.
  2. 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.
  3. Consulta la conversación y verifica las respuestas del agente, las herramientas invocadas y el tono de cada respuesta. Cuando estés conforme, haz clic en Crear caso de prueba en la esquina superior derecha de la ventana.
  4. Proporciona un nombre visible para el caso de prueba y especifica tus expectativas sobre los eventos que deberían ocurrir a nivel de la conversación. Esto puede incluir herramientas, guiones y flujos que esperas que se llamen dentro de la conversación. Haz clic en +Add expectation para agregar más expectativas. Para que las expectativas se evalúen en el orden secuencial que se indica (de arriba abajo), activa Validación secuencial.
  5. Haz clic en Guardar para guardar el caso de prueba.

Cómo subir casos de prueba

  1. Los casos de prueba deben estar en el siguiente formato CSV.
  2. Para subir casos de prueba al sistema, haz clic en Importar en la parte superior del menú de casos de prueba.
  3. En el menú que aparece, selecciona el archivo almacenado de forma local o ingresa la ruta de acceso a su bucket de Cloud Storage.
  4. Tus casos de prueba ahora deberían aparecer en el menú de casos de prueba.

Ejecuta un caso de prueba

  1. 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.
  2. Haz clic en Run selected test cases.

Resultados de la prueba

  1. Resultados del acceso: 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 que se completa:
    1. Similitud semántica: Mide qué tan similares fueron las conversaciones del agente en comparación con la "respuesta ideal" (respuestas en el caso de prueba). Se requieren respuestas de referencia para recibir esta métrica. Los valores pueden ser 0 (inconsistente), 0.5 (algo consistente) o 1 (muy consistente).
    2. Precisión de la llamada a la herramienta: Es un valor que refleja con qué fidelidad 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).
    3. Latencia: Es 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 comienzo de la respuesta del agente). Las unidades están en segundos.
  2. 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.
  3. Filtrar y ordenar los resultados: Puedes filtrar y ordenar los resultados de la evaluación según cualquiera de las métricas generadas o según 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 darle 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 conversacionales.

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 el nombre y el idioma). Cada fila subsiguiente 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).

El archivo CSV debe tener una fila de encabezado como 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 proporcionando valores de DisplayName y LanguageCode nuevos.

  • DisplayName: El nombre de tu caso de prueba. Este campo solo se completa para la primera fila de un caso de prueba nuevo.
  • LanguageCode: 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 las 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 libro de jugadas con el que se iniciará la prueba.

Entrada del usuario

  • UserInput.Input.Text: Es el texto que el usuario "escribe" en un turno determinado.
  • UserInput.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: Es el texto exacto con el que afirmas que respondió el agente.
  • AgentOutput.QueryResult.Parameters: Son los parámetros que afirmas que extrajo el agente, con formato de cadena JSON.

Expectativas

  • OrderedExpectations.ExpectedFlow: Es el flujo que esperas que esté activo después del turno.
  • OrderedExpectations.ExpectedIntent: Es la intención que esperas que coincida con el turno.
  • OrderedExpectations.ExpectedAgentReply: Es el texto con el que esperas que responda el agente. Puede ser una subcadena de la respuesta completa.
  • OrderedExpectations.ExpectedOutputParameter: Son los parámetros que esperas que se establezcan al final del turno, con formato de cadena JSON.

Metadatos de audio

  • AudioTurnMetadata Metadatos para pruebas basadas en audio, con formato de cadena JSON.

Crea un caso de prueba

Los casos de prueba se organizan por filas de datos.

  1. Para comenzar 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 DisplayName y LanguageCode. También puedes agregar etiquetas, notas o un TestCaseConfigV2.StartResource en esta fila. Las columnas de turnos de conversación (como UserInput.Input.Text) deben dejarse vacías en esta fila. Si usas etiquetas, separa cada etiqueta con un espacio. Ejemplo: tag1 tag2 tag3. Si usas TestCaseConfigV2.StartResource, antepone el prefijo start_flow: o start_playbook: al nombre del recurso. Ejemplo: start_flow:projects/p/locations/l/agents/a/flows/f.
  2. Agrega un turno conversacional al caso de prueba que acabas de iniciar agregando una fila nueva inmediatamente debajo de él.
    • Regla: La columna DisplayName debe estar vacía. Esto le indica al analizador que se trata de un turno perteneciente 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.Text y OrderedExpectations.ExpectedAgentReply. En el caso de las columnas que requieren JSON, debes proporcionar un objeto JSON válido como una cadena. Ejemplo: {"param_name": "param_value", "number_param": 123}.