Empezar
Guía rápida
Instale el motor, genere un proyecto y obtenga una primera ejecución y una decisión de gate en su propia máquina. Nada sale de ella a menos que usted haga push.
Estos pasos son los del README, reproducidos aquí en lugar de reescritos: README.md es la copia que un desarrollador encuentra en GitHub y la que las pruebas de incorporación contrastan con el código, así que sigue siendo la fuente y esta página se genera a partir de ella con scripts/generate_quickstart.py.
Instalación para desarrollo
Desde la raíz del repositorio:
python3 -m venv .venv
.venv/bin/python -m pip install -e '.[dev]'
pnpm install --frozen-lockfile
make check
pnpm --filter @oloproof/web checkLa superficie pública de Python es:
from oloproof import evaluate, system, current_case
from oloproof.evaluators import ExactMatch, Contains, JsonSchema, Regex, RubricJudge, evaluatorTodo lo que está bajo oloproof_core son componentes internos del motor.
Inicio rápido
Genere un proyecto pequeño:
. .venv/bin/activate
oloproof init /tmp/oloproof-demo
cd /tmp/oloproof-demo
oloproof runEvaluadores
Los valores de type: que acepta oloproof.yaml:
| deterministas | exact_match, contains, regex, json_schema |
| juez LLM | rubric_judge, groundedness_judge, citation_support_judge; probability_judge: una pregunta de sí/no, de opción o de puntuación respondida por las probabilidades de un token; cascade: primero un juez de probabilidad, y un segundo juez solo donde el primero no está seguro |
| modelo | model_classifier: un clasificador entrenado o un modelo NLI en un servidor TEI, puntuado contra un umbral |
| recuperación | 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 |
| predictivos | predictive_correct, predictive_precision, predictive_recall, predictive_ranking, predictive_brier, predictive_log_loss, predictive_absolute_error |
Un juez indica su provider (anthropic, openai u openai_compatible), su model y su rúbrica como rubric_text o rubric_file. Uno que use un proveedor que habla la API de OpenAI pero no es OpenAI (Groq, Together, un servidor local) necesita además base_url y 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."Si se indica un campo que un evaluador no admite, la respuesta enumera los que sí admite.
Vuelva a decidir una ejecución existente sin volver a ejecutar el sistema ni los evaluadores:
oloproof gate RUN_ID --policy release.yamlInspeccione los fallos y un caso:
oloproof inspect RUN_ID --failures
oloproof inspect RUN_ID --case refund_00Exporte un paquete y ábralo en el workbench web:
oloproof export RUN_ID
OLOPROOF_BUNDLE_DIR="$PWD/.oloproof/bundles" pnpm --dir /path/to/Oloproof --filter @oloproof/web devLa ruta del paquete debe ser absoluta, porque pnpm inicia la aplicación desde apps/web. El workbench se abre en su índice de espacios de trabajo; un OLOPROOF_BUNDLE_DIR por sí solo aparece allí como el proyecto local/bundles. Para tener varios proyectos en una misma máquina, apunte OLOPROOF_WORKBENCH_DIR a un directorio que contenga un workbench.json en su lugar (docs/API_CONTRACTS.md).