Aan de slag
Een suite schrijven
Een suite bestaat uit twee bestanden en een dataset. oloproof init zet beide op, en de opzet is van commentaar voorzien omdat de eerste onboardingronde vier pogingen verloor aan een ontbrekende string in plaats van aan een ontbrekende functie.
Het projectbestand
oloproof.yaml declareert wat er gemeten wordt en wat het meten doet.
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 is een importpad naar wat er getest wordt. criterion is de naam die een metriek, een drempel en een rapport allemaal zullen gebruiken voor het resultaat van deze evaluator, dus het loont om een woord te kiezen dat je in een gate herkent.
De evaluatortypen
Elk type: dat het bestand accepteert, per familie. Een geweigerd veld antwoordt met de velden die die evaluator wel accepteert, zodat een verkeerde gok één run van de juiste af zit.
| Familie | Typen |
|---|---|
| Deterministisch | exact_match, contains, regex, json_schema |
| LLM-judge | rubric_judge, groundedness_judge, citation_support_judge, probability_judge, cascade |
| model | model_classifier |
| Retrieval | 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 |
| Predictief | predictive_correct, predictive_precision, predictive_recall, predictive_ranking, predictive_brier, predictive_log_loss, predictive_absolute_error |
Een LLM-judge op een endpoint dat niet van OpenAI is, heeft twee extra velden nodig: base_url: en api_key_env:. De sleutel wordt op het moment van aanroepen uit de omgeving gelezen en nooit opgeslagen.
Draaien
oloproof runEen run voert elke case uit, beoordeelt elke case met elke evaluator en slaat de resultaten op als content-geadresseerde records. Opnieuw draaien tegen een ongewijzigd systeem en een ongewijzigde dataset hergebruikt wat er al is, en daarom kost een herhaalde run bijna niets en wordt die niet gemeten voor verbruik.
oloproof plan RUN_ID --run rapporteert wat er nodig zou zijn om een onbesliste regel te beslechten, geprijsd op basis van wat die run werkelijk uitgaf. Met een vergelijkings-id in plaats daarvan is er geen vlag nodig.
Replicaten
Een case die één keer gemeten is, vertelt je wat er één keer gebeurde. replicates: meet elke case meer dan eens en rapporteert hoeveel cases hun oordeel veranderden tussen identieke metingen.
Dat getal is het waard om te kennen voordat je een vergelijking vertrouwt: tegen een live assistent veranderde ongeveer één op de negen geobserveerde cases van oordeel tussen identieke runs.
Verder lezen
- Vastleggen wat een systeem deed behandelt artefacten, verbruik en latentiemetrieken.
- RAG-evaluatie, Agents en tools en
Classifiers en regressors behandelen de retrieval-, agent- en predictieve typen.
- CI gaten zet een beslissing om in een exitcode.
- Judges behandelt waaraan een LLM-judge moet voldoen voordat die een release mag gaten.
- Kernbegrippen legt de vier beslissingstoestanden uit en waarom noemers ertoe doen.