Évaluer les agents créés avec l'API Agents gérés sur Agent Platform

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

  1. Suivez les étapes décrites dans Créer et gérer des agents pour créer une ressource d'agent géré.

  2. Installez le SDK Agent Platform avec l'extension d'évaluation :

    pip install google-cloud-aiplatform[evaluation]
    
  3. 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 :

  1. 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.
  2. Exécuter l'inférence : exécutez l'agent par rapport aux scénarios générés pour capturer les traces de conversation.
  3. É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

Guide

Découvrez comment créer, mettre à jour, lister, obtenir et supprimer des agents à l'aide de l'API REST.

Guide

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.

Présentation

Découvrez l'évaluation des agents dans Google Agent Platform.

Guide

Découvrez comment gérer les métriques d'évaluation dans Google Agent Platform.