Come usarlo
Inserisci una lista ordinata di ID modello inextra_body.models e imposta
extra_body.route su "fallback". Il campo model principale conta
ancora — è il primo tentativo — ma OrcaRouter lo ignora a favore della
catena se la catena è presente.
Regole
- Massimo 5 modelli nella catena. Quelli in eccesso vengono troncati silenziosamente.
- Consigliato: tutti i modelli in una catena dovrebbero essere dello stesso
tipo di endpoint (tutti chat, o tutti immagine). Mescolare un modello
di chat con un modello di immagine non manda in crash il gateway, ma il
fallback che effettivamente serve la richiesta deve corrispondere
all’endpoint che hai chiamato (es. se chiami
/v1/chat/completions, solo i modelli di chat nella catena sono utilizzabili). - Comportamento di fallback:
- Le voci
orcarouter/{name}non risolvibili (nome errato, router disabilitato) vengono silenziosamente saltate. - I modelli a cui la chiave chiamante non può accedere (mismatch della allowlist dei modelli) vengono silenziosamente saltati.
- Quando il modello principale fallisce upstream (5xx / 429 / errore di rete), viene provata la voce successiva della catena.
- La richiesta fallisce solo quando ogni voce della catena è stata esaurita.
- Avvertenza streaming: una volta che qualsiasi byte della risposta è stato inviato al client, il fallback non può più attivarsi — se l’upstream cade a metà stream, il client vede uno stream troncato, non un retry trasparente sul modello successivo.
- Le voci
- La fatturazione avviene per il modello che ha effettivamente servito la risposta, alla tariffa di quel modello — non a quella del principale.
extra_body.routedeve essere esattamente"fallback"affinché la catena si attivi. Qualsiasi altro valore (o mancante) → la catena viene ignorata e viene usato solo ilmodeldi livello superiore.
Come capire quale modello ha servito la risposta
Controlla gli header di rispostaX-Orca-Fallback-Level e
X-Orca-Fallback-Model. Vedi Header di risposta.
Quando non usare questo
Se vuoi che OrcaRouter scelga automaticamente il modello disponibile più economico senza scrivere una catena, usa inveceorcarouter/auto.
Le catene di fallback servono per i casi in cui vuoi il controllo
esplicito sull’ordinamento.