Começar
Início rápido
Instale o engine, gere a estrutura de um projeto e obtenha uma primeira execução e uma decisão de gate na sua própria máquina. Nada sai dela a menos que você faça push.
Estes passos são os do README, renderizados aqui em vez de redigitados: README.md é a cópia que um desenvolvedor encontra no GitHub e aquela que os testes de onboarding confrontam com o código, então ele continua sendo a fonte e esta página é gerada a partir dele por scripts/generate_quickstart.py.
Instalação para desenvolvimento
A partir da raiz do repositório:
python3 -m venv .venv
.venv/bin/python -m pip install -e '.[dev]'
pnpm install --frozen-lockfile
make check
pnpm --filter @oloproof/web checkA superfície pública em Python é:
from oloproof import evaluate, system, current_case
from oloproof.evaluators import ExactMatch, Contains, JsonSchema, Regex, RubricJudge, evaluatorTudo o que está sob oloproof_core é parte interna do engine.
Início rápido
Gere um projeto pequeno:
. .venv/bin/activate
oloproof init /tmp/oloproof-demo
cd /tmp/oloproof-demo
oloproof runAvaliadores
Os valores de type: que oloproof.yaml aceita:
| determinísticos | exact_match, contains, regex, json_schema |
| juiz LLM | rubric_judge, groundedness_judge, citation_support_judge; probability_judge: uma pergunta de sim/não, escolha ou pontuação respondida pelas probabilidades de um token; cascade: primeiro um juiz de probabilidade, e um segundo juiz só onde o primeiro não tem certeza |
| modelo | model_classifier: um classificador treinado ou modelo de NLI em um servidor TEI, pontuado em relação a um limiar |
| recuperação | hit_rate, recall, mrr, ndcg, citation_validity |
| agente | agent_max_steps, agent_tool_called, agent_no_tool_loop, agent_tool_sequence, agent_no_undeclared_tool, agent_constraints_satisfied |
| multiagente | agent_route, agent_tool_permissions, agent_max_handoffs |
| preditivos | predictive_correct, predictive_precision, predictive_recall, predictive_ranking, predictive_brier, predictive_log_loss, predictive_absolute_error |
Um juiz declara seu provider (anthropic, openai ou openai_compatible), seu model e sua rubrica como rubric_text ou rubric_file. Um juiz em um provedor que fala a API da OpenAI mas não é a OpenAI — Groq, Together, um servidor local — também precisa de base_url e 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."Declarar um campo que um avaliador não aceita tem como resposta a lista dos campos que ele aceita.
Decida novamente uma execução existente sem executar de novo o sistema nem os avaliadores:
oloproof gate RUN_ID --policy release.yamlInspecione as falhas e um caso:
oloproof inspect RUN_ID --failures
oloproof inspect RUN_ID --case refund_00Exporte um bundle e abra-o no workbench web:
oloproof export RUN_ID
OLOPROOF_BUNDLE_DIR="$PWD/.oloproof/bundles" pnpm --dir /path/to/Oloproof --filter @oloproof/web devO caminho do bundle precisa ser absoluto, porque o pnpm inicia o app a partir de apps/web. O workbench abre no índice de espaços de trabalho; um OLOPROOF_BUNDLE_DIR sozinho aparece ali como o projeto local/bundles. Para manter vários projetos em uma mesma máquina, aponte OLOPROOF_WORKBENCH_DIR para um diretório que contenha um workbench.json (docs/API_CONTRACTS.md).