Jak używać
Wstaw uporządkowaną listę identyfikatorów modeli doextra_body.models
i ustaw extra_body.route na "fallback". Główne pole model nadal
ma znaczenie — to pierwsza próba — ale OrcaRouter ignoruje je na rzecz
łańcucha, jeśli łańcuch jest obecny.
Zasady
- Maksymalnie 5 modeli w łańcuchu. Nadmiarowe są po cichu obcinane.
- Zalecane: wszystkie modele w łańcuchu powinny być tego samego
typu endpointu (wszystkie chat lub wszystkie image). Pomieszanie
modelu chat z modelem image nie zawiesi bramy, ale fallback, który
faktycznie obsłuży żądanie, musi pasować do wywołanego endpointu
(np. jeśli wywołujesz
/v1/chat/completions, użyteczne są tylko modele chat w łańcuchu). - Zachowanie fallback:
- Wpisy
orcarouter/{name}nierozwiązywalne (zła nazwa, wyłączony router) są po cichu pomijane. - Modele, do których wywołujący klucz nie ma dostępu (niezgodność białej listy modeli), są po cichu pomijane.
- Gdy główny model zawiedzie upstream (5xx / 429 / błąd sieci), próbowany jest następny wpis łańcucha.
- Żądanie zawodzi tylko wtedy, gdy każdy wpis łańcucha został wyczerpany.
- Uwaga o streamingu: gdy choć jeden bajt odpowiedzi został wysłany do klienta, fallback nie może już zadziałać — jeśli upstream urwie w środku strumienia, klient widzi obcięty strumień, nie transparentny retry na następnym modelu.
- Wpisy
- Rozliczenia dotyczą modelu, który faktycznie obsłużył odpowiedź, po stawce tego modelu — nie głównego.
extra_body.routemusi być dokładnie"fallback", aby łańcuch zadziałał. Każda inna wartość (lub jej brak) → łańcuch jest ignorowany i używany jest tylkomodelz najwyższego poziomu.
Jak sprawdzić, który model obsłużył odpowiedź
Sprawdź nagłówki odpowiedziX-Orca-Fallback-Level i
X-Orca-Fallback-Model. Zobacz Nagłówki odpowiedzi.
Kiedy tego nie używać
Jeśli chcesz, by OrcaRouter automatycznie wybierał najtańszy dostępny model bez pisania łańcucha, użyj zamiast tegoorcarouter/auto. Łańcuchy fallback są dla
przypadków, gdy chcesz jawnej kontroli nad kolejnością.