Skip to content

Aan de slag

Snel aan de slag

Installeer de engine, zet een project op en krijg een eerste run en een gate-beslissing op je eigen machine. Er verlaat niets die machine tenzij je pusht.

Deze stappen zijn die van de README, hier weergegeven in plaats van overgetypt: README.md is de versie die een ontwikkelaar op GitHub tegenkomt en die de onboardingtests tegen de code toetsen, dus die blijft de bron en deze pagina wordt eruit gegenereerd door scripts/generate_quickstart.py.

Installeren voor ontwikkeling

Vanuit de root van de repository:

python3 -m venv .venv
.venv/bin/python -m pip install -e '.[dev]'
pnpm install --frozen-lockfile
make check
pnpm --filter @oloproof/web check

Het publieke Python-oppervlak is:

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

Alles onder oloproof_core is interne engine-code.

Snelstart

Genereer een klein project:

. .venv/bin/activate
oloproof init /tmp/oloproof-demo
cd /tmp/oloproof-demo
oloproof run

Evaluators

De type:-waarden die oloproof.yaml accepteert:

deterministischexact_match, contains, regex, json_schema
LLM-judgerubric_judge, groundedness_judge, citation_support_judge; probability_judge: een ja/nee-, keuze- of scorevraag beantwoord door de waarschijnlijkheden van één token; cascade: eerst een probability judge, een tweede judge alleen waar die onzeker is
modelmodel_classifier: een getrainde classifier of NLI-model op een TEI-server, gescoord tegen een drempel
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
predictiefpredictive_correct, predictive_precision, predictive_recall, predictive_ranking, predictive_brier, predictive_log_loss, predictive_absolute_error

Een judge noemt zijn provider (anthropic, openai of openai_compatible), zijn model en zijn rubric als rubric_text of rubric_file. Een judge op een provider die de OpenAI-API spreekt maar niet OpenAI is — Groq, Together, een lokale server — heeft ook base_url en api_key_env nodig:

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."

Wie een veld noemt dat een evaluator niet kent, krijgt de velden te zien die hij wel kent.

Beslis opnieuw over een bestaande run zonder het systeem of de evaluators opnieuw te draaien:

oloproof gate RUN_ID --policy release.yaml

Bekijk de mislukkingen en één case:

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

Exporteer een bundle en open die in de webworkbench:

oloproof export RUN_ID
OLOPROOF_BUNDLE_DIR="$PWD/.oloproof/bundles" pnpm --dir /path/to/Oloproof --filter @oloproof/web dev

Het bundlepad moet absoluut zijn, omdat pnpm de app start vanuit apps/web. De workbench opent op zijn werkruimte-overzicht; een losse OLOPROOF_BUNDLE_DIR verschijnt daar als het project local/bundles. Om meerdere projecten op één machine te houden, laat je OLOPROOF_WORKBENCH_DIR in plaats daarvan wijzen naar een map met een workbench.json (docs/API_CONTRACTS.md).