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
Completa los pasos que se indican 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 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:
- 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.
- Ejecuta la inferencia: Ejecuta el agente en los casos generados para capturar los registros de conversación.
- 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?
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 los agentes en el tiempo de ejecución, administrar el estado de la sesión y anular la configuración 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
Obtén más información para administrar las métricas de evaluación en Google Agent Platform.