Overview
Theprime eval run command executes rollouts against model APIs and reports aggregate metrics. It supports single-environment evaluations or multi-environment benchmark suites via TOML config files.
Usage
Arguments
string
required
Either:
- Environment ID:
gsm8k,primeintellect/math-python - TOML config path:
configs/eval/benchmark.toml(for multi-environment evals)
Model Configuration
string
default:"openai/gpt-4.1-mini"
Model name or endpoint alias from the registry.Aliases:
-mstring
default:"https://api.pinference.ai/api/v1"
API base URL. Overrides endpoint registry.Aliases:
-bstring
default:"PRIME_API_KEY"
Environment variable containing API key.Aliases:
-kstring
default:"openai_chat_completions"
Client type:
openai_chat_completions, openai_completions, openai_chat_completions_token, or anthropic_messages.string
default:"./configs/endpoints.toml"
Path to TOML endpoint registry.Aliases:
-estring
Provider shorthand (
prime, openai, anthropic, openrouter, deepseek, minimax, glm, local, vllm).Aliases: -pstring
Extra HTTP header (
Name: Value). Repeatable.Sampling Parameters
integer
Maximum tokens to generate.Aliases:
-tfloat
Sampling temperature.Aliases:
-Tjson
Additional sampling parameters as JSON object.Aliases:
-SExample: -S '{"top_p": 0.9, "frequency_penalty": 0.5}'Environment Configuration
json
default:"{}"
Arguments passed to
load_environment() as JSON.Aliases: -aExample: -a '{"difficulty": "hard"}'json
default:"{}"
Arguments passed directly to environment constructor.Aliases:
-xExample: -x '{"max_turns": 20}'string
default:"./environments"
Base path for environment outputs.
Evaluation Scope
integer
default:"5"
Number of dataset examples to evaluate.Aliases:
-ninteger
default:"3"
Rollouts per example (for pass@k metrics).Aliases:
-rConcurrency
integer
default:"32"
Maximum concurrent requests (both generation and scoring).Aliases:
-cinteger
Concurrent generation requests (defaults to
--max-concurrent).integer
Concurrent scoring requests (defaults to
--max-concurrent).flag
Disable interleaved scoring (score all rollouts after generation completes).Aliases:
-Nflag
Score each rollout individually instead of by group.Aliases:
-iinteger
default:"0"
Retries per rollout on transient infrastructure errors.
Output and Display
flag
Enable debug logging.Aliases:
-vflag
Use alternate screen mode (TUI) for live display.Aliases:
-uflag
Disable Rich display; use normal logging and tqdm progress.Aliases:
-dflag
Save results to disk in
./outputs/evals/ or ./environments/*/outputs/evals/.Aliases: -sstring
Extra state columns to save (comma-separated).Aliases:
-CExample: -C "judge_response,parsed_answer"string
Resume from a previous run. Optionally provide a path; if omitted, auto-detect latest incomplete run.Aliases:
-Rflag
Push results to Hugging Face Hub.Aliases:
-Hstring
Dataset name for HF Hub upload.Aliases:
-Dstring
Heartbeat URL for uptime monitoring.
flag
Do not start environment servers for OpenEnv environments.
Examples
Basic Evaluation
With Custom Sampling
With Environment Arguments
Save and Resume
Using Anthropic API
Multi-Environment Benchmark
High Concurrency
Debug Mode
Configuration Files
Endpoint Registry
Define model endpoints inconfigs/endpoints.toml:
Multi-Environment Config
Results Output
With--save-results, outputs are saved to:
results.jsonl Format
Each line contains one rollout:metadata.json Format
Configuration Precedence
CLI Mode
- CLI flags
- Environment defaults (from
pyproject.toml) - Built-in defaults
TOML Config Mode
- Per-eval settings (
[[eval]]sections) - Global settings (top of config file)
- Environment defaults (from
pyproject.toml) - Built-in defaults
Environment Defaults
Environments can specify defaults inpyproject.toml:
Resuming Evaluations
Long evaluations can be resumed:- Same
env_id,model, androllouts_per_example num_examplesmust be >= original target- Results directory must contain valid
results.jsonlandmetadata.json