model dans votre requête. Le point de terminaison et la clé API restent identiques ; seul le contenu du champ model varie.
Principe du routage
Chaque déploiement possède un nom public unique. Lorsque Tokios reçoit une requête, il analyse le champmodel, identifie le déploiement correspondant, remplace alors cette valeur par l’ID de modèle amont propre à ce déploiement, puis transmet la requête via le connecteur. La configuration de votre client demeure inchangée ; il suffit de modifier le champ model.
Un seul connecteur, plusieurs modèles
Un unique connecteur peut desservir plusieurs modèles. Listez chaque ID de modèle amont dansRoutes et associez-le à un nom local désigné dans Upstreams :
tokios-connector.json
gemma-tunnel devient gemma4:e4b, qwen-coder devient qwen2.5-coder), tous pointant vers ce même connecteur.
Changer de modèle dans les requêtes
Une fois les deux déploiements enregistrés, il suffit de modifier le champmodel pour basculer d’un modèle à l’autre.
Permutez le backend sans modifier les clients.
Puisque les clients ne font référence qu’au nom public du modèle, il est possible de le déplacer vers un autre matériel ou un autre backend sans modifier la configuration client : il suffit de mettre à jour le déploiement (ou l’ID de modèle amont du connecteur) afin qu’il pointe vers le nouveau serveur, tout en conservant le même nom public, et les requêtes existantes continueront de fonctionner.Stratégies de routage
Lorsque plusieurs modèles locaux sont en service, orienter toutes les requêtes vers le même modèle entraîne un gaspillage de ressources. Une requête de codage n’a pas besoin d’un modèle de raisonnement tel que 120B, et une tâche de classification simple ne requiert pas un modèle dense comme 70B. Le routage permet d’envoyer chaque requête au modèle le plus adapté à la tâche, optimisant ainsi la vitesse, la qualité ou le coût selon les besoins. Utiliser exclusivement le modèle 1 pour toutes les tâches implique un compromis : un modèle volumineux assure de bons résultats mais répond lentement et consomme davantage de VRAM. Un modèle plus petit répond rapidement mais peine à effectuer des raisonnements complexes. Le routage offre la possibilité d’utiliser les deux :- Vitesse : les requêtes simples sont traitées par un modèle petit et rapide, tandis que les tâches complexes sont confiées à un modèle plus volumineux.
- Qualité : les tâches de codage sont traitées par un modèle spécialisé en programmation, et les conversations générales par un modèle polyvalent.
- Coût : les modèles plus petits consomment moins d’énergie et de VRAM, laissant ainsi de la marge pour les tâches exigeantes.
- Résilience : si le modèle principal est surchargé ou indisponible, les requêtes sont automatiquement redirigées vers un modèle de secours.
Un modèle par déploiement
Un modèle par déploiement
La méthode la plus simple consiste à enregistrer chaque modèle en tant que déploiement Tokios distinct, puis à laisser le client choisir le modèle à appeler en modifiant le champ Votre client envoie des requêtes en incluant la valeur Cas d’utilisation : vous exécutez des modèles 2–3 et votre application choisit le modèle à invoquer. Il s’agit du point de départ le plus fréquent.
model.tokios-connector.json
model appropriée :Routage basé sur les tâches
Routage basé sur les tâches
Selon le type de tâche, on oriente les requêtes : vers un modèle spécialisé en programmation pour les demandes de codage, vers un modèle polyvalent pour les conversations, et vers un modèle à forte capacité de raisonnement pour les problèmes complexes. Le client ou une couche intermédiaire analyse la requête et sélectionne le déploiement adéquat.Pour un routage plus sophistiqué, utilisez un passerelle tel que LiteLLM ou OpenRouter qui analyse les requêtes et les redirige vers le backend approprié selon des règles configurables.
La mise en œuvre la plus simple se fait dans le code de votre application : examinez le type de requête puis choisissez le nom du déploiement :
Routage au niveau de la passerelle
Routage au niveau de la passerelle
Placez un proxy de routage entre vos clients et Tokios. Ce proxy détermine quel déploiement Tokios utiliser en fonction des attributs de la requête, de la charge ou de règles personnalisées.LiteLLM peut se placer devant plusieurs déploiements Tokios et effectuer le routage selon des alias de modèles :Les clients envoient leurs requêtes au proxy LiteLLM en utilisant l’alias
litellm_config.yaml
gpt-4 ; le proxy redirige alors vers le déploiement Tokios que vous avez configuré.OpenRouter prend en charge la redondance de modèles ainsi que l’équilibrage de charge entre plusieurs fournisseurs. Ajoutez votre point de terminaison Tokios en tant que fournisseur personnalisé et définissez les règles de routage dans le tableau de bord OpenRouter.Chaînes de redondance
Chaînes de redondance
Configurez un modèle principal ainsi que 1 modèles de secours. Lorsque le modèle principal est occupé, hors ligne ou renvoie une erreur, la requête est transmise au modèle suivant de la chaîne.Les connecteurs Tokios communiquent leur état au passerelle. Si un connecteur devient hors ligne, les requêtes destinées aux déploiements associés renvoient 503. Votre application peut alors effectuer une nouvelle tentative via un autre déploiement, ou vous pouvez configurer un passerelle tel que LiteLLM pour gérer automatiquement le basculement vers un autre modèle.
Routage basé sur les coûts
Routage basé sur les coûts
Dirigez les requêtes fréquentes et simples vers un modèle plus petit et moins coûteux, tout en réservant le modèle volumineux aux tâches nécessitant ses capacités.
Cette approche diminue la charge de calcul et la consommation d’énergie, ce qui est crucial pour les matériels grand public dotés de VRAM et de puissance limités.
Matrice de décision
Ces stratégies ne s’excluent pas mutuellement. Un schéma de production courant combine le routage selon les tâches (code → modèle de code) avec des chaînes de secours (modèle principal → modèle de secours) derrière un proxy de passerelle.
Prochaines étapes
Choisissez un modèle local
Comparez les modèles et les backends afin de déterminer quels déploiements il convient d’enregistrer.
Évaluez les performances de votre déploiement.
Mesurez le débit et la latence afin de valider vos choix de routage dans des conditions de charge réelles.