Passer au contenu principal
SGLang est un runtime de service haute performance conçu pour le débit. Sa fonctionnalité signature, RadixAttention, utilise un cache KV en arborescence qui réutilise le calcul entre les requêtes partageant des préfixes de jetons communs. Cela fait de SGLang le meilleur choix open-source pour les charges de travail où de nombreuses requêtes portent le même prompt système, schéma d’outil ou contexte récupéré — pipelines RAG, chat multi-tours et boucles d’agents. Ce guide couvre quand choisir SGLang plutôt que vLLM, les drapeaux de configuration importants et des commandes de lancement prêtes à l’emploi pour les configurations courantes.
Dernière vérification : 2026-10-14. Cette page reflète SGLang v0.5.21 (sorti le 2 octobre 2026). Les noms de drapeaux et les valeurs par défaut peuvent changer entre les versions — vérifiez par rapport à votre version installée avec python -m sglang.launch_server --help.

RadixAttention

Le cache KV de SGLang n’est pas une table plate — c’est un arbre radix indexé par séquences de jetons. Chaque préfixe qu’une requête a traité réside dans l’arbre. Lorsqu’une nouvelle requête arrive, SGLang parcourt l’arbre pour trouver le préfixe correspondant le plus long et réutilise son état KV en cache au lieu de le recalculer. Concrètement, si 10 requêtes partagent un prompt système de 2,000 jetons, le prompt est pré-rempli une seule fois. Les 9 requêtes restantes passent directement au décodage. Au fur et à mesure que les conversations divergent, chaque branche obtient son propre nœud de cache, et les préfixes partagés à n’importe quelle profondeur sont réutilisés indépendamment. La différence de performance est significative pour les charges de travail à préfixes lourds. À 50 requêtes concurrentes avec 80% de préfixe partagé, SGLang délivre 37% de temps au premier jeton (TTFT) en moins par rapport à vLLM. L’avantage augmente avec le chevauchement de préfixes et diminue lorsque chaque requête est unique.
RadixAttention n’est pas quelque chose que vous activez — c’est ainsi que le cache KV de SGLang fonctionne par défaut. Chaque requête en bénéficie automatiquement. Les drapeaux de configuration contrôlent la politique d’éviction, les limites de mémoire et le backend de stockage basé sur Rust.

Quand SGLang gagne

Choisissez SGLang lorsque votre charge de travail a un fort chevauchement de préfixes :
  • Pipelines RAG — le même prompt système et les mêmes morceaux récupérés apparaissent dans de nombreuses requêtes. RadixAttention met en cache le préfixe du prompt + document une fois et le réutilise pour chaque question.
  • Conversations multi-tours — chaque tour étend le contexte précédent. L’historique complet de la conversation jusqu’au dernier tour est un préfixe partagé.
  • Boucles d’agents avec schémas d’outils — les agents envoient les mêmes définitions d’outils, exemples few-shot et prompts d’orchestration à chaque appel. SGLang met en cache ces préfixes et ne pré-remplit que les nouveaux résultats d’outils.
  • Longs prompts système partagés — tout déploiement où des dizaines ou des centaines d’utilisateurs partagent un grand prompt système (bots de support client, assistants de coding, Q&A de documents).
  • Évaluation par lots — exécuter le même modèle de prompt avec différentes substitutions de variables. Le préfixe du modèle est mis en cache ; seule la portion remplie est pré-remplie.

Quand vLLM gagne

Choisissez vLLM lorsque votre charge de travail privilégie la largeur à la profondeur :
  • Prompts uniques par requête — si chaque requête a un prompt complètement différent sans préfixe partagé, RadixAttention n’a rien à réutiliser. Le PagedAttention de vLLM gère les requêtes indépendantes tout aussi bien.
  • Support large de modèles — vLLM ajoute le support de nouvelles architectures de modèles plus rapidement. Si vous avez besoin d’un modèle sorti la semaine dernière, vLLM le supporte probablement en premier.
  • Optimisation GPU Blackwell — vLLM a des chemins d’optimisation dédiés pour le matériel NVIDIA Blackwell (B100/B200/GB200). Si vous déployez sur Blackwell, vLLM extrait plus de débit.
  • Décodage spéculatif EAGLE3 — L’intégration EAGLE de vLLM est plus mature. Si le décodage spéculatif est votre levier de latence principal, vLLM est le choix le plus sûr aujourd’hui.
  • Durcissement en production — vLLM a une base de déploiement plus large et une plus longue expérience en service de production. Si la stabilité et le support communautaire importent plus que le cache de préfixes, vLLM est le choix par défaut.

