Overview
calibrate runs a JSONL prompt suite against one or more models and produces two artifacts:
calibration-result.json— the calibration contract with benchmark data, model metadata, and scoringcalibration-policy.yaml— a routing policy for use with--calibratedinrecommendandai-run
Flags
Required. Path to the JSONL prompt suite file. Each line is a JSON object describing a prompt and its task metadata.
Required. One or more model identifiers to calibrate. Repeat the flag or comma-separate values:
Required. Output path for the calibration result. Accepts
.json, .yaml, or .yml.Inference runtime for execution. Accepted values:
ollama, vllm, mlx, llama.cpp.Default: ollamaExecution mode. Accepted values:
dry-run— produce draft artifacts without any benchmark executioncontract-only— build calibration contract without running prompts (default)full— run all prompts against each model (requires--runtime ollama)
contract-onlyCalibration objective. Accepted values:
balanced, speed, quality, coding, reasoning.Default: balancedShorthand for
--mode dry-run. Produces draft artifacts without running any prompts.Optional output path for the routing policy artifact. Accepts
.json, .yaml, or .yml. Required to use calibrated routing in recommend and ai-run.Number of warmup runs per prompt in
full mode.Default: 1Number of measured iterations per prompt in
full mode.Default: 2Per-prompt timeout in milliseconds for
full mode.Default: 120000Calibration Quick Start
Example Output
Artifacts
calibration-result.json
The calibration contract includes:- Model identifiers and runtime metadata
- Suite metadata (prompt count, task distribution)
- Per-model scoring and benchmark results (in
fullmode) - Objective and execution mode used
calibration-policy.yaml
The routing policy maps task categories to model selections. Example structure (seedocs/fixtures/calibration/sample-generated-policy.yaml for the full schema):
Policy Resolution Notes
--policy <file>always takes precedence over--calibrated [file]inrecommendandai-run.- When
--calibratedhas no path, auto-discovery checks~/.llm-checker/calibration-policy.{yaml,yml,json}. --mode fullcurrently requires--runtime ollama.

