Configuration Structure
Core Settings
[prompt_learning]
| Field | Type | Required | Description |
|---|---|---|---|
algorithm | "gepa" | "mipro" | Yes | Optimization algorithm |
task_app_url | string | Yes | Task app endpoint URL |
task_app_id | string | No | Task app identifier |
evaluation_seeds | array[int] | Yes | Training seed indices |
validation_seeds | array[int] | Yes | Validation seed indices |
[prompt_learning.initial_prompt]
| Field | Type | Required | Description |
|---|---|---|---|
messages | array[object] | Yes | Initial prompt template |
role:"system" \| "user" \| "assistant"content: Static content (string)pattern: Template with{query}placeholder (string)
GEPA Parameters
[prompt_learning.gepa]
| Parameter | Type | Default | Description |
|---|---|---|---|
initial_population_size | int | 20 | Starting number of prompt variants |
num_generations | int | 15 | Evolutionary cycles to run |
mutation_rate | float | 0.3 | Probability of mutation (0-1) |
crossover_rate | float | 0.5 | Probability of crossover (0-1) |
rollout_budget | int | 1000 | Total task evaluations allowed |
max_concurrent_rollouts | int | 20 | Parallel rollout limit |
pareto_set_size | int | 20 | Pareto front size |
MIPROv2 Parameters
[prompt_learning.mipro]
| Parameter | Type | Default | Description |
|---|---|---|---|
max_iterations | int | 100 | Maximum optimization iterations |
exploration_budget | int | 500 | Exploration evaluations |
constraint_weight | float | 0.1 | Constraint violation penalty |
Example Configurations
Banking77 (GEPA)
HotpotQA (GEPA)
Best Practices
- Population Size: Start with 20-30 for most tasks. Increase for complex tasks.
- Generations: 10-15 generations usually sufficient. More for complex optimization.
- Mutation Rate: 0.2-0.4 works well. Higher = more exploration, lower = more exploitation.
- Rollout Budget: Allocate 50-100 rollouts per generation for stable estimates.
- Concurrency: Set
max_concurrent_rolloutsbased on task app capacity (typically 10-50).