- GEPA: run_walkthrough.py · config.toml · results.json
- MIPRO: run_walkthrough.py · config.toml · results.json
Prerequisites
- Python 3.11+
uvpackage manager- Accounts + API keys set up for Synth and your models
- Environment variables:
SYNTH_API_KEYENVIRONMENT_API_KEYGROQ_API_KEY(or other model provider key, depending on config)
GEPA: Banking77 (In-Process)
Run a full GEPA optimization loop from a single script:run_walkthrough.py · config.toml · walkthrough.md
What happens
- An in-process task app is started in a background thread.
- A Cloudflare tunnel is created automatically and registered with Synth.
- A GEPA prompt-learning job is submitted, monitored, and polled until completion.
- Final results are returned to Python, and the task app + tunnel are cleaned up automatically.
Sample results
Jobpl_5ea04259c2fd4c7a — 83.33% accuracy on Banking77 in ~35 seconds.
results.json
MIPRO: Banking77 (In-Process)
Swap the algorithm to MIPRO, keep the same in-process pattern:run_walkthrough.py · config.toml · walkthrough.md
Sample results
Jobpl_e95cc778c0fb4742 — 60.0% accuracy on Banking77 in ~130 seconds.
results.json
Core pattern (GEPA + MIPRO)
Both walkthroughs share the same in-process pattern: start a task app, create a tunnel, run a prompt-learning job pointed at the tunnel URL, and clean everything up when done.gepa/walkthrough.md Full MIPRO walkthrough:
mipro/walkthrough.md