from synth_ai import AsyncSynthClient
client = AsyncSynthClient(api_key="sk_live_...")
session = await client.optimization.online.create(
kind="mipro_online",
config_body={
"policy_optimization": {
"algorithm": "mipro",
"container_url": "http://localhost:8103",
"policy": {"model": "gpt-4o-mini", "provider": "openai"},
"mipro": {
"mode": "online",
"bootstrap_train_seeds": [0, 1, 2, 3, 4],
"val_seeds": [100, 101, 102],
},
}
},
)
# Run rollouts and report rewards
for seed in range(100):
result = await session.rollout(seed)
await session.update_reward(seed, result.reward)