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: labelsystem.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.
| Famille | Types |
|---|---|
| Déterministe | exact_match, contains, regex, json_schema |
| Juge LLM | rubric_judge, groundedness_judge, citation_support_judge, probability_judge, cascade |
| modèle | model_classifier |
| Récupération | hit_rate, recall, mrr, ndcg, citation_validity |
| Agent | agent_max_steps, agent_tool_called, agent_no_tool_loop, agent_tool_sequence, agent_no_undeclared_tool, agent_constraints_satisfied |
| Multi-agent | agent_route, agent_tool_permissions, agent_max_handoffs |
| Prédictif | predictive_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 runUne 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
- Enregistrer ce qu’a fait un système traite des artefacts, de l’utilisation et
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.
- Concepts fondamentaux explique les quatre états de décision et pourquoi les
dénominateurs comptent.