Overview
Target configuration controls stimulus and rollout generation behavior. Targets are composed from a base template plus per-target overrides.
Configuration Fields
Generators
List of generator configurations. See Generators."generators": [
{"type": "oneshot_qs", "model": "claude-sonnet-4-5-20250929", "numq": 10},
{"type": "hardcoded", "numq": 2, "questions": ["Question 1", "Question 2"]}
]
Prompts
Teacher prompt name - defines the expert behavior to bake into the model"teacher_prompt": "expert_python_developer"
This prompt contains detailed, expert-level instructions that define how the model should respond. After baking, the model will exhibit this behavior when given the student prompt (or always, if student is empty).
Student prompt name - what the model receives at inference time"student_prompt": "simple_coding_assistant"
# Or "" for empty (always-on behavior)
After baking, providing this simple prompt (or empty string) makes the model respond as if it received the teacher prompt. Empty student prompts result in zero-token, always-on expert behavior.
Use empty student_prompt ("") to permanently bake behavior into the model without needing any prompt trigger at inference time. This is the ultimate proof that baking modifies model weights!
Deprecated Fields: The u and v fields are deprecated in favor of teacher_prompt and student_prompt. Please update your code to use the new field names. The deprecated fields will be removed in a future version.
Model Configuration
Base model for rollout generation. Required for rollout jobs."model_name": "Qwen/Qwen3-32B"
Generation Parameters
Maximum tokens to generate per response
Generation temperature (0.0-2.0). Higher = more random/creative.
Number of trajectories (responses) to generate per stimulus"num_traj_per_stimulus": 5
Maximum concurrent API requests during rollout
Advanced
Additional arguments passed to chat.completions.create()"extra_kwargs": {
"top_p": 0.9,
"frequency_penalty": 0.5
}
Complete Example
target = client.targets.set(
target_name="advanced_target",
repo_name="my_repo",
template="default",
overrides={
# Generators
"generators": [
{
"type": "oneshot_qs",
"model": "claude-sonnet-4-5-20250929",
"numq": 50,
"temperature": 1.2
},
{
"type": "from_dataset",
"dataset": "code_contests",
"numq": 30,
"seed": 42
}
],
# Prompts
"teacher_prompt": "system_prompt_expert",
"student_prompt": "user_prompt_detailed",
# Model
"model_name": "Qwen/Qwen3-32B",
# Generation params
"max_tokens": 200,
"temperature": 1.0,
"num_traj_per_stimulus": 3,
# Performance
"max_concurrency": 100,
# Advanced
"extra_kwargs": {
"top_p": 0.95,
"frequency_penalty": 0.0
}
}
)
Field Reference Table
| Field | Type | Required | Default | Description |
|---|
generators | Array | No | [] | List of generator configs |
teacher_prompt | String | Stim only | - | Teacher prompt name |
student_prompt | String | Stim only | - | Student prompt name |
model_name | String | Rollout only | - | Base model identifier |
max_tokens | Integer | No | - | Max tokens per generation |
temperature | Float | No | 1.0 | Generation temperature |
num_traj_per_stimulus | Integer | No | 1 | Trajectories per stimulus |
max_concurrency | Integer | No | 10 | Max concurrent requests |
extra_kwargs | Object | No | {} | Additional model params |
Template Inheritance
Targets can inherit from other targets:
# Base target
client.targets.set(
target_name="base_target",
repo_name="my_repo",
template="default",
overrides={
"model_name": "Qwen/Qwen3-32B",
"temperature": 1.0,
"max_tokens": 150
}
)
# Inherit and override
client.targets.set(
target_name="high_temp_target",
repo_name="my_repo",
template="base_target", # Inherit from base_target
overrides={
"temperature": 1.5 # Override only temperature
}
)
Next Steps