orcarouter/{name} e OrcaRouter
lo risolve a un modello concreto al momento della richiesta, in base
alle regole che hai configurato.
Questo è utile quando vuoi:
- Cambiare il comportamento di routing senza ridistribuire l’app (cambia il router nella dashboard; il tuo codice rimane lo stesso).
- Lasciare che team o servizi diversi scelgano la propria policy di routing indipendentemente dall’applicazione che chiama l’API.
- Fare riferimento a una logica di routing troppo complessa per essere
inline in
extra_body.
Usare un router
X-Orca-Router e X-Orca-Resolved-Model — vedi
Header di risposta. Il campo model nel
corpo della risposta stesso riflette ciò che l’upstream ha restituito
(spesso il nome upstream puro, es. gpt-4o-mini-2024-07-18).
Creare un router
I router vengono creati nella dashboard sotto Routing. Ogni router ha:- Nome — il
{name}inorcarouter/{name}. Deve essere unico all’interno del tuo workspace; lettere minuscole, cifre,_e-(1-50 caratteri). Il nomeorcarouterè riservato. - Modelli consentiti — uno o più pattern glob (separati da virgole
o da nuove righe, case-insensitive) che limitano quali modelli questo
router può scegliere. Esempi:
openai/*oopenai/*, anthropic/claude-haiku-*. Vuoto corrisponde a ogni modello a cui il tuo account ha accesso. - Strategia — come scegliere tra i modelli corrispondenti. Vedi Strategie sotto.
- Mundane models / Hard models — liste di modelli aggiuntive usate solo dalla strategia Adaptive · Gated. Vedi Adaptive sotto.
- Modello predefinito — un modello di rete di sicurezza usato se il pattern non risolve nulla.
- Abilitato — disabilita il router senza eliminarlo.
Strategie
L’editor espone quattro schede di strategia. Adaptive raggruppa due sotto-modalità di backend, per un totale di cinque valori enum che puoi persistere tramite l’API.Cheapest
Sceglie il modello con il prezzo per token più basso tra i candidati attivi. Predefinito per il router seedorcarouter/auto. Migliore quando
vuoi il modello di chat attivo più economico ad ogni richiesta e non ti
importa della coerenza dello stile di output tra le chiamate.
Quality
Sceglie il modello con il punteggio di qualità più alto tra i candidati attivi, indipendentemente dal prezzo. Migliore quando la qualità dell’output domina sul costo.Balanced
Sceglie un’opzione a basso costo che soddisfi comunque una soglia di qualità; se nulla soddisfa la soglia, ricade sull’opzione di qualità più alta. Predefinito per i nuovi router che crei tu stesso. Funziona senza tuning per router.Adaptive
Un bandit contestuale LinUCB per router che apprende dal tuo traffico di produzione reale. Pesa qualità, costo, latenza e affidabilità per richiesta per scegliere il modello migliore. I nuovi router si comportano come Balanced durante un breve periodo di cold-start (un warm-up per modello) prima che il bandit inizi a guidare le scelte — questo è atteso, non un bug. Due sotto-modalità:- Standard (enum API:
linucb) — considera ogni modello consentito per ogni richiesta. Migliore quando il traffico è circa uniforme e vuoi che il router trovi l’opzione migliore nell’intera lista. - Gated (enum API:
gated_adaptive) — le richieste vengono prima classificate come ordinarie o difficili; le richieste ordinarie attingono da un pool più piccolo di Mundane models, le richieste difficili da un pool più potente di Hard models e le richieste di media difficoltà dall’intera lista dei modelli consentiti. Migliore quando il tuo traffico mescola chiamate semplici e complesse. Ogni pool è intersecato con i modelli consentiti; pool vuoti o non sovrapposti ricadono silenziosamente sull’intera lista dei modelli consentiti, in modo che le richieste non vengano mai lasciate senza modello. Configura i due pool (weak_poolestrong_poola livello API — fino a 2000 caratteri ciascuno) nell’editor quando scegli Gated.
Router seed: orcarouter/auto
Ogni account OrcaRouter viene seedato con un router predefinito chiamato
auto alla registrazione — vedi Auto router.
Puoi usarlo immediatamente senza alcuna configurazione.