Model Spec Fields
| Field | Meaning |
|---|---|
id | Model name sent to the provider and used in result paths. |
base_url | API endpoint base URL. |
api_key | API key or token for the endpoint. |
api_protocol | Protocol adapter, such as openai-chat, openai-responses, or anthropic. |
params | Sampling and provider-specific request options such as temperature or max_tokens. |
--model-base-url, --model-api-key, --model-api-protocol, and --model-params.
Basic Usage
MODEL_BASE_URL, not model-base-url.
Protocol Selection
| Protocol | Typical use |
|---|---|
openai-chat | OpenAI-compatible chat completions style endpoints. |
openai-responses | OpenAI Responses API style endpoints. |
anthropic | Anthropic Messages API style endpoints. |
| JSON list | Ordered fallback list when a harness can choose among supported protocols. |
api_protocol is empty, the harness may choose its own default. For public docs and reproducible commands, prefer passing the protocol explicitly.
Python Usage
Judge Models
Some benchmarks and analyzers need a second model for judging or qualitative analysis. They use the same conceptual fields: model id, base URL, API key, protocol, and params. Examples:- benchmark judge models under
benchmark_params.judge_model; - qualitative analyzer models under
analysis_params.QualitativeAnalyzer; - comparison analyzers under
analysis_params.MultiQualitativeAnalyzer.
Common Failures
| Symptom | Likely cause |
|---|---|
| Provider not detected | The model id needs a provider prefix for the underlying client, or the harness protocol is wrong. |
| 401 or authentication errors | --model-api-key is missing or points to the wrong endpoint. |
| 404 or model not found | The model id does not exist on --model-base-url. |
| Unsupported protocol | --model-api-protocol is not supported by the selected harness. |
