Skip to main content

Router playground

  1. Pick a preset, or edit the config in Form or YAML.
  2. Press Play in the simulator to send traffic, then use Trigger outage on a deployment to watch retries, cooldowns and fallbacks.
  3. Click a bar or a cross in a lane to see every step the router took for that request.
Model groups · model_list
gpt-4o3 deployments · split by weight
falls back to claude-sonnet, gpt-4o-mini
claude-sonnet3 deployments · order tiers
falls back to gpt-4o
gpt-4o-mini1 deployment
gemini-long1 deployment
Router settings · router_settings
routing_strategy
num_retries
timeout
allowed_fails
cooldown_time
fallbacks4 rules
t = …

Loading the router core…

Every provider answers the way the config says.

How it works

This page runs the router core that litellm.Router uses, compiled to WebAssembly, in your browser. Paste a model_list and router_settings, choose how each deployment answers, and send requests. No request leaves the page: the playground answers each attempt from its script, and retry waits move a simulated clock forward instead of waiting.

The simulator runs steady traffic on simulated time with a behaviour profile per deployment: click incidents into a live run and watch cooldowns and fallbacks cascade, or script a scenario and compare two configs on the same seed.

It covers simple-shuffle with weights and order, retries, fallbacks, cooldowns and allowed fails. Strategies that still run in Python, such as least-busy, usage-based-routing-v2 and latency-based-routing, are not offered until they run in the Rust core.