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, exécuter votre agent par rapport à ceux-ci et évaluer les traces de conversation résultantes à 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 Managed Agent.
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 Cloud de Confiance by S3NS .
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 multi-tours variés à partir des instructions de l'agent et des définitions d'outils.
- 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 générer des requêtes utilisateur réalistes.
Remplacez les éléments suivants :
- PROJECT_ID : ID de votre projet Cloud de Confiance by S3NS .
- AGENT_ID : ID de la ressource de votre agent. Pour savoir comment récupérer ou lister des agents personnalisés afin de trouver leurs 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 initial de l'utilisateur dans une conversation.
Étape 2 : Exécuter l'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 : Évaluer
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 correctement 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 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 les scores agrégés, les 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 récupérer l'interaction_id, consultez Envoyer une interaction à un agent personnalisé.
Remplacez les éléments suivants :
- PROJECT_ID : ID de votre projet Cloud de Confiance by S3NS .
- 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 dynamiquement les configurations.
Gérer les métriques d'évaluation
Découvrez comment gérer les métriques d'évaluation dans Google Agent Platform.