OptimizeAnythingConfig¶
gepa.optimize_anything.OptimizeAnythingConfig(engine: str | Engine = 'gepa', name: str | None = None, max_evals: int | None = 100, max_token_cost: float | None = None, max_concurrency: int = 8, output_dir: str | Path | None = None, run_dir: str | None = None, stop_at_score: float | None = None, sandbox: bool = True, engine_config: dict[str, Any] = dict())
dataclass
¶
Configuration for :func:gepa.optimize_anything.optimize_anything.
Attributes:
| Name | Type | Description |
|---|---|---|
engine |
str | Engine
|
Engine name ( |
name |
str | None
|
Identifier for this run, used for logging and to lay out the
default output directory. When |
max_evals |
int | None
|
Server-side cap on eval calls. |
max_token_cost |
float | None
|
Proposer-cost cap — cumulative USD an engine may spend
on its own optimizer LLM tokens (reflection, agent). |
max_concurrency |
int
|
Eval server thread-pool size. |
output_dir |
str | Path | None
|
Where the eval server persists per-eval JSON,
|
run_dir |
str | None
|
Engine workspace directory. Distinct from |
stop_at_score |
float | None
|
Score threshold for early stop. Each engine interprets. |
sandbox |
bool
|
OS-jail the subprocess engines' |
engine_config |
dict[str, Any]
|
Engine-specific options that don't generalize across engines. Each engine reads the keys it understands and warns about leftovers so typos surface. The keys an engine accepts are enumerated in that engine's class docstring:
|