É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 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

  1. Suivez la procédure décrite dans Créer et gérer des agents pour créer une ressource Managed Agent.

  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 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 :

  1. 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.
  2. Exécuter l'inférence : exécutez l'agent sur les 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 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

Guide

Découvrez comment créer, modifier, 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.