Passer au contenu principal
Un API de modèle de langage local requiert deux fonctionnalités que la plupart des tunnels polyvalents ne prennent pas en compte : le flux de jetons (des événements envoyés par le serveur qui se transmettent dès qu’un jeton est généré, sans être regroupés en une seule réponse) ainsi que les connexions durables (une génération peut tout à fait se poursuivre au-delà du délai d’expiration par défaut du proxy). Cloudflare Tunnel, ngrok et Tailscale constituent des outils efficaces pour le trafic pour lequel ils ont été conçus — toutefois chacun mentionne des limites qui se manifestent précisément dans ce type de charge de travail. Le connecteur de Tokios fonctionne uniquement en sortie, à l’instar d’un tunnel, mais il a été conçu dès le départ pour gérer le flux de données des modèles de langage : il n’existe aucun délai de lecture/écriture à configurer, et les clés API sont associées à vos modèles plutôt qu’à des ports bruts.

Deux éléments qui entraînent des dysfonctionnements

La mise en mémoire tampon de la diffusion

Lorsqu’un LLM envoie sa réponse via SSE, les tokens partiels sont transmis dès leur création. Le client attend donc une diffusion régulière, et non un envoi massif à la fin. Or certains reverse proxies mettent par défaut les réponses en mémoire tampon afin d’optimiser le débit pour du trafic web classique, ce qui est inadapté pour SSE : le client attend en vain, puis reçoit la réponse en bloc (ou rencontre un délai d’attente dépassé).
La barre supérieure illustre une réponse mise en mémoire tampon, qui reste vide puis s’affiche d’un seul bloc ; la barre inférieure montre une réponse diffusée, où les tokens apparaissent un à un.

En mode mémoire tampon : le client attend, puis reçoit la réponse complète d’un coup. En mode diffusion : les tokens s’actualisent progressivement.

Les requêtes dépassent la durée maximale autorisée

Sur du matériel modeste, un modèle volumineux peut nécessiter bien plus de temps qu’un délai de requête web standard pour finaliser une génération. Tout proxy ou tunnel doté d’un délai d’attente fixe interrompra la connexion avant la fin du traitement, et le client recevra alors une erreur de passerelle au lieu du résultat attendu — même si le modèle poursuit son calcul.

Comparaison

Chacune de ces limites correspond au comportement officiellement documenté par les éditeurs pour leurs usages standards ; il ne s’agit pas d’anomalies. Cloudflare Tunnel, ngrok et Tailscale remplissent chacun parfaitement leur rôle. Les difficultés apparaissent uniquement lorsque l’on traite d’une API LLM en streaming générant des réponses de longue durée.

Le rôle de Tokios

Tokios ne remplace pas Tailscale ou Cloudflare Tunnel dans des contextes généraux. Continuez d’utiliser Tailscale pour accéder en SSH à un serveur domestique, ou Cloudflare Tunnel pour des applications web peu sollicitées — ce sont précisément leurs fonctions. Tokios constitue spécifiquement la couche de connexion permettant à un agent de codage ou à un client API d’atteindre un endpoint LLM en streaming hébergé sur votre propre matériel, sans tamponner les flux SSE ni risquer de dépasser les délais imposés par les proxys. Le tokios-connector émet les requêtes via un unique WebSocket sortant, reprenant le même principe de basculement de direction qu’un tunnel ; consultez Fonctionnement pour en connaître le flux complet. Chaque requête s’authentifie ensuite à l’aide d’une clé API sk-tok-… attribuée à des déploiements précis, plutôt que de permettre l’accès direct à un port ou à un nom d’hôte.

Prochaines étapes

Démarrage rapide

Associez un connecteur, enregistrez un modèle et envoyez votre première requête en streaming.

Mécanisme de routage des requêtes par Tokios

Découvrez en détail l’architecture exclusivement sortante et le flux des requêtes.
Pour une analyse détaillée du comportement de mise en mémoire tampon SSE de Cloudflare ainsi que du délai de timeout d’environ 100 à 120 secondes sur les abonnements non Enterprise, consultez Tokios contre Cloudflare Tunnel ; ce document décrit les modes de défaillance possibles et les cas où l’utilisation de l’edge est ou non adaptée pour l’inférence en streaming.
Vous souhaitez servir Ollama spécifiquement ? Consultez Accès distant à Ollama pour obtenir les instructions de configuration propres à cet environnement.