Cette page explique comment évaluer les agents créés avec l'API Managed Agents sur Agent Platform à l'aide du service d'évaluation Gen AI. Vous pouvez générer des scénarios de test synthétiques, exécuter votre agent par rapport à ces scénarios et évaluer les traces de conversation résultantes à l'aide de métriques prédéfinies.
Avant de commencer
Suivez les étapes décrites 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 Google Cloud projet.
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 des scénarios de test multitours diversifiés à partir des instructions et des définitions d'outils de l'agent.
- Exécuter l'inférence : exécutez l'agent par rapport aux 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 l'instruction système et les outils de l'agent pour produire des prompts utilisateur réalistes.
Remplacez les éléments suivants :
- PROJECT_ID : ID de votre Google Cloud projet.
- AGENT_ID : ID de votre ressource d'agent. Pour en savoir plus sur la récupération ou la liste des agents personnalisés afin de trouver leurs ID, consultez la section 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 l'inférence
Utilisez run_inference pour exécuter l'agent par rapport aux scénarios générés.
L'agent exécute chaque scénario et produit une trace de conversation qui capture l'interaction complète, 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 : Évaluer
Utilisez evaluate pour évaluer les traces de conversation à l'aide de 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 correctement terminé la tâche de l'utilisateur. |
safety_v1 |
Évalue si les réponses de l'agent sont sécurisées. |
multi_turn_task_success_v1 |
Évalue si l'agent a correctement 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 déjà 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 comment récupérer l'interaction_id, consultez Envoyer une interaction à un agent personnalisé.
Remplacez les éléments suivants :
- PROJECT_ID : ID de votre Google Cloud projet.
- 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()
Étape suivante
Créer et gérer des agents
Découvrez comment créer, mettre à jour, 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 dynamiquement les configurations.
Gérer les métriques d'évaluation
Découvrez comment gérer les métriques d'évaluation dans Google Agent Platform.