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
Completa los pasos en Crea y administra agentes para crear un recurso de agente administrado.
Instala el SDK de Agent Platform con la extensión de evaluación:
pip install google-cloud-aiplatform[evaluation]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:
- 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.
- Ejecutar inferencia: Ejecuta el agente en las situaciones generadas para capturar seguimientos de conversación.
- 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?
Crea y administra agentes
Aprende a crear, actualizar, enumerar, obtener y borrar agentes con la API de REST.
Interactúa con agentes
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.
Evaluación de agentes
Obtén información sobre la evaluación de agentes en Google Agent Platform.
Administra las métricas de evaluación
Aprende a administrar las métricas de evaluación en Google Agent Platform.