Comment l’utiliser
Mettez une liste ordonnée d’IDs de modèles dansextra_body.models et
définissez extra_body.route à "fallback". Le champ model
principal compte encore — c’est la première tentative — mais OrcaRouter
l’ignore au profit de la chaîne si la chaîne est présente.
Règles
- Maximum 5 modèles dans la chaîne. Les extras sont tronqués silencieusement.
- Recommandé : tous les modèles d’une chaîne devraient être du
même type d’endpoint (tous chat ou tous image). Mélanger un
modèle chat avec un modèle image ne fera pas planter la passerelle,
mais le fallback qui sert réellement la requête doit correspondre à
l’endpoint que vous avez appelé (par ex. si vous appelez
/v1/chat/completions, seuls les modèles chat de la chaîne sont utilisables). - Comportement du fallback :
- Les entrées
orcarouter/{name}non résolvables (mauvais nom, routeur désactivé) sont sautées silencieusement. - Les modèles auxquels la clé d’appel ne peut accéder (non-match de liste autorisée de modèles) sont sautés silencieusement.
- Quand le modèle principal échoue en amont (5xx / 429 / erreur réseau), l’entrée suivante de la chaîne est essayée.
- La requête échoue uniquement quand chaque entrée de la chaîne a été épuisée.
- Avertissement streaming : une fois qu’un seul octet de la réponse a été envoyé au client, le fallback ne peut plus se déclencher — si l’amont coupe en milieu de flux, le client voit un flux tronqué, pas une nouvelle tentative transparente sur le modèle suivant.
- Les entrées
- La facturation se produit pour le modèle qui a réellement servi la réponse, à son taux — pas celui du principal.
extra_body.routedoit être exactement"fallback"pour que la chaîne s’active. Toute autre valeur (ou absence) → la chaîne est ignorée et seul lemodelde niveau supérieur est utilisé.
Comment savoir quel modèle a servi la réponse
Vérifiez les en-têtes de réponseX-Orca-Fallback-Level et
X-Orca-Fallback-Model. Voir
En-têtes de réponse.
Quand ne pas utiliser ceci
Si vous voulez qu’OrcaRouter choisisse automatiquement le modèle disponible le moins cher sans écrire de chaîne, utilisezorcarouter/auto à la place. Les chaînes
de fallback sont pour les cas où vous voulez un contrôle explicite
sur l’ordonnancement.