Drapeaux de configuration

Drapeaux clés spécifiques à SGLang pour python -m sglang.launch_server :

Cache de préfixes basé sur Rust

À partir de v0.5.21, le backend de cache RadixAttention est implémenté en Rust et activé par défaut. Le backend Rust remplace l’implémentation Python antérieure avec une surcharge plus faible pour les recherches de cache, les insertions et l’éviction. Vous n’avez pas besoin d’un drapeau pour l’activer — c’est le chemin par défaut. Si vous rencontrez des problèmes, vous pouvez revenir à l’implémentation Python avec --disable-cuda-graph et consulter les notes de version de SGLang pour le drapeau exact de retour arrière pour votre version. En pratique, le backend Rust est stable et plus rapide.

Matrice de décision

Exemples de configurations

Pipeline RAG avec long contexte récupéré

Servez un modèle de 70B optimisé pour le RAG, où chaque requête porte le même prompt système et de gros morceaux de documents récupérés :
--mem-fraction-static 0.92 alloue plus de mémoire GPU au cache KV pour les longs contextes récupérés. --chunked-prefill-size 4096 empêche les grands pré-remplissages de documents de bloquer les requêtes de décodage concurrentes. RadixAttention gère le reste — le prompt système et le préfixe du document sont mis en cache après la première requête.

Agent de chat multi-tours avec schémas d’outils

Servez un modèle pour un agent qui envoie les mêmes définitions d’outils à chaque appel :
Le schéma d’outils de l’agent, le prompt système et les exemples few-shot sont identiques à chaque appel. RadixAttention met en cache tout ce préfixe. Seuls les nouveaux résultats d’outils et le message utilisateur à la fin de chaque tour nécessitent un nouveau pré-remplissage. Avec un contexte de 32K, les conversations multi-tours peuvent exécuter des dizaines de tours avant d’atteindre la limite.

Évaluation par lots à haut débit

Exécutez le même modèle de prompt sur des milliers d’entrées avec un débit maximal :
Le modèle de prompt est pré-rempli une fois et mis en cache. Chaque requête ne pré-remplit que sa substitution de variable unique. Sur 8 GPUs avec parallélisme de tenseur, le débit par lots est dominé par le décodage — la surcharge de pré-remplissage est presque éliminée.
Avis de sécurité — Prétraitement vidéo Qwen VL. SGLang jusqu’à la v0.5.21 a une vulnérabilité de déni de service par épuisement mémoire dans le prétraitement vidéo Qwen VL. Une requête conçue peut déclencher une allocation mémoire illimitée lors du décodage de trames vidéo. Si vous servez des modèles Qwen VL, appliquez le correctif amont ou mettez à niveau vers une version qui inclut le correctif. Si vous ne pouvez pas mettre à niveau immédiatement, restreignez l’accès au serveur SGLang aux seuls appelants de confiance.

API de décisions native

SGLang v0.5.21 a ajouté une API de décisions native qui suit le même modèle qu’Ollama et LM Studio. Cela permet aux clients de vérifier quels modèles sont disponibles, de vérifier le statut des modèles et de gérer les déploiements via une interface cohérente — utile si vous construisez des outils qui parlent à plusieurs backends locaux. Consultez les notes de version de SGLang pour les chemins d’accès exacts des points d’accès et le format de requête/réponse, car la surface API est nouvelle et peut évoluer.

Connectez SGLang via Tokios

Une fois que SGLang fonctionne, le connecteur Tokios l’expose aux clients distants sans ouvrir de ports entrants. Le connecteur compose vers https://api.tokios.com et transfère les requêtes vers le point d’accès compatible OpenAI /v1 de SGLang sur localhost. Voir Accès distant SGLang pour la procédure complète de configuration.

Accès distant SGLang

Connectez SGLang via Tokios pour un accès distant authentifié.

Accès distant vLLM

Même schéma pour vLLM — comparez les configurations côte à côte.

Décodage spéculatif

Accélérez le décodage avec des modèles brouillon, des n-grammes, MTP et EAGLE.

Benchmarkez votre déploiement

Mesurez le TTFT, le débit et la latence entre les configurations.