Cette page explique comment évaluer les agents créés avec l'API Managed Agents sur Agent Platform à l'aide de Gen AI Evaluation Service. Vous pouvez générer des scénarios de test synthétiques, les exécuter sur votre agent et évaluer les traces de conversation obtenues à l'aide de métriques prédéfinies.
Avant de commencer
Suivez la procédure décrite dans Créer et gérer des agents pour créer une ressource d'agent géré.
Installez le SDK Agent Platform avec l'extension d'évaluation :
pip install google-cloud-aiplatform[evaluation]Configurez l'authentification et votre projet :
Remplacez les éléments suivants :
- PROJECT_ID : ID de votre projet Google Cloud .
import agentplatform client = agentplatform.Client( project="PROJECT_ID", location="global", )
Workflow d'évaluation
L'évaluation d'un agent géré se déroule en trois étapes :
- Générer des scénarios : créez automatiquement divers scénarios de test multi-tours à partir des instructions et des définitions d'outils de l'agent.
- Exécuter l'inférence : exécutez l'agent sur les scénarios générés pour capturer les traces de conversation.
- Évaluer : évaluez les traces de conversation à l'aide de métriques prédéfinies.
Étape 1 : Générer des scénarios de conversation
Utilisez generate_conversation_scenarios pour créer automatiquement des scénarios de test en fonction de la configuration de votre agent. La méthode lit les instructions système et les outils de l'agent pour produire des requêtes utilisateur réalistes.
Remplacez les éléments suivants :
- PROJECT_ID : ID de votre projet Google Cloud .
- AGENT_ID : ID de votre ressource d'agent. Pour savoir comment récupérer ou lister des agents personnalisés afin de trouver leur ID, consultez Lister les agents.
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()
Chaque scénario généré inclut un starting_prompt qui représente le message utilisateur initial dans une conversation.
Étape 2 : Exécuter une inférence
Utilisez run_inference pour exécuter l'agent sur les scénarios générés.
L'agent exécute chaque scénario et produit une trace de conversation qui capture l'intégralité de l'interaction, y compris les appels d'outils, les étapes intermédiaires et la réponse finale.
inference_results = client.evals.run_inference(
agent=AGENT_RESOURCE,
src=scenarios,
config={"user_simulator_config": {"max_turn": 5}}
)
inference_results.show()
Étape 3 : Évaluation
Utilisez evaluate pour évaluer les traces de conversation avec des métriques prédéfinies.
Les métriques suivantes sont disponibles pour l'évaluation des agents :
| Métrique | Description |
|---|---|
final_response_quality_v1 |
Évalue si l'agent a bien terminé la tâche de l'utilisateur. |
safety_v1 |
Évalue si les réponses de l'agent sont sûres. |
multi_turn_task_success_v1 |
Évalue si l'agent a bien terminé la tâche multitour de l'utilisateur. |
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()
La méthode show() affiche un rapport interactif avec des scores agrégés, des justifications par cas et les traces de conversation de l'agent, y compris la topologie du système (outils et instructions de l'agent).
Évaluer les interactions existantes
Vous pouvez également évaluer les interactions qui ont déjà été enregistrées avec l'agent. Cela est utile pour évaluer la qualité des conversations de production. Pour savoir comment envoyer une interaction à un agent et récupérer l'interaction_id, consultez Envoyer une interaction à un agent personnalisé.
Remplacez les éléments suivants :
- PROJECT_ID : ID de votre projet Google Cloud .
- INTERACTION_ID : ID d'une interaction enregistrée.
- AGENT_RESOURCE : nom complet de la ressource de votre agent, au format
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()
Étapes suivantes
Créer et gérer des agents
Découvrez comment créer, modifier, lister, obtenir et supprimer des agents à l'aide de l'API REST.
Interagir avec les agents
Découvrez comment interagir avec les agents au moment de l'exécution, gérer l'état de la session et remplacer les configurations de manière dynamique.
Gérer les métriques d'évaluation
Découvrez comment gérer les métriques d'évaluation dans Google Agent Platform.