Comparteix via


Evaluación del Agente de Mosaic AI (MLflow 2)

Importante

Databricks recomienda usar MLflow 3 para evaluar y supervisar aplicaciones de GenAI. En esta página se describe la evaluación del agente de MLflow 2.

En este artículo se proporciona información general sobre cómo trabajar con la evaluación del agente de IA de Mosaico, basada en MLflow 2.

Cómo usar la evaluación del agente

En el código siguiente se muestra cómo llamar y probar la evaluación del agente en las salidas generadas anteriormente. Devuelve un DataFrame con puntuaciones de evaluación calculadas por los jueces de LLM que forman parte de la evaluación del agente. Consulte Cuadernos de ejemplo para obtener un cuaderno de inicio rápido que contenga código similar que puede ejecutar en el área de trabajo de Azure Databricks.

Puede copiar y pegar lo siguiente en el cuaderno de Azure Databricks existente:

%pip install mlflow databricks-agents
dbutils.library.restartPython()

import mlflow
import pandas as pd

examples =  {
    "request": [
      {
      # Recommended `messages` format
        "messages": [{
          "role": "user",
          "content": "Spark is a data analytics framework."
        }],
      },
      # SplitChatMessagesRequest format
      {
        "query": "How do I convert a Spark DataFrame to Pandas?",
        "history": [
          {"role": "user", "content": "What is Spark?"},
          {"role": "assistant", "content": "Spark is a data processing engine."},
        ],
      }
      # Note: Using a primitive string is discouraged. The string will be wrapped in the
      # OpenAI messages format before being passed to your agent.
    ],
    "response": [
        "Spark is a data analytics framework.",
        "This is not possible as Spark is not a panda.",
    ],
    "retrieved_context": [ # Optional, needed for judging groundedness.
        [{"doc_uri": "doc1.txt", "content": "In 2013, Spark, a data analytics framework, was open sourced by UC Berkeley's AMPLab."}],
        [{"doc_uri": "doc2.txt", "content": "To convert a Spark DataFrame to Pandas, you can use toPandas()"}],
    ],
    "expected_response": [ # Optional, needed for judging correctness.
        "Spark is a data analytics framework.",
        "To convert a Spark DataFrame to Pandas, you can use the toPandas() method.",
    ]
}
global_guidelines = {
  "english": ["The response must be in English"],
  "clarity": ["The response must be clear, coherent, and concise"],
}

result = mlflow.evaluate(
    data=pd.DataFrame(examples),    # Your evaluation set
    # model=logged_model.model_uri, # If you have an MLFlow model. `retrieved_context` and `response` will be obtained from calling the model.
    model_type="databricks-agent",  # Enable Mosaic AI Agent Evaluation
    evaluator_config={
       "databricks-agent": {"global_guidelines": global_guidelines}
    }
)

# Review the evaluation results in the MLFLow UI (see console output), or access them in place:
display(result.tables['eval_results'])

Entradas y salidas de evaluación del agente

Entradas

Para obtener más información sobre la entrada esperada para la evaluación del agente, incluidos los nombres de campos y los tipos de datos, consulte el esquema de entrada. Estos son algunos de los campos:

  • Consulta del usuario (request): entrada al agente (pregunta o consulta del usuario). Por ejemplo, "¿qué es RAG?".
  • Respuesta del agente (response): respuesta generada por el agente. Por ejemplo, "La generación aumentada de recuperación es …”.
  • Respuesta esperada (expected_response): (opcional) Una respuesta de verdad básica (correcta).
  • trace (): (opcional) el seguimiento de MLflow del agente, desde el que la evaluación del agente extrae salidas intermedias, como el contexto recuperado o las llamadas a herramientas. Como alternativa, puede proporcionar estas salidas intermedias directamente.
  • Directrices (): (guidelinesopcional) Lista de instrucciones o directrices con nombre a las que se espera que se ajuste la salida del modelo.

Salidas

En función de estas entradas, la evaluación del agente genera dos tipos de salidas:

  1. Resultados de evaluación (por fila): Para cada fila proporcionada como entrada, La evaluación del agente genera una fila de salida correspondiente que contiene una evaluación detallada de la calidad, el costo y la latencia del agente.
    • Los jueces de LLM comprueban diferentes aspectos de la calidad, como la exactitud o la base, lo que genera una puntuación sí/no y justificación escrita para esa puntuación. Para más información, consulte Cómo evalúan la calidad, el costo y la latencia mediante la evaluación del agente (MLflow 2).
    • Las evaluaciones de los jueces de LLM se combinan para generar una puntuación general que indica si esa fila "pasa" (es de alta calidad) o "falla" (tiene un problema de calidad).
      • En el caso de las filas con errores, se identifica una causa principal. Cada causa principal corresponde a la evaluación de un juez LLM específico, lo que le permite usar la justificación del juez para identificar posibles correcciones.
    • El coste y la latencia se extraen del seguimiento de MLflow. Para obtener más información, consulte Cómo se evalúan el coste y la latencia.
  2. Métricas (puntuaciones agregadas): puntuaciones agregadas que resumen la calidad, el coste y la latencia del agente en todas las filas de entrada. Entre ellas se incluyen métricas como el porcentaje de respuestas correctas, el recuento medio de tokens, la latencia media y mucho más. Para obtener más información, consulte Cómo se evalúan los costes y la latencia y Cómo se agregan las métricas en el nivel de una ejecución de MLflow para la calidad, el coste y la latencia.

