Skip to main content

Overview

Target configuration controls stimulus and rollout generation behavior. In bgit, targets are configured in the TARGET section of your input.yml file.
Naming Best Practice: Always provide a name field for your targets. bgit appends a hash to target names (e.g., my_target becomes my_target_abc123def456) to ensure uniqueness. Named targets are easier to identify in recipe.yml and when referencing them in bake configurations.

Configuration Fields

Name

name
string
Target name identifier. Recommended: Always provide a descriptive name.
TARGET:
  name: coding_target
  generators:
If omitted, defaults to target. The name will be hashed (e.g., coding_target_abc123def456) to ensure uniqueness.

Generators

generators
array
List of generator configurations. See Generators.
TARGET:
  name: coding_target
  generators:
    - type: oneshot_qs
      model: claude-sonnet-4-5-20250929
      numq: 10
      template_path: templates/coding_template.txt  # Optional: custom template
    - type: hardcoded
      numq: 2
      questions:
        - "Question 1"
        - "Question 2"
Custom Templates: For oneshot_qs generators, you can use template_path to specify custom templates. Create a templates/ directory in your repo root and store template files there. See Generators for details.

Model Configuration

model_name
string
The model that will generate the sample responses during rollout. Optional - defaults to PARENT_MODEL for sequential bakes if not specified.
TARGET:
  model_name: Qwen/Qwen3-32B
This specifies which model is used to generate responses to your stimuli during the rollout phase. If omitted, bgit will automatically use the PARENT_MODEL from .bread (set after previous bakes) for sequential baking workflows. Using the parent model allows you to preserve the characteristics and behavior from previous bakes in your model evolution chain.

Generation Parameters

max_tokens
integer
Maximum tokens to generate per response
TARGET:
  max_tokens: 150
temperature
number
Generation temperature (0.0-2.0). Higher = more random/creative.
TARGET:
  temperature: 1.0
num_traj_per_stimulus
integer
Number of trajectories (responses) to generate per stimulus
TARGET:
  num_traj_per_stimulus: 5

Performance

max_concurrency
integer
Maximum concurrent API requests during rollout
TARGET:
  max_concurrency: 50

Advanced

extra_kwargs
object
Additional arguments passed to chat.completions.create()
TARGET:
  extra_kwargs:
    top_p: 0.9
    frequency_penalty: 0.5

Complete Example

TARGET:
  name: python_expert_target
  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
  
  max_tokens: 200
  temperature: 1.0
  num_traj_per_stimulus: 3
  
  max_concurrency: 100
  
  extra_kwargs:
    top_p: 0.95
    frequency_penalty: 0.0

Field Reference Table

FieldTypeRequiredDefaultDescription
generatorsArrayNo[]List of generator configs
model_nameStringNoPARENT_MODELModel that generates sample responses during rollout (defaults to PARENT_MODEL to preserve characteristics from previous bakes)
max_tokensIntegerNo-Max tokens per generation
temperatureFloatNo1.0Generation temperature
num_traj_per_stimulusIntegerNo1Trajectories per stimulus
max_concurrencyIntegerNo10Max concurrent requests
extra_kwargsObjectNo{}Additional model params

Minimal Example

The simplest target configuration:
TARGET:
  name: yoda_target
  generators:
    - type: oneshot_qs
      model: claude-sonnet-4-5-20250929
      numq: 100
Prompts are configured separately: Prompts are defined in the PROMPT section of your input.yml, not in the TARGET section. See Prompt Configuration for details.

Next Steps