So verwendest du es
Lege eine geordnete Liste von Modell-IDs inextra_body.models ab
und setze extra_body.route auf "fallback". Das primäre
model-Feld ist immer noch wichtig — es ist der erste Versuch —
aber OrcaRouter ignoriert es zugunsten der Kette, wenn die Kette
vorhanden ist.
Regeln
- Maximal 5 Modelle in der Kette. Extras werden stillschweigend abgeschnitten.
- Empfohlen: alle Modelle in einer Kette sollten vom gleichen
Endpunkttyp sein (alle Chat oder alle Image). Ein Chat-Modell mit
einem Image-Modell zu mischen, lässt das Gateway nicht abstürzen,
aber das Fallback, das die Anfrage tatsächlich bedient, muss zum
aufgerufenen Endpunkt passen (z. B. wenn du
/v1/chat/completionsaufrufst, sind nur Chat-Modelle in der Kette nutzbar). - Fallback-Verhalten:
- Unauflösbare
orcarouter/{name}-Einträge (schlechter Name, deaktivierter Router) werden stillschweigend übersprungen. - Modelle, auf die der aufrufende Schlüssel keinen Zugriff hat (Modell-Allowlist-Mismatch), werden stillschweigend übersprungen.
- Wenn das primäre Modell im Upstream fehlschlägt (5xx / 429 / Netzwerkfehler), wird der nächste Ketteneintrag versucht.
- Die Anfrage schlägt nur fehl, wenn jeder Ketteneintrag erschöpft ist.
- Streaming-Warnung: Sobald ein Byte der Antwort an den Client gesendet wurde, kann das Fallback nicht mehr greifen — wenn der Upstream mitten im Stream abbricht, sieht der Client einen abgeschnittenen Stream, keinen transparenten Retry am nächsten Modell.
- Unauflösbare
- Die Abrechnung erfolgt für das Modell, das die Antwort tatsächlich bedient hat, zu dessen Rate — nicht zur Rate des primären.
extra_body.routemuss genau"fallback"sein, damit die Kette aktiviert wird. Jeder andere Wert (oder fehlend) → die Kette wird ignoriert und nur dasmodelauf oberster Ebene wird verwendet.
Wie du erkennst, welches Modell die Antwort bediente
Prüfe die Antwort-HeaderX-Orca-Fallback-Level und
X-Orca-Fallback-Model. Siehe
Antwort-Header.
Wann du dies nicht verwenden solltest
Wenn du möchtest, dass OrcaRouter automatisch das günstigste verfügbare Modell auswählt, ohne eine Kette zu schreiben, verwende stattdessenorcarouter/auto.
Fallback-Ketten sind für Fälle, in denen du explizite Kontrolle über
die Reihenfolge haben möchtest.