orcarouter/{name}, a OrcaRouter rozwiąże go
do konkretnego modelu w czasie żądania, na podstawie skonfigurowanych
reguł.
To przydatne, gdy chcesz:
- Zmienić zachowanie routingu bez redeployu aplikacji (zmień router w panelu; kod pozostaje taki sam).
- Pozwolić różnym zespołom lub usługom wybrać własną politykę routingu niezależnie od aplikacji, która wywołuje API.
- Odwoływać się do logiki routingu, która jest zbyt złożona, by wpisać
ją inline w
extra_body.
Używanie routera
X-Orca-Router i X-Orca-Resolved-Model
— zobacz Nagłówki odpowiedzi. Pole
model w samym ciele odpowiedzi odzwierciedla to, co zwrócił upstream
(często samą upstreamową nazwę, np. gpt-4o-mini-2024-07-18).
Tworzenie routera
Routery są tworzone w panelu pod Routing. Każdy router ma:- Nazwa —
{name}worcarouter/{name}. Musi być unikalna w Twoim workspace; małe litery, cyfry,_oraz-(1-50 znaków). Nazwaorcarouterjest zarezerwowana. - Dozwolone modele — jeden lub więcej wzorców glob (oddzielonych
przecinkami lub nowymi liniami, case-insensitive), ograniczających
które modele ten router może wybrać. Przykłady:
openai/*lubopenai/*, anthropic/claude-haiku-*. Puste oznacza dopasowanie każdego modelu, do którego konto ma dostęp. - Strategia — jak wybrać spośród pasujących modeli. Zobacz Strategie poniżej.
- Mundane models / Hard models — dodatkowe listy modeli używane tylko przez strategię Adaptive · Gated. Zobacz Adaptive poniżej.
- Default model — model “siatka bezpieczeństwa” używany, gdy wzorzec nic nie rozwiąże.
- Włączony — wyłącz router bez jego usuwania.
Strategie
Edytor udostępnia cztery karty strategii. Adaptive łączy dwa sub-tryby backendu, dając łącznie pięć wartości enum, które można zapisać przez API.Cheapest
Wybiera model z najniższą ceną per token spośród dostępnych kandydatów. Domyślna dla zasianego routeraorcarouter/auto.
Najlepsza, gdy chcesz najtańszego dostępnego modelu chat na każde
żądanie i nie zależy Ci na spójności stylu wyjścia między wywołaniami.
Quality
Wybiera model z najwyższym wskaźnikiem jakości spośród dostępnych kandydatów, niezależnie od ceny. Najlepsza, gdy jakość wyjścia dominuje nad kosztem.Balanced
Wybiera tanią opcję, która nadal spełnia próg jakości; jeśli nic nie spełnia progu, przechodzi do opcji o najwyższej jakości. Domyślna dla nowych routerów, które tworzysz samodzielnie. Działa bez strojenia per-router.Adaptive
Kontekstowy bandyta LinUCB per-router, który uczy się z Twojego prawdziwego ruchu produkcyjnego. Waży jakość, koszt, latencję i niezawodność per żądanie, aby wybrać najlepszy model. Nowe routery zachowują się jak Balanced podczas krótkiego okresu cold-start (rozgrzewki per-model), zanim bandyta zacznie sterować wyborami — to oczekiwane, nie bug. Dwa sub-tryby:- Standard (enum API:
linucb) — bierze pod uwagę każdy model z Dozwolonych dla każdego żądania. Najlepszy, gdy ruch jest mniej więcej jednolity i chcesz, aby router znalazł najlepszą opcję z pełnej listy. - Gated (enum API:
gated_adaptive) — żądania są najpierw klasyfikowane jako mundane (proste) lub hard (trudne); proste żądania czerpią z mniejszej puli Mundane models, trudne z silniejszej puli Hard models, a żądania średniej trudności z pełnej listy Dozwolonych. Najlepszy, gdy Twój ruch miesza proste i złożone wywołania. Każda pula jest przecinana z Dozwolonymi modelami; puste lub niezachodzące pule po cichu wracają do pełnej listy Dozwolonych, więc żądania nie głodują. Skonfiguruj dwie pule (weak_poolistrong_poolna poziomie API — do 2000 znaków każda) w edytorze, gdy wybierzesz Gated.
Zasiany router: orcarouter/auto
Każde konto OrcaRouter jest przy rejestracji zasiane domyślnym routerem
o nazwie auto — zobacz Auto Router. Możesz
go używać natychmiast bez żadnej konfiguracji.