Loslegen
Schnellstart
Installieren Sie die Engine, legen Sie ein Projekt an und erhalten Sie einen ersten Lauf und eine Gate-Entscheidung auf Ihrem eigenen Rechner. Nichts verlässt ihn, solange Sie nicht pushen.
Diese Schritte stammen aus der README und werden hier dargestellt statt abgetippt: README.md ist die Fassung, der ein Entwickler auf GitHub begegnet, und diejenige, an der die Onboarding-Tests den Code messen. Sie bleibt daher die Quelle, und diese Seite wird von scripts/generate_quickstart.py aus ihr erzeugt.
Installation für die Entwicklung
Aus dem Wurzelverzeichnis des Repositorys:
python3 -m venv .venv
.venv/bin/python -m pip install -e '.[dev]'
pnpm install --frozen-lockfile
make check
pnpm --filter @oloproof/web checkDie öffentliche Python-Schnittstelle ist:
from oloproof import evaluate, system, current_case
from oloproof.evaluators import ExactMatch, Contains, JsonSchema, Regex, RubricJudge, evaluatorAlles unter oloproof_core sind Interna der Engine.
Schnellstart
Ein kleines Projekt erzeugen:
. .venv/bin/activate
oloproof init /tmp/oloproof-demo
cd /tmp/oloproof-demo
oloproof runEvaluatoren
Die type:-Werte, die oloproof.yaml akzeptiert:
| deterministisch | exact_match, contains, regex, json_schema |
| LLM-Judge | rubric_judge, groundedness_judge, citation_support_judge; probability_judge: eine Ja/Nein-, Auswahl- oder Score-Frage, beantwortet durch die Wahrscheinlichkeiten eines Tokens; cascade: zuerst ein Wahrscheinlichkeits-Judge, ein zweiter Judge nur dort, wo er unsicher ist |
| Modell | model_classifier: ein trainierter Klassifikator oder ein NLI-Modell auf einem TEI-Server, gegen einen Schwellenwert bewertet |
| 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 |
| prädiktiv | predictive_correct, predictive_precision, predictive_recall, predictive_ranking, predictive_brier, predictive_log_loss, predictive_absolute_error |
Ein Judge nennt seinen provider (anthropic, openai oder openai_compatible), sein model und seine Rubrik als rubric_text oder rubric_file. Ein Judge bei einem Anbieter, der die OpenAI-API spricht, aber nicht OpenAI ist — Groq, Together, ein lokaler Server —, braucht zusätzlich base_url und api_key_env:
evaluators:
- type: rubric_judge
criterion: answer_correct
provider: openai_compatible
model: openai/gpt-oss-20b
base_url: https://api.groq.com/openai/v1
api_key_env: GROQ_API_KEY
rubric_text: "PASS if the answer conveys the same fact as the reference."Wer ein Feld angibt, das ein Evaluator nicht kennt, erhält als Antwort die Felder, die er kennt.
Einen bestehenden Lauf neu entscheiden, ohne das System oder die Evaluatoren erneut auszuführen:
oloproof gate RUN_ID --policy release.yamlFehlschläge und einen einzelnen Fall untersuchen:
oloproof inspect RUN_ID --failures
oloproof inspect RUN_ID --case refund_00Ein Bundle exportieren und in der Web-Workbench öffnen:
oloproof export RUN_ID
OLOPROOF_BUNDLE_DIR="$PWD/.oloproof/bundles" pnpm --dir /path/to/Oloproof --filter @oloproof/web devDer Bundle-Pfad muss absolut sein, weil pnpm die App aus apps/web startet. Die Workbench öffnet sich mit ihrem Workspace-Index; ein einzelnes OLOPROOF_BUNDLE_DIR erscheint dort als Projekt local/bundles. Um mehrere Projekte auf einem Rechner zu führen, lassen Sie OLOPROOF_WORKBENCH_DIR stattdessen auf ein Verzeichnis zeigen, das eine workbench.json enthält (docs/API_CONTRACTS.md).