Desarrollo (evaluación sin conexión) y producción (supervisión en línea)

La evaluación del agente está diseñada para ser coherente entre los entornos de desarrollo (sin conexión) y producción (en línea). Este diseño permite una transición sin problemas del desarrollo a la producción, por lo que es posible iterar, evaluar, implementar y supervisar rápidamente aplicaciones agenciales de alta calidad.

La principal diferencia entre el desarrollo y la producción es que, en producción, no tienes etiquetas de verdad básica, mientras que en el desarrollo, opcionalmente puedes usar etiquetas de verdad básica. El uso de etiquetas de verdad básica permite a la evaluación del agente calcular métricas de calidad adicionales.

Desarrollo (sin conexión)

En desarrollo, tus requests, y expected_responses, proceden de un conjunto de evaluación. Un conjunto de evaluación es una colección de entradas representativas que el agente debe poder controlar con precisión. Para obtener más información sobre los conjuntos de evaluación, consulte Conjuntos de evaluación (MLflow 2).

Para obtener response y trace, Agent Evaluation puede llamar al código de tu agente para generar estas salidas para cada fila del conjunto de evaluación. Como alternativa, puedes generar estas salidas tú mismo y pasarlas a la evaluación del agente. Consulte Cómo proporcionar una entrada a una ejecución de evaluación para obtener más información.

Producción (en línea)

Para obtener información sobre la supervisión en producción, consulte Supervisión de GenAI en producción. Esta característica de MLflow 3 es compatible con experimentos de MLflow 2. Para habilitar la supervisión en el experimento de MLflow 2, use el SDK de MLflow 3, instalando mlflow>=3.1.

Establezca una prueba comparativa de calidad con un conjunto de evaluación

Para medir la calidad de una aplicación de IA en desarrollo (sin conexión), debe definir un conjunto de evaluación, es decir, un conjunto de preguntas representativas y respuestas opcionales de verdad básica. Si la aplicación implica un paso de recuperación, como en los flujos de trabajo RAG, opcionalmente puede proporcionar documentos auxiliares en los que espera que se base la respuesta.

Ejecuciones de evaluación

Para más información sobre cómo ejecutar una evaluación, consulte Ejecución de una evaluación y visualización de los resultados (MLflow 2). La evaluación del agente admite dos opciones para proporcionar la salida de la cadena:

  • Puede ejecutar la aplicación como parte de la ejecución de evaluación. La aplicación genera resultados para cada entrada del conjunto de evaluación.
  • Puede proporcionar la salida de una ejecución anterior de la aplicación.

Para obtener información detallada y explicación de cuándo usar cada opción, consulta Suministro de entradas a la ejecución de una evaluación.

Obtención de comentarios humanos sobre la calidad de una aplicación de IA generativa

La aplicación de revisión de Databricks facilita la recopilación de comentarios sobre la calidad de una aplicación de IA de los revisores humanos. Para más información, vea Utilice la aplicación de revisión para revisiones hechas por humanos de una aplicación de inteligencia artificial generativa (MLflow 2).

Disponibilidad geográfica de la evaluación del agente de IA de Mosaico

Evaluación del agente de Mosaic AI es un servicio designado que usa Geos para administrar la residencia de datos al procesar el contenido del cliente. Para obtener más información sobre la disponibilidad de la evaluación del agente en distintas áreas geográficas, consulte Servicios designados de Databricks.

Precios

Para obtener información sobre los precios, consulte los precios de la evaluación del agente de Mosaic AI.

Información sobre los modelos que impulsan los jueces de LLM

  • Los jueces de LLM pueden usar servicios de terceros para evaluar las aplicaciones de GenAI, incluido Azure OpenAI operado por Microsoft.
  • Para Azure OpenAI, Databricks ha optado por no realizar la supervisión de abusos, por lo que no se almacenan solicitudes ni respuestas con Azure OpenAI.
  • En el caso de las áreas de trabajo de la Unión Europea (UE), los jueces de LLM usan modelos hospedados en la UE. Todas las demás regiones usan modelos hospedados en Estados Unidos.
  • Deshabilitar las características de IA potenciadas por socios impide que el modelo LLM llame a modelos potenciados por socios. Todavía puede usar los jueces LLM proporcionando su propio modelo.
  • Los jueces LLM están diseñados para ayudar a los clientes a evaluar sus agentes o aplicaciones de GenAI, y los resultados de los jueces LLM no deben usarse para entrenar, mejorar ni ajustar un LLM.

ECuadernos de ejemplo

En los cuadernos siguientes se muestra cómo usar la evaluación del agente de IA de Mosaico.

Cuaderno de inicio rápido de evaluación del agente de Mosaic AI

Obtención del cuaderno

Cuaderno de métricas personalizadas, directrices y etiquetas de expertos de dominio para la evaluación de agentes

Obtención del cuaderno