Quick Start (Online Mode)
MIPRO supports online optimization where you drive rollouts locally and the backend provides prompt candidates:Online vs Offline Mode
MIPRO supports two optimization modes:Online Mode
- You control rollouts: Drive the rollout loop locally
- No tunneling required: Backend never calls your container
- Real-time evolution: Prompts evolve as rewards are reported
- Proxy URL: Backend provides a proxy URL that selects prompt candidates for each LLM call
Offline Mode
- Backend drives rollouts: Backend calls your container
- Tunneling required: Container must be publicly accessible
- Environment API key:
ENVIRONMENT_API_KEYmust be registered with backend
Required Fields
| Field | Description |
|---|---|
container_url | URL of your container (for offline mode) or any URL (for online mode) |
mipro.mode | Optimization mode: "online" or "offline" |
mipro.bootstrap_train_seeds | Initial training seeds for bootstrap phase |
mipro.val_seeds | Validation seeds for evaluation |
mipro.online_pool | Pool of seeds for online optimization (online mode only) |
mipro.online_proposer_mode | Proposer mode: "inline" (online mode only) |
mipro.online_proposer_min_rollouts | Minimum rollouts before generating new proposals (online mode only) |
mipro.online_rollouts_per_candidate | Number of rollouts per candidate before switching (online mode only) |
mipro.proposer.mode | Proposer generation mode: "instruction_only" |
mipro.proposer.model | Model for generating proposals |
mipro.proposer.provider | Provider for proposer model |
policy.model | Model for policy execution |
policy.provider | Provider for policy model |
Proposer Configuration
The proposer generates new prompt instructions. Key parameters:proposer.mode: Currently supports"instruction_only"for instruction-level proposalsproposer.model: Model used for generating proposals (typicallygpt-4o-miniorgpt-4o)proposer.temperature: Controls randomness (0.7 recommended)proposer.max_tokens: Maximum tokens for proposal output (512 recommended)
OPENAI_API_KEY or PROD_OPENAI_API_KEY).
Online Mode Workflow
- Create job: Submit MIPRO job with
mode: "online" - Get proxy URL: Backend returns a proxy URL endpoint
- Run rollouts: For each rollout:
- Call proxy URL with your task input
- Proxy selects best prompt candidate
- Execute LLM call with selected prompt
- Report reward back to backend
- Automatic evolution: Backend generates new proposals based on rewards
Tunnels
MIPRO offline mode requires your container to be reachable over HTTPS (the backend drives rollouts). MIPRO online mode does not require tunneling since you drive rollouts locally.Offline Mode — SynthTunnel (Recommended)
No external binary required:Offline Mode — Cloudflare
Requirescloudflared installed. Use container_api_key instead of worker_token:
Online Mode — No Tunnel Needed
In online mode, the backend provides a proxy URL and you drive rollouts locally. No tunnel is required:See Also
- MIPRO Online API - Online mode API docs
- MIPRO Offline API - Offline mode API docs
- MIPRO Banking77 Demo - Complete working example