Transformer LM Studio en serveur API
LM Studio n'est pas qu'un chat graphique. Son onglet Developer expose une API OpenAI-compatible qui permet de brancher n'importe quel outil — Continue.dev, LangChain, vos scripts internes — sur un modèle local. Ce guide montre comment transformer votre poste LM Studio en serveur LLM privé pour l'équipe.
#Objectif de ce guide
À la fin, vous aurez un endpoint http://localhost:1234/v1 (ou accessible depuis votre LAN) qui parle le protocole OpenAI. N'importe quel SDK (openai-python, LangChain, llamaindex, Continue) pourra taper dessus sans une ligne de code changée.
#1. Activer le serveur
- 01Ouvrez l'onglet DeveloperIcône en forme de terminal dans la sidebar gauche. Si elle n'apparaît pas, basculez l'interface en mode Developer via Settings → UI Mode.
- 02Sélectionnez un modèleMenu déroulant en haut. Le modèle doit être déjà téléchargé (voir onglet My Models).
- 03Ajustez les réglagesContext Length, GPU offload, Flash Attention si disponible. Réglages par défaut OK pour démarrer.
- 04Cliquez Start ServerLe serveur écoute sur localhost:1234 par défaut. Le port est configurable juste à côté.
#2. Tester avec curl
Vous devriez recevoir un JSON standard OpenAI : choices[0].message.content contient la réponse.
#3. Appeler depuis Python
#4. Plusieurs modèles en parallèle
LM Studio 0.3+ peut charger plusieurs modèles simultanément. Chacun répond via son propre nom (qu'on sélectionne via le champ model de la requête).
#5. Exposer sur le réseau
Dans les settings du serveur, le champ Host accepte 0.0.0.0 pour écouter sur toutes les interfaces réseau. Depuis un autre poste du LAN :
#6. Performance et tuning
- GPU offload max
- Slider à fond à droite tant que la VRAM suit. Un 7B Q4 doit tenir entier en VRAM.
- Flash Attention
- Activez si disponible (coche dans les réglages du modèle). +15 à 30 % de throughput, moins de VRAM consommée par le contexte.
- Context Length
- Mettre la valeur dont vous avez besoin, pas plus. Un contexte 32k coûte beaucoup plus de VRAM qu'un 8k.
- n_batch
- Visible en mode Developer. 512 par défaut. 1024 accélère les longs prompts. Au-delà, gains marginaux.
#Limites et alternatives
- Pas de cluster
- LM Studio tourne sur un poste. Pour répartir la charge sur plusieurs machines, vLLM ou un load balancer devant plusieurs instances.
- Pas de queue
- Si 10 requêtes arrivent en même temps, elles sont traitées en séquence. Pour du throughput, vLLM est 5-10x plus rapide en batching.
- Licence commerciale
- Usage entreprise = licence payante. Ollama ou vLLM restent gratuits.
- Mises à jour auto
- Peuvent casser un workflow en prod. En environnement contrôlé, désactivez-les via Settings.
Un retour, une erreur, une précision ? Faites-nous signe, ça améliore le guide pour tout le monde.