mlx-lm est le package le plus pratique pour travailler avec des LLMs dans l’écosystème MLX. Si vous débutez avec MLX, c’est souvent par là qu’il faut commencer.
Il couvre trois usages principaux :
- tester un modèle en CLI
- intégrer un modèle dans un script Python
- exposer un serveur local compatible API
Installer mlx-lm
Mode 1 : ligne de commande
Génération simple
Paramètres à connaître
| Paramètre | Rôle |
|---|---|
--model | Nom du modèle ou chemin local |
--prompt | Texte envoyé au modèle |
--max-tokens | Longueur maximale de la réponse |
--temp | Niveau de variation dans la génération |
--adapter-path | Adaptateur LoRA à appliquer au modèle |
Quand la CLI suffit
La CLI est idéale pour :- vérifier qu’un modèle charge bien
- comparer plusieurs prompts
- tester un adaptateur LoRA
- valider rapidement un dataset ou un modèle converti
Mode 2 : API Python
Quand vous voulez intégrer le modèle dans votre propre logique, passez à Python :Utiliser un template de chat
Les modèles instruction et chat attendent souvent une mise en forme précise. Le tokenizer la connaît déjà :Streaming en Python
Si vous voulez afficher la réponse au fil de l’eau :Mode 3 : serveur local
mlx-lm peut aussi servir un modèle en HTTP. C’est utile si votre app Swift, votre frontend ou un autre outil doit consommer le modèle sans embarquer directement Python.
Lancer le serveur
Exemple avec le SDK OpenAI
Quand choisir ce mode
Choisissez le serveur si :- plusieurs clients doivent partager le même modèle
- votre frontend ne doit pas connaître Python
- vous voulez brancher rapidement une app existante sur un modèle local
Comparer les trois modes
| Mode | Bon choix si… |
|---|---|
| CLI | Vous testez vite depuis le terminal |
| Python | Vous écrivez un script ou un pipeline |
| Serveur HTTP | Vous intégrez le modèle dans une autre application |
Problèmes fréquents
Le modèle suit mal les instructions
Le modèle suit mal les instructions
Vérifiez d’abord que vous utilisez un modèle
Instruct ou Chat, puis appliquez le template de chat du tokenizer quand le modèle en a besoin.Le chargement est très lent la première fois
Le chargement est très lent la première fois
C’est normal. Le premier appel télécharge le modèle puis le met en cache localement.
Le modèle ne rentre pas en mémoire
Le modèle ne rentre pas en mémoire
Essayez une version plus petite ou quantifiée en
4bit. C’est souvent le moyen le plus simple de débloquer la situation.