Evalúa los agentes administrados creados con la API de Managed Agents en Agent Platform

En esta página, se describe cómo evaluar los agentes creados con la API de Managed Agents en Agent Platform con el servicio de evaluación de IA generativa. Puedes generar situaciones de prueba sintéticas, ejecutar tu agente en ellas y calificar los seguimientos de conversación resultantes con métricas precompiladas.

Antes de comenzar

  1. Completa los pasos en Crea y administra agentes para crear un recurso de agente administrado.

  2. Instala el SDK de Agent Platform con la extensión de evaluación:

    pip install google-cloud-aiplatform[evaluation]
    
  3. Configura la autenticación y tu proyecto:

    Reemplaza lo siguiente:

    • PROJECT_ID: Es el ID del Google Cloud proyecto de.
    import agentplatform
    
    client = agentplatform.Client(
        project="PROJECT_ID",
        location="global",
    )
    

Flujo de trabajo de evaluación

La evaluación de un agente administrado sigue tres pasos:

  1. Generar situaciones: Crea automáticamente situaciones de prueba diversas y de varios turnos a partir de las instrucciones y las definiciones de herramientas del agente.
  2. Ejecutar inferencia: Ejecuta el agente en las situaciones generadas para capturar seguimientos de conversación.
  3. Evaluar: Califica los seguimientos de conversación con métricas precompiladas.

Paso 1: Genera situaciones de conversación

Usa generate_conversation_scenarios para crear automáticamente situaciones de prueba en función de la configuración de tu agente. El método lee la instrucción del sistema y las herramientas del agente para producir instrucciones realistas para el usuario.

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del Google Cloud proyecto de.
  • AGENT_ID: Es el ID del recurso de tu agente. Para obtener más información sobre cómo recuperar o enumerar agentes personalizados para encontrar sus IDs, consulta Enumerar agentes.
AGENT_RESOURCE = f"projects/PROJECT_ID/locations/global/agents/AGENT_ID"

scenarios = client.evals.generate_conversation_scenarios(
    agent=AGENT_RESOURCE,
    config={
        "count": 5,
        "generation_instruction": "Generate scenarios where a user asks for a refund.",
    },
)

scenarios.show()

Cada situación generada incluye un starting_prompt que representa el mensaje inicial del usuario en una conversación.

Paso 2: Ejecuta la inferencia

Usa run_inference para ejecutar el agente en las situaciones generadas. El agente ejecuta cada situación y produce un seguimiento de conversación que captura la interacción completa, incluidas las llamadas a herramientas, los pasos intermedios y la respuesta final.

inference_results = client.evals.run_inference(
    agent=AGENT_RESOURCE,
    src=scenarios,
    config={"user_simulator_config": {"max_turn": 5}}
)

inference_results.show()

Paso 3: Evalúa los resultados

Usa evaluate para calificar los seguimientos de conversación con métricas precompiladas. Las siguientes métricas están disponibles para la evaluación de agentes:

Métrica Descripción
final_response_quality_v1 Evalúa si el agente completó correctamente la tarea del usuario.
safety_v1 Evalúa si las respuestas del agente son seguras.
multi_turn_task_success_v1 Evalúa si el agente completó correctamente la tarea de varios turnos del usuario.
from agentplatform import types

eval_result = client.evals.evaluate(
    dataset=inference_results,
    metrics=[
        types.RubricMetric.MULTI_TURN_TASK_SUCCESS,
    ],
    agent=AGENT_RESOURCE,
)

eval_result.show()

El método show() muestra un informe interactivo con puntuaciones agregadas, razonamientos por caso y los seguimientos de conversación del agente, incluida la topología del sistema (instrucciones y herramientas del agente).

Evalúa las interacciones existentes

También puedes evaluar las interacciones que ya se registraron con el agente. Esto es útil para evaluar la calidad de las conversaciones de producción. Para obtener información sobre cómo enviar una interacción a un agente y cómo recuperar el interaction_id, consulta Envía una interacción a un agente personalizado.

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del Google Cloud proyecto de.
  • INTERACTION_ID: Es el ID de una interacción registrada.
  • AGENT_RESOURCE: Es el nombre completo del recurso de tu agente, en el formato projects/PROJECT_ID/locations/global/agents/AGENT_ID.
interactions_dataset = types.EvaluationDataset(
    eval_cases=[
        types.EvalCase(
            interactions_data_source=types.InteractionsDataSource(
                interaction=f"projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID",
                gemini_agent_config=types.GeminiAgentConfig(
                    gemini_agent=AGENT_RESOURCE,
                ),
            ),
        ),
    ]
)

eval_result = client.evals.evaluate(
    dataset=interactions_dataset,
    metrics=[
        types.RubricMetric.MULTI_TURN_TASK_SUCCESS,
    ],
    agent=AGENT_RESOURCE,
)

eval_result.show()

¿Qué sigue?

Guía

Aprende a crear, actualizar, enumerar, obtener y borrar agentes con la API de REST.

Guía

Aprende a interactuar con agentes en el tiempo de ejecución, administrar el estado de la sesión y anular configuraciones de forma dinámica.

Descripción general

Obtén información sobre la evaluación de agentes en Google Agent Platform.

Guía

Aprende a administrar las métricas de evaluación en Google Agent Platform.