"Lecture des résultats"
Chaque score est un événement de log OTLP gen_ai.evaluation.result, écrit dans la plateforme de télémétrie, à côté du span qu'il a évalué. Vous les récupérez via quatre endpoints, les mêmes que ceux qu'utilise AI Studio.
Les exemples supposent que MISTRAL_API_KEY et MISTRAL_BASE_URL (par exemple https://api.mistral.ai) sont définies, comme dans le guide de démarrage.
L'enregistrement de résultat
| Champ | Contenu |
|---|---|
trace_id, span_id | Le span évalué. |
timestamp | Le moment où l'évaluation a été émise, et non celui où le span a été créé. |
evaluation_name | judge:<pipeline-config-slug>. |
score_value | Renseigné pour les scorers numeric. |
score_label | Renseigné pour les scorers categorical et boolean. |
explanation | La raison du juge. |
response_id, conversation_id | Copiés depuis le span source lorsqu'ils sont présents. |
metadata | Map de chaînes des attributs restants de l'événement. Le worker définit mistral.obs.judge.slug et mistral.obs.scorer.slug sur chaque événement de juge. |
Pour trouver l'evaluation_name d'une évaluation en direct, lisez pipeline_configs[].slug dans la réponse de GET /v1/observability/pipelines/{id}.
Fenêtres temporelles
Tous les endpoints de résultats acceptent la fenêtre sous forme de paramètres de requête, et non dans le corps :
fromettosont des horodatages ISO 8601 avec un fuseau horaire.- Par défaut,
tocorrespond à l'heure actuelle etfromà une heure avantto. - La fenêtre est plafonnée à 750 heures (environ 31 jours). Les fenêtres plus longues renvoient une erreur 422 avec la limite indiquée dans le message.
Recherche
POST /v1/observability/spans/evaluations/search renvoie tous les événements d'évaluation, du plus récent au plus ancien.
curl -s -X POST "$MISTRAL_BASE_URL/v1/observability/spans/evaluations/search?from=2026-10-20T00:00:00Z&to=2026-10-21T00:00:00Z&page_size=50" \
-H "Authorization: Bearer $MISTRAL_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "search_expression": "evaluation_name = '\''judge:helpfulness-1a2b3c4d-7b04d1aa'\'' AND score_value <= 2" }'Les résultats se trouvent dans span_evaluations.results. Pour récupérer la page suivante, suivez le lien span_evaluations.next ou renvoyez span_evaluations.cursor en tant que cursor. GET /v1/observability/spans/evaluations/fields liste les champs acceptés par search_expression, et …/fields/{field_name}/options liste les valeurs connues d'un champ.
Plus récent par span
POST /v1/observability/spans/evaluations/search/latest accepte la même requête et renvoie au plus un résultat par span et par evaluation_name : le plus récent. Utilisez-le si un span a été évalué plus d'une fois, par exemple lorsque le même span est envoyé plus d'une fois.
Une ligne par span
POST /v1/observability/pipeline-results/search pivote les résultats afin que chaque ligne représente un span avec l'ensemble de ses scores :
curl -s -X POST "$MISTRAL_BASE_URL/v1/observability/pipeline-results/search?page_size=50" \
-H "Authorization: Bearer $MISTRAL_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "pipeline_config_slugs": ["helpfulness-1a2b3c4d-7b04d1aa", "tone-5e6f7a8b-0c1d2e3f"] }'Transmettez les slugs de configuration de pipeline sans le préfixe judge:, 100 au maximum. Chaque ligne contient trace_id, span_id, span_name, duration_ns, evaluated_at et trois maps indexées par evaluation_name : judge_scores, judge_labels et judge_explanations. C'est la structure qui alimente le tableau de résultats d'une évaluation en direct dans AI Studio.
Agrégation
POST /v1/observability/spans/evaluations/aggregate calcule une métrique, éventuellement groupée et découpée en intervalles de temps.
curl -s -X POST "$MISTRAL_BASE_URL/v1/observability/spans/evaluations/aggregate?from=2026-10-20T00:00:00Z&to=2026-10-21T00:00:00Z" \
-H "Authorization: Bearer $MISTRAL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"metric": { "measure": "score_value", "aggregation": "avg" },
"dimensions": ["evaluation_name"],
"time_dimension": { "granularity": "hour" },
"search_expression": "evaluation_name = '\''judge:helpfulness-1a2b3c4d-7b04d1aa'\''"
}'| Champ | Valeurs |
|---|---|
metric.aggregation | count, count_distinct, sum, avg, min, max, p50, p90, p95, p99 |
dimensions | Champs de regroupement, par exemple evaluation_name ou score_label. |
time_dimension.granularity | auto, second, minute, hour, day, week, month. Omettez time_dimension pour obtenir un seul total. |
limit | 1–10 000, 1 000 par défaut. |
La réponse contient des lignes dans data (time_bucket, dimensions, metric_name, metric_value) et un meta avec la fenêtre résolue et la taille des intervalles.
Pour les scorers categorical et boolean, utilisez "aggregation": "count" avec "dimensions": ["score_label"] pour obtenir la distribution des labels.
Dans AI Studio
- Évaluer → Évaluations → En direct → (une évaluation en direct) : graphiques de tendance, de distribution et de couverture, ainsi que le tableau de résultats par span.
- Vue Trace : les évaluations de chaque span s'affichent sur le span.