Aller au contenu principal

Exécutions d'évaluation

L'écran Exécutions d'évaluation vous permet d'exécuter une suite d'évaluation sur sa cible ou sur une autre, et de lire le résultat de chaque métrique, le coût et le statut de chaque exécution. Chemin dans le portail : /quality/runs. Les développeurs et les responsables qualité lancent les suites à la main ; les agents et le circuit de promotion les lancent automatiquement. L'écran est dessiné par portal/src/screens/quality.tsx.

Ce que montre l'écran​

  • Tableau Exécutions, lu par GET /v1/evaluations/runs (50 lignes par appel, les plus récentes d'abord, pagination par curseur). Colonnes : Identifiant d'exécution, Nom (nom de la suite), Cible, Statut, Résultats (une entrée par métrique : metric, value, passed, samples), Coût, Démarré le.
  • Filtres Suite (identifiant de suite) et Statut (Réussi, Échoué, Erreur, En cours, ou tous), puis Filtrer.
  • Liste vide : Aucune évaluation, avec l'aide Exécutez une suite sur un agent, un modèle ou un prompt. et le bouton Nouvelle évaluation.
  • Un clic sur une ligne, ou Voir le détail, ouvre un panneau latéral avec GET /v1/evaluations/runs/{run_id} : le contrat de l'exécution, trigger, case_results et error.
  • Nouvelle évaluation ouvre un panneau latéral avec Suite (obligatoire, l'identifiant de la suite), Cible (facultative, type:ref@version ; vide, c'est la cible de la suite) et Sorties (liste JSON, défaut []).

Actions​

Bouton ou actionCe qu'il faitAppel d'APIRôles
Actualiser (icône)Recharge la liste.GET /v1/evaluations/runsTout membre du tenant
FiltrerApplique les filtres Suite et Statut.GET /v1/evaluations/runs avec suite_id et statusTout membre du tenant
Nouvelle évaluationExécute la suite tout de suite avec le déclencheur manual, puis enregistre les résultats et le coût.POST /v1/evaluations/runstenant_admin, developer, security_officer, ai_governance_officer, agent
Clic sur une ligne ou Voir le détailOuvre l'exécution avec le résultat de chaque cas.GET /v1/evaluations/runs/{run_id}Tout membre du tenant
Réessayer (état d'erreur)Relance la lecture qui a échoué.Même appelMêmes rôles

Déroulement d'une exécution (services/control-plane/src/eai/domains/evaluation/__init__.py) : pour chaque cas, la sortie vient de Sorties (dans l'ordre des cas), de l'output du cas, ou d'un appel à la cible par la plateforme. Chaque métrique est calculée et comparée à son seuil. Le statut vaut passed quand toutes les métriques passent, failed quand l'une échoue, et error quand la cible ou le moteur est indisponible ou qu'une métrique n'a aucun échantillon. Le coût est la somme de l'usage enregistré pour l'exécution.

Rôles​

Le portail ne masque aucun bouton. Lancer une exécution demande l'un des WRITE_ROLES de l'évaluation (tenant_admin, developer, security_officer, ai_governance_officer) ou agent ; lister et lire demandent un tenant. platform_admin passe tous les contrôles de rôle.

Tâches courantes​

Exécuter une suite sur une nouvelle version​

  1. Copier l'identifiant de la suite. Le formulaire demande l'identifiant, pas le nom. Dans Suites d'évaluation, ouvrez la suite et copiez evaluation_id. Résultat attendu : vous avez l'identifiant. En cas d'échec : créez d'abord la suite.
  2. Lancer l'exécution. Une cible donnée ici remplace la cible de la suite. Cliquez sur Nouvelle évaluation, collez la Suite, saisissez la Cible avec la nouvelle version (par exemple agent:invoice-assistant@1.3.0), puis cliquez sur Créer. Résultat attendu : le message Créé et une nouvelle ligne avec son Statut. En cas d'échec : not_found (404) signifie que l'identifiant de suite est faux.
  3. Lire les résultats. Chaque métrique donne sa valeur et indique si elle passe. Cliquez sur la ligne et lisez results et case_results. Résultat attendu : chaque métrique a passed: true. En cas d'échec : le statut Erreur s'accompagne de error, par exemple metrics without samples: ....

Noter des sorties produites ailleurs​

  1. Coller les sorties. La suite peut noter des réponses que vous avez déjà, sans appeler la cible. Cliquez sur Nouvelle évaluation, remplissez Suite et écrivez Sorties comme une liste JSON de chaînes, une par cas dans l'ordre. Résultat attendu : l'exécution utilise vos sorties. En cas d'échec : JSON invalide sous Sorties signifie que la liste est mal formée.

Dépannage​

SymptômeCauseCorrection
not_found (404) avec eval_suiteL'identifiant de suite n'existe pas.Copiez evaluation_id depuis la suite.
invalid_request (400) avec required: suite_idSuite est vide.Renseignez l'identifiant de la suite.
Statut Erreur avec un message errorLa cible ou le moteur est indisponible, ou une métrique n'a reçu aucun échantillon.Vérifiez que la cible est joignable, ou fournissez des Sorties.
Statut ÉchouéAu moins une métrique est sous son seuil (ou au-dessus, pour lte).Lisez case_results pour trouver les cas en échec.
forbidden (403) avec required_rolesVos rôles ne permettent pas de lancer des suites.Demandez l'un des rôles listés.

Pages liées​