À quoi ressemble une pile faite maison
Une API LLM locale prête pour la production comporte 7 couches. Voici la fonction de chacune ainsi que les outils généralement employés :
Chaque couche correspond à un outil distinct à installer, configurer, mettre à jour et déboguer. Leur interaction n’est pas toujours évidente : le tamponnage de nginx influence le streaming SSE, les délais d’expiration des tunnels interagissent avec ceux des proxys, et le middleware d’authentification doit connaître le protocole API.
Comparaison de configuration
Les avantages du déploiement en mode autonome
- Contrôle total. Vous maîtrisez chaque couche du système. Vous pouvez inspecter, modifier et déboguer tout élément. Aucun service géré opaque ne se situe entre votre client et votre modèle.
- Aucun transfert de données vers des tiers. Tout le trafic reste sur l’infrastructure que vous contrôlez. Dans les secteurs réglementés (santé, finance, administration), cela constitue souvent une exigence impérative, et non un simple choix.
- Pas de verrouillage fournisseur. Si Tokios cessait ses activités ou modifiait ses tarifs, vous seriez contraint de changer de solution. En revanche, une infrastructure auto‑hébergée que vous avez conçue reste sous votre contrôle indéfiniment.
- Personnalisation illimitée. Limitation de débit sur mesure, pipeline de journalisation propre, règles de routage adaptées à chaque modèle, tests A/B — tout est envisageable lorsque vous contrôlez la configuration du proxy.
- Coût potentiellement inférieur à grande échelle. Pour plus de 100 utilisateurs, le coût par poste d’un service géré peut dépasser celui d’une infrastructure auto‑hébergée. À grande échelle, le modèle autonome s’avère plus économique.
Les atouts de Tokios
- Quelques minutes contre plusieurs heures. La mise en place complète de Tokios — installation du connecteur, enregistrement du modèle, création de la clé API — ne prend que 2 à 5 minutes. En revanche, la configuration initiale d’une solution autonome demande 4 à 8 heures, même pour un expert.
- Absence de charge de maintenance. Les certificats se renouvellent, les tunnels se reconnectent et le gateway se met à jour sans intervention de votre part. Une infrastructure autonome exige en revanche un suivi constant : renouvellement des certificats, résolution des pannes de tunnel, correctifs de sécurité pour nginx.
- Streaming intégré. Le streaming SSE fonctionne d’emblée sans configuration supplémentaire. Avec une solution autonome, il faut désactiver explicitement
proxy_bufferingdans nginx, configurerproxy_read_timeoutet s’assurer que le tunnel ne met pas en cache les réponses. - Authentification intégrée. Clés API attribuées à chaque utilisateur avec possibilité de définir le périmètre du déploiement. En mode autonome, il faut développer ou déployer un middleware d’authentification, gérer en toute sécurité le stockage des clés et mettre en place la logique d’annulation d’accès.
- Gestion du CGNAT. La connexion unidirectionnelle de Tokios fonctionne derrière n’importe quel NAT. Une configuration manuelle de tunnel gère ou non le CGNAT selon l’outil utilisé : Cloudflare Tunnel le gère, mais nginx associé à Let’s Encrypt ne le fait pas.
- Aucune surface de sécurité à gérer. Pas de ports exposés, pas de gestion du cycle de vie des certificats, pas de vulnérabilités liées aux intermédiaires d’authentification. Le connecteur initie les appels ; le tableau de bord s’occupe du reste.
Les pièges liés au streaming
C’est ici que les configurations manuelles échouent le plus souvent dans le cadre des charges de travail LLM. 3 couches distinctes peuvent provoquer un bufferage ou un dépassement de temps lors de la transmission d’une réponse en streaming :-
Bufferage de nginx. Par défaut, nginx met en buffer les réponses provenant du modèle amont. Il faut définir
proxy_buffering off;etproxy_cache off;dans le bloc location destiné à votre point de terminaison LLM. En omettant cela, les tokens se transmettent en un seul lot à la fin de la génération. -
Délais d’attente des proxys. La valeur par défaut de
proxy_read_timeoutchez nginx est de 60 secondes. Une génération longue sur du matériel grand public peut dépasser cette limite. Il convient donc de la régler à 300 secondes ou davantage. Si un tunnel se trouve en amont (Cloudflare Tunnel), son délai d’attente d’environ 100 à 120 secondes devient alors la nouvelle limite. -
Configuration du protocole SSE. L’en-tête
Content-Type: text/event-streamdoit être transmis depuis le backend à travers chaque couche de proxy jusqu’au client. Si une couche le supprime ou le modifie, le bufferage peut se produire.
524 ou 504.
Le passerelle de Tokios gère correctement tous les 3 par défaut, car elle a été conçue pour ce type de trafic spécifique.
Quand une configuration manuelle reste pertinente
- Environnements réglementés. Secteurs de la santé, de la finance ou administrations où aucun transfert de données via des tiers n’est autorisé. Tout le trafic doit rester sur des infrastructures que vous contrôlez et pouvez auditer.
- Capacités DevOps déjà en place. Vous exploitez déjà Kubernetes, disposez d’un système de surveillance, et l’ajout d’un service supplémentaire ne nécessite qu’un effort modeste — sans apprentissage de nouvelles compétences.
- Vous avez besoin d’un contrôle total. Il s’agit de mettre en œuvre une logique de routage personnalisée, un pipeline de journalisation dépassant les fonctionnalités d’enregistrement des requêtes intégrées à Tokios, ou d’intégrer des systèmes internes que les services gérés ne permettent pas d’associer.
- 100 utilisateurs ou plus, lorsque le coût par poste est crucial. Lorsque le nombre d’utilisateurs est élevé, l’auto-hébergement d’une infrastructure s’avère bien moins coûteux que les tarifs basés sur le nombre de postes proposés par les services gérés.
Dans quels cas Tokios constitue-t-il un bon choix ?
- Vous souhaitez obtenir le résultat escompté sans avoir à construire toute l’infrastructure. Votre objectif est simplement « rendre mon modèle accessible via une clé API », et non « apprendre à configurer Nginx ».
- Small teams. 2–10 people who need model access. It’s free on the community plan, and nobody’s time goes to infrastructure maintenance.
- Situés derrière un CGNAT. Votre fournisseur d’accès Internet bloque les connexions entrantes ; bien qu’il soit possible de mettre en place un tunnel manuellement, Tokios gère cette situation nativement sans aucune configuration supplémentaire.
- Vous souhaitez un déploiement rapide. Vous voulez pouvoir effectuer des appels API en l’espace de 5 minutes, sans devoir consacrer une après-midi entière à la configuration de couches de proxy.
Tokios comparé à LiteLLM
Quand opter pour un proxy/gateway open source plutôt qu’un service géré ?
Dans quelles situations utiliser Tokios ?
Un guide honnête indiquant les cas où Tokios constitue — ou non — le choix idéal.