Skip to content

Examples

Configuration examples for common Inspect adapter deployments. Examples use the evalhub eval run --config YAML shape (name + model + benchmarks[]).

For the full parameter list see Configuration. For benchmark IDs see Benchmarks.

All roles on the same MaaS / LiteLLM gateway. Create a Secret with key api-key, then reference it — do not put the key in parameters:

Terminal window
kubectl create secret generic maas-creds \
-n <namespace> \
--from-literal=api-key="$MAAS_API_KEY" \
--dry-run=client -o yaml | kubectl apply -f -
name: inspect-petri-maas-smoke
model:
url: https://maas.example.com/v1
name: microsoft-phi-4
auth:
secret_ref: maas-creds
benchmarks:
- id: inspect/petri-sycophancy
provider_id: inspect
parameters:
auditor_model: gpt-oss-20b
judge_model: deepseek-r1-distill-qwen-14b
max_samples: 3
max_turns: 10

Standard inspect-evals smoke against the same gateway:

name: inspect-gsm8k-maas-smoke
model:
url: https://maas.example.com/v1
name: microsoft-phi-4
auth:
secret_ref: maas-creds
benchmarks:
- id: inspect/gsm8k
provider_id: inspect
parameters:
max_samples: 3
log_level: info

Submit:

Terminal window
evalhub eval run --config inspect-petri-maas.yaml --wait
evalhub eval results <job-id> --format json

All roles on the same vLLM instance, no authentication.

name: inspect-petri-same-vllm
model:
url: http://vllm:8080/v1
name: ibm-granite/granite-3.3-8b-instruct
benchmarks:
- id: inspect/petri-sycophancy
provider_id: inspect
parameters:
auditor_model: ibm-granite/granite-3.3-8b-instruct
judge_model: meta-llama/Llama-3.3-70B-Instruct
max_samples: 5

Environment: none required (vLLM does not require authentication by default).

Ollama exposes an OpenAI-compatible API at /v1. Model names follow the Ollama library format (granite3.3:8b, llama3.3), not HuggingFace IDs.

name: inspect-petri-ollama
model:
url: http://ollama:11434/v1
name: granite3.3:8b
benchmarks:
- id: inspect/petri-sycophancy
provider_id: inspect
parameters:
auditor_model: llama3.3
judge_model: qwen3:32b
max_samples: 5

Environment: none required.

Run a single-model inspect-evals benchmark such as GSM8K:

name: inspect-gsm8k-001
model:
url: http://vllm:8080/v1
name: ibm-granite/granite-3.3-8b-instruct
benchmarks:
- id: inspect/gsm8k
provider_id: inspect
parameters:
max_samples: 50
log_level: info

Environment: none for unauthenticated vLLM. For gated HuggingFace datasets, mount an hf-token secret (see Configuration).

Custom task example:

name: inspect-custom-mmlu
model:
url: http://vllm:8080/v1
name: ibm-granite/granite-3.3-8b-instruct
benchmarks:
- id: inspect/custom
provider_id: inspect
parameters:
task: inspect_evals/mmlu
max_samples: 20
name: inspect-bloom-sycophancy
model:
url: http://vllm:8080/v1
name: ibm-granite/granite-3.3-8b-instruct
benchmarks:
- id: inspect/bloom-sycophancy
provider_id: inspect
parameters:
auditor_model: claude-sonnet-4-6
judge_model: claude-opus-4-7
max_samples: 5

Environment: ANTHROPIC_API_KEY=sk-ant-... when auditor/judge use Anthropic.

Enable Dish scaffold testing via task_args on a Petri (or compatible) job:

name: inspect-petri-dish
model:
url: http://vllm:8080/v1
name: ibm-granite/granite-3.3-8b-instruct
benchmarks:
- id: inspect/petri-sycophancy
provider_id: inspect
parameters:
auditor_model: claude-sonnet-4-6
judge_model: claude-opus-4-7
task_args:
dish_scaffold: claude-code
max_samples: 3
Terminal window
evalhub eval run --config inspect-petri.yaml --wait
# After completion (or for a prior job id):
evalhub eval status <job-id>
evalhub eval results <job-id> --format json

Inline equivalent:

Terminal window
evalhub eval run \
--name inspect-petri-sycophancy-001 \
--model-url "http://vllm:8080/v1" \
--model-name "ibm-granite/granite-3.3-8b-instruct" \
--provider inspect \
--benchmark inspect/petri-sycophancy \
--param auditor_model=claude-sonnet-4-6 \
--param judge_model=claude-opus-4-7 \
--param max_samples=5 \
--wait