Evaluación del rendimiento de las aplicaciones de IA generativas

Completado

Cuando quiera crear una aplicación de inteligencia artificial generativa, use el flujo de avisos para desarrollar la aplicación de chat. Puede evaluar el rendimiento de una aplicación evaluando las respuestas después de ejecutar el flujo.

Prueba del flujo con avisos individuales

Durante el desarrollo activo, puede probar el flujo de chat que está creando mediante la característica de chat cuando se ejecuta una sesión de proceso:

Recorte de pantalla del chat dentro de un flujo de avisos en el portal de Azure AI Foundry.

Al probar el flujo con un aviso individual en la ventana del chat, se ejecuta con la entrada proporcionada. Una vez que se ejecuta correctamente, se muestra una respuesta en la ventana del chat. También puede explorar la salida de cada nodo individual del flujo para comprender cómo se construyó la respuesta final:

Recorte de pantalla de la salida de un nodo individual en un flujo de chat.

Probar automáticamente el flujo con flujos de evaluación

Para evaluar un flujo de chat de forma masiva, puede ejecutar evaluaciones automatizadas. Puede usar las evaluaciones automatizadas integradas o puede definir evaluaciones personalizadas mediante la creación de su propio flujo de evaluación.

Evaluación con métricas seleccionadas por Microsoft

Las métricas integradas o las métricas seleccionadas por Microsoft incluyen las siguientes métricas:

  • Rendimiento y calidad:

    • Coherencia: Mide la capacidad de la aplicación de IA generativa para producir resultados con fluidez, que se lean con naturalidad y que se asemejen al lenguaje humano.
    • Fluidez: Mide la competencia lingüística de la respuesta prevista por una aplicación de IA generativa.
    • Similitud GPT: Mide la similitud entre una frase de datos de origen (verdad básica) y la respuesta generada por una aplicación de IA generativa.
    • Puntuación F1: Mide la relación entre el número de palabras entre la predicción de la aplicación de IA generativa y los datos de origen (verdad sobre el terreno).
    • Fundamentación: Mide la forma en que las respuestas generadas de la aplicación de IA generativa se alinean con la información del origen de entrada.
    • Relevancia: Mide hasta qué punto las respuestas generadas por la aplicación de IA generativa son pertinentes y están directamente relacionadas con las preguntas planteadas.
  • Riesgo y seguridad:

    • Contenido relacionado con el daño propio: Mide la disposición de la aplicación de IA generativa para producir contenido relacionado con el daño propio.
    • Contenido odioso e injusto: Mide la reconfiguración de la aplicación de IA generativa para producir contenido odioso e injusto.
    • Contenido violento: Mide la reconfiguración de la aplicación de IA generativa para producir contenido violento.
    • Contenido sexual: Mide la reconfiguración de la aplicación de IA generativa para producir contenido sexual.

Recorte de pantalla de la configuración de las evaluaciones seleccionadas.

Para evaluar el flujo de chat con las evaluaciones automatizadas integradas, debe:

  1. Crea un conjunto de datos.
  2. Crear una nueva evaluación automatizada en el portal de Azure AI Foundry.
  3. Selecciona un flujo o un conjunto de datos con salidas generadas por el modelo.
  4. Selecciona las métricas que deseas evaluar.
  5. Ejecuta el flujo de evaluación.
  6. Revise los resultados.

Recorte de pantalla del panel de métricas en el portal de Azure AI Foundry.

Sugerencia

Obtenga más información sobre Métricas de evaluación y supervisión

Creación de métricas de evaluación personalizadas

Como alternativa, puede crear su propio flujo de evaluación personalizado, en el que se define cómo se debe evaluar la salida del flujo de chat. Por ejemplo, puede evaluar la salida mediante código de Python o mediante un nodo modelo de lenguaje grande (LLM) para crear una métrica asistida por IA. Vamos a explorar cómo funciona un flujo de evaluación con un ejemplo sencillo.

Diagrama de un flujo de evaluación en comparación con un flujo de chat.

Puede tener un flujo de chat que tome la pregunta de un usuario como entrada (1). El flujo procesa la entrada mediante un modelo de lenguaje y da formato a la respuesta con código de Python (2). Por último, devuelve la respuesta como salida (3).

Para evaluar el flujo de chat, puede crear un flujo de evaluación. El flujo de evaluación toma la pregunta del usuario original y la salida generada como entrada (4). El flujo lo evalúa con un modelo de lenguaje y usa código de Python para definir una métrica de evaluación (5), que luego se devuelve como salida (6).

Al crear un flujo de evaluación, puede elegir cómo evaluar un flujo de chat. Puede usar un modelo de lenguaje para crear sus propias métricas personalizadas asistidas por IA. En el símbolo del sistema, puede definir la métrica que desea medir y la escala de calificación que debe usar el modelo de lenguaje. Por ejemplo, un mensaje de evaluación puede ser:

# Instructions
You are provided with the input and response of a language model that you need to evaluate on user satisfaction.

User satisfaction is defined as whether the response meets the user’s question and needs, and provides a comprehensive and appropriate answer to the question.

Assign each response a score of 1 to 5 for user satisfaction, with 5 being the highest score.

Después de crear un flujo de evaluación, puede evaluar un flujo de chat proporcionando un conjunto de datos de prueba y ejecutando el flujo de evaluación.

Recorte de pantalla de un flujo de evaluación en el portal de Azure AI Foundry.

Al usar un modelo de lenguaje en un flujo de evaluación, puede revisar los resultados en el seguimiento de salida:

Recorte de pantalla de un resultado de un flujo de evaluación personalizado.

Además, puede agregar un nodo de Python en el flujo de evaluación para agregar los resultados de todas las solicitudes del conjunto de datos de prueba y devolver una métrica general.

Sugerencia

Obtenga información sobre cómo desarrollar un flujo de evaluación en el portal de Azure AI Foundry.