Routing
Strategie wählen, Provider pinnen, automatisches Failover steuern.
CleverRouter wählt pro Request einen Provider — gesteuert über drei Header. Default ist default (Balance aus Preis, Latenz, Kapazität).
Strategien
Setze X-CleverRouter-Strategy auf einen der vier Werte:
| Strategie | Optimiert für | Trade-off |
|---|---|---|
default | Balance: P95 < 4s, Cost < 90% | Allround |
cheapest | Token-Preis | leicht erhöhte P95 |
fastest | Time-to-first-token + Total | bis +35% Kosten |
best | Höchste Provider-Qualität (eval) | bis +60% Kosten |
import OpenAI from 'openai';
const cheap = new OpenAI({
apiKey: process.env.CLEVERROUTER_API_KEY!,
baseURL: 'https://cleverouter.eu/v1',
defaultHeaders: { 'X-CleverRouter-Strategy': 'cheapest' },
});Welcher Provider gewählt wurde, steht im Response-Header X-CleverRouter-Provider.
Provider-Pinning
Mit X-CleverRouter-Provider erzwingst du einen konkreten Provider; mit Komma-Trennung eine Allowlist:
X-CleverRouter-Provider: scaleway
X-CleverRouter-Provider: scaleway,mistral,ovhErlaubte Werte: mistral, scaleway, tensorix, ovh, bedrock-eu, azure-eu. Wenn der gepinnte Provider das Modell nicht hostet, antwortet CleverRouter mit 400 provider_unsupported — Failover ist in diesem Modus deaktiviert.
Soll Pinning mit Failover gelten, nutze stattdessen X-CleverRouter-Provider-Prefer: scaleway.
Failover
Bei 5xx, Connection-Reset oder Timeout routen wir transparent zum nächsten Provider — bis Erfolg oder max_hops erreicht. Default: max_hops: 2 (drei Versuche), konfigurierbar via X-CleverRouter-Max-Hops: 0–5.
Streaming-Failover
Sobald die ersten Bytes beim Client angekommen sind, kann CleverRouter nicht mehr re-playen. Failover funktioniert nur bis zum ersten gestreamten Chunk.
Im Response-Header steht der vollständige Pfad:
X-CleverRouter-Failover-Trail: scaleway:503,tensorix:timeout,bedrock-eu:okWeiter → Streaming oder API-Reference.