Skip to content

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 check

Die öffentliche Python-Schnittstelle ist:

from oloproof import evaluate, system, current_case
from oloproof.evaluators import ExactMatch, Contains, JsonSchema, Regex, RubricJudge, evaluator

Alles 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 run

Evaluatoren

Die type:-Werte, die oloproof.yaml akzeptiert:

deterministischexact_match, contains, regex, json_schema
LLM-Judgerubric_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
Modellmodel_classifier: ein trainierter Klassifikator oder ein NLI-Modell auf einem TEI-Server, gegen einen Schwellenwert bewertet
Retrievalhit_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ädiktivpredictive_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.yaml

Fehlschläge und einen einzelnen Fall untersuchen:

oloproof inspect RUN_ID --failures
oloproof inspect RUN_ID --case refund_00

Ein 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 dev

Der 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).