Comment router plusieurs modèles sans réécrire l'application
Contexte & contraintes
Plusieurs fournisseurs de modèles, des besoins de coût et de latence différents selon les usages, et une sécurité qui exige un point de contrôle unique sur les appels sortants.
Les options envisagées
- Un SDK par fournisseur dans l'application : rapide au début, insoutenable au troisième modèle
- Une gateway interne : un contrat d'API unique, du routage, des quotas, de l'observabilité
- Une passerelle du marché : fonctionnelle, mais un fournisseur de plus à faire homologuer
La décision
Gateway interne, contrat d'API unique, routage par usage
MotifLe point de contrôle était une exigence de sécurité de toute façon ; autant en faire le point d'abstraction.
Conséquence acceptéeUn composant interne à maintenir, superviser et documenter.
Ce qui a cassé
Les différences de comportement en streaming entre fournisseurs. Le contrat commun a dû être défini sur le plus contraint, pas sur le plus riche — sinon chaque nouveau modèle devient une exception dans le code applicatif.
Le résultat
- Changement de modèle sans modification applicative
- Quotas et repli automatique par usage
Ce que je referais autrement
Journaliser dès le premier jour le coût par requête et par usage. Rétrofitter cette mesure oblige à rejouer l'historique.
L'univers étendu
Questions liées
Comment tu orchestres plusieurs services LLM derrière une seule gateway ?
Un contrat d'API unique côté application, et derrière : routage par usage, quotas, repli automatique, observabilité du coût. La difficulté réelle n'est pas le routage, ce sont les différences de comportement en streaming entre fournisseurs. Le contrat commun se définit sur le plus contraint, sinon chaque nouveau modèle devient une exception dans le code applicatif. Le bénéfice : changer de fournisseur ne touche pas l'application.
SourcesAPI Gateway LLMAlstom