Skip to content

Commencer

Écrire une suite

Une suite, c’est deux fichiers et un jeu de données. oloproof init génère la structure des deux, et cette structure est commentée parce que le premier parcours d’intégration a perdu quatre tentatives à cause d’une chaîne manquante plutôt que d’une fonctionnalité manquante.

Le fichier de projet

oloproof.yaml déclare ce qui est mesuré et ce qui effectue la mesure.

version: 1
project: example
dataset: data/example.jsonl
system:
  name: example-support-bot
  version: "1"
  callable: app:answer
  config: {}
evaluators:
  - type: exact_match
    criterion: exact_label
    field: label

system.callable est un chemin d’import vers ce qui est testé. criterion est le nom qu’une métrique, un seuil et un rapport utiliseront tous pour le résultat de cet évaluateur ; il vaut donc la peine de choisir un mot que vous reconnaîtrez dans une porte.

Les types d’évaluateurs

Chaque type: accepté par le fichier, par famille. Un champ refusé renvoie la liste de ceux qu’accepte cet évaluateur, de sorte qu’une mauvaise supposition n’est qu’à une exécution de la bonne.

FamilleTypes
Déterministeexact_match, contains, regex, json_schema
Juge LLMrubric_judge, groundedness_judge, citation_support_judge, probability_judge, cascade
modèlemodel_classifier
Récupérationhit_rate, recall, mrr, ndcg, citation_validity
Agentagent_max_steps, agent_tool_called, agent_no_tool_loop, agent_tool_sequence, agent_no_undeclared_tool, agent_constraints_satisfied
Multi-agentagent_route, agent_tool_permissions, agent_max_handoffs
Prédictifpredictive_correct, predictive_precision, predictive_recall, predictive_ranking, predictive_brier, predictive_log_loss, predictive_absolute_error

Un juge LLM sur un point de terminaison qui n’est pas celui d’OpenAI a besoin de deux champs supplémentaires : base_url: et api_key_env:. La clé est lue dans l’environnement au moment de l’appel et n’est jamais stockée.

L’exécuter

oloproof run

Une exécution traite chaque cas, le fait juger par chaque évaluateur, et stocke les résultats sous forme d’enregistrements adressés par leur contenu. La relancer sur un système inchangé et un jeu de données inchangé réutilise ce qu’elle a déjà, ce qui explique qu’une exécution répétée ne coûte presque rien et ne soit pas comptée.

oloproof plan RUN_ID --run indique ce qu’il faudrait pour trancher une règle indécise, chiffré à partir de ce que cette exécution a réellement dépensé. Avec un identifiant de comparaison à la place, aucune option n’est nécessaire.

Réplicats

Un cas mesuré une fois vous dit ce qui s’est passé une fois. replicates: mesure chaque cas plus d’une fois et indique combien ont changé de verdict entre des mesures identiques.

Ce nombre mérite d’être connu avant de vous fier à une comparaison : face à un assistant en service, environ un cas observé sur neuf a changé de verdict entre deux exécutions identiques.

Pour aller plus loin

des métriques de latence.

Classifieurs et régresseurs couvrent les types de récupération, d’agent et prédictifs.

  • Porte de CI transforme une décision en code de sortie.
  • Juges explique ce qu’un juge LLM doit franchir avant de pouvoir servir de porte

à une publication.

dénominateurs comptent.