Fallback fournisseur
Quand un fournisseur tombe, HiWay retry sur le modèle le moins cher du même tier. Max 2 retries.
Les fournisseurs tombent. Parfois c'est un 503, parfois un timeout, parfois un refus de policy. HiWay ne laisse pas une erreur transitoire casser votre app : en cas d'échec, il retry automatiquement sur le modèle suivant le moins cher du même tier, jusqu'à 2 retries. La réponse finale porte _hiway.fallback = true pour que vous sachiez que la chaîne de retry s'est déclenchée.
Logique de retry
- Décision de routage primaire (tier T, modèle M1).
- Appel du fournisseur pour M1. S'il renvoie 5xx / timeout / erreur retryable spécifique au fournisseur - passage au retry 1.
- Retry 1 : modèle suivant le moins cher du tier T parmi vos fournisseurs activés (M2). Même logique.
- Retry 2 : suivant le moins cher après M2 (M3).
- Si les trois échouent, renvoie un 502 avec le dernier body d'erreur upstream et
_hiway.fallback_chainlistant les trois tentatives.
Ce qui ne déclenche PAS le fallback
- Erreurs 4xx de l'upstream (bad request, auth) - c'est votre problème, pas une panne fournisseur.
- Refus de content-policy déterministes (le même prompt échouerait sur n'importe quel modèle).
- Requêtes épinglées à un modèle spécifique (ex.
model="openai/gpt-4o") - on respecte le pin et on remonte l'erreur.
Le fallback compte pour UNE requête
Même si le fallback retry sur deux modèles additionnels, ça compte toujours pour une seule requête dans votre quota mensuel. Vous ne payez le coût BYOK upstream que des tentatives qui ont réellement tourné.