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 registros de conversación resultantes con métricas prediseñadas.

Antes de comenzar

  1. Completa los pasos que se indican 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 proyecto de Cloud de Confiance by S3NS .
    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. Ejecuta la inferencia: Ejecuta el agente en los casos generados para capturar los registros de conversación.
  3. Evaluar: Califica los registros de conversación con métricas prediseñadas.

Paso 1: Genera situaciones de conversación

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

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto de Cloud de Confiance by S3NS .
  • AGENT_ID: Es el ID de tu recurso de agente. Para obtener más información sobre cómo recuperar o enumerar agentes personalizados para encontrar sus IDs, consulta Cómo 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 registro 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

Usa evaluate para calificar los registros de conversación con métricas prediseñadas. 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, explicaciones por caso y registros 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 proyecto de Cloud de Confiance by S3NS .
  • 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 los agentes en el tiempo de ejecución, administrar el estado de la sesión y anular la configuración de forma dinámica.

Descripción general

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

Guía

Obtén más información para administrar las métricas de evaluación en Google Agent Platform.