- llamafile regroupe un modèle au format GGUF et le moteur d'inférence llama.cpp dans un seul fichier exécutable fonctionnant sur Linux, macOS, Windows, FreeBSD, et bien d'autres systèmes — aucune installation n'est requise.
- Exécuter
./model.llamafileet une interface de discussion dans le navigateur s'ouvre automatiquement ; une API compatible OpenAI est exposée à l'adressehttp://localhost:8080/v1. - Les fichiers supérieurs à 4 Go ne peuvent pas être exécutés directement sous Windows — utilisez une quantification plus légère ou exécutez séparément le runtime et le fichier GGUF.
- Idéal pour les machines déconnectées du réseau (« air-gapped »), le déploiement via clé USB et le partage d’un seul fichier. Ollama convient mieux à la gestion à long terme de plusieurs modèles.
llamafile est un fichier exécutable unique contenant à la fois un modèle de langage et le runtime d’inférence. Basé sur llama.cpp et Cosmopolitan Libc, ce même fichier s’exécute nativement sur Linux, macOS, Windows, FreeBSD, etc. — aucun conteneur, aucun environnement Python ni aucun gestionnaire de paquets n’est requis.
- Comment un seul fichier peut s’exécuter sur tous les systèmes d’exploitation
- Téléchargement et exécution d’un llamafile
- Interface web intégrée
- API compatible OpenAI
- Création d’un llamafile à partir d’un fichier GGUF existant
- llamafile vs Ollama : Quand utiliser l’un ou l’autre
- Exigences matérielles
- Questions fréquemment posées
Comment un seul fichier peut s’exécuter sur tous les systèmes d’exploitation
llamafile repose sur deux technologies. llama.cpp fournit le moteur d’inférence en C++ pour les modèles au format GGUF. Cosmopolitan Libc génère un binaire polyglotte : un seul ensemble d’octets satisfaisant simultanément le format PE/COFF attendu par Windows, le format ELF attendu par Linux, et l’en-tête Mach-O attendu par macOS. Lorsque vous exécutez le fichier, chaque chargeur système identifie son propre en-tête valide et exécute le binaire nativement — aucune émulation ni couche de traduction n’est impliquée.
Les poids du modèle sont ajoutés à ce binaire à l’aide d’un conteneur compatible ZIP. Le format ZIP autorise des données arbitraires avant l’enregistrement du répertoire central, si bien que le fichier GGUF se trouve à la fin sans corrompre l’exécutable. Le runtime localise les poids en se positionnant à la fin du fichier au démarrage. Conséquence pratique : vous pouvez inspecter ou extraire les poids de n’importe quel llamafile à l’aide d’un utilitaire ZIP standard.
Téléchargement et exécution d’un llamafile
Des llamafiles pré-compilés sont publiés sur Hugging Face par les auteurs de modèles et référencés depuis le dépôt GitHub Mozilla-Ocho/llamafile. Les fichiers utilisent l’extension .llamafile .
Linux et macOS
# Rendre le fichier exécutable — les fichiers téléchargés n’ont pas le bit d’exécution activé par défaut
chmod +x mistral-7b-instruct.llamafile
# Démarrer le serveur et l’interface web (le navigateur s’ouvre automatiquement)
./mistral-7b-instruct.llamafile
# Inférence CLI ponctuelle sans démarrer le serveur
./mistral-7b-instruct.llamafile -p "Expliquez llamafile en un seul paragraphe"Le serveur écoute par défaut sur 127.0.0.1:8080 . Pour modifier le port, utilisez l’option --port 9000 ou l’option --host 0.0.0.0 pour écouter sur toutes les interfaces réseau — utile lorsqu’on héberge le service depuis une machine sans interface graphique sur un réseau local. Exécutez./model.llamafile --help pour afficher la liste complète des options disponibles, notamment celles permettant de désactiver l’ouverture automatique de l’onglet navigateur en mode sans tête.
Windows
Sous Windows, les exécutables doivent obligatoirement porter l’extension .exe. Renommez le fichier avant de l’exécuter :
ren mistral-7b-instruct.llamafile mistral-7b-instruct.llamafile.exeVous pouvez ensuite le lancer en double-cliquant dessus dans l’Explorateur ou depuis l’invite de commandes. Un onglet navigateur s’ouvre automatiquement.
La limite de 4 Go. Le chargeur PE de Windows ne peut pas gérer des exécutables supérieurs à 4 Go. La plupart des modèles de 7 milliards de paramètres (7B) en quantification Q8 ou supérieure, ainsi que tous les modèles de 13B et plus, dépassent ce seuil. Si le fichier excède 4 Go, Windows refusera de le lancer. Vous avez alors deux options : télécharger une variante quantifiée (typiquement 4–5 Go pour un modèle 7B, souvent juste en dessous de la limite), ou télécharger séparément le binaire autonome du runtime llamafile et passer le fichier GGUF comme argument distinct. Avant de choisir un modèle et une quantification, consultez les Q4_K_M exigences en mémoire vidéo (VRAM) et en taille de fichier pour les principaux modèles de langage (LLM) afin de sélectionner la quantification adaptée à votre matériel. pour choisir la quantification adaptée à votre matériel.
Interface web intégrée
Lancer un llamafile sans l’option -p démarre un serveur HTTP et ouvre automatiquement votre navigateur par défaut sur l’adresse http://localhost:8080. L’interface est une application monopage entièrement autonome, sans dépendance vis-à-vis de réseaux de diffusion de contenu externes (CDN) — elle fonctionne entièrement hors ligne. Elle propose les fonctionnalités suivantes :
- Configuration de l’instruction système (« system prompt »)
- Paramètres d’échantillonnage : température, top-p, top-k, pénalité de répétition
- Affichage du nombre de jetons (tokens)
- Historique de conversation persistant au sein de la session
Tout appareil du réseau local (LAN) peut accéder à cette interface si vous avez lancé le serveur avec l’option --host 0.0.0.0.
API compatible OpenAI
Pendant l’exécution du serveur, llamafile expose une API REST compatible OpenAI à l’adresse http://localhost:8080/v1. Tout client SDK OpenAI, LangChain ou LlamaIndex peut y accéder en redéfinissant l’URL de base :
curl http://localhost:8080/v1/chat/completions
-H "Content-Type: application/json"
-d '{
"model": "local",
"messages": [{"role": "user", "content": "Bonjour"}]
}'En Python, définissez base_url="http://localhost:8080/v1" et indiquez n’importe quelle chaîne non vide comme clé API lors de la création de l’instance openai.OpenAI . Le modèle le champ « requests » est ignoré — le modèle chargé est toujours utilisé.
Création d’un llamafile à partir d’un fichier GGUF existant
Si vous possédez déjà un modèle GGUF — issu de l’écosystème llama.cpp, du cache local d’Ollama ou d’un téléchargement depuis Hugging Face — vous pouvez l’emballer dans un fichier llamafile autonome. Ce processus utilise l’utilitaire llamafile-zipalign fourni avec la suite d’outils llamafile :
- Téléchargez l’archive de la version llamafile correspondant à votre plateforme depuis la page des versions publiées sur GitHub.
- Extrayez le binaire autonome
llamafile(exécutable uniquement, sans modèle intégré). - Utilisez
llamafile-zipalignpour ajouter votre fichier GGUF à une copie du binaire d’exécution. - Rendez le fichier résultant exécutable et lancez-le.
La syntaxe exacte des options a évolué entre les versions. Reportez-vous à la section officielle du README consacrée à la création de llamafiles pour connaître la syntaxe actuelle. Le résultat est un seul fichier portable que vous pouvez distribuer comme n’importe quel autre binaire.
llamafile vs Ollama : Quand utiliser l’un ou l’autre
Ces deux outils exécutent localement des modèles GGUF et exposent des API compatibles avec OpenAI. Ils répondent à des besoins différents. Pour une analyse plus approfondie de l’autre côté de cette comparaison, consultez la Guide complet d’Ollama section dédiée.
| Critère | llamafile | Ollama |
|---|---|---|
| Installation | Aucune — téléchargez et exécutez directement | Nécessite un programme d’installation ou un gestionnaire de paquets |
| Gestion des modèles | Manuelle — un fichier par modèle | Bibliothèque intégrée, ollama pull |
| Portabilité | Fichier unique — clé USB, courrier électronique, partage NFS | Nécessite le démon Ollama sur la machine cible |
| Accélération GPU | CUDA, Metal, ROCm (détection automatique) | CUDA, Metal, ROCm |
| Service multi-modèles | Un modèle par processus | Plusieurs modèles, permutation automatique à chaud |
| Grands modèles sous Windows | Limité : fichiers exécutables de moins de 4 Go uniquement | Prise en charge complète, quelle que soit la taille |
| Déploiement hors ligne (« air-gapped ») | Excellente — aucune dépendance au moment de l’exécution | Nécessite l’installation du démon |
| Interface web intégrée | Oui, sans installation supplémentaire | Nécessite une interface frontale distincte |
Choisissez llamafile lorsque vous distribuez sur une machine que vous ne contrôlez pas, lorsque vous effectuez un déploiement hors ligne, ou lorsque vous intégrez un modèle dans un projet devant fonctionner sans dépendances système. Choisissez Ollama lorsque vous gérez une bibliothèque de modèles, souhaitez bénéficier de mises à jour automatiques ou basculez fréquemment entre plusieurs modèles au sein d’une même session.
Si vous hésitez à savoir si l’inférence locale présente un intérêt économique pour votre charge de travail, le Calculateur de seuil de rentabilité entre hébergement local et utilisation d’une API calculateur de coût peut quantifier le compromis par rapport aux coûts des API cloud.
Exigences matérielles
llamafile ajoute une surcharge négligeable par rapport à llama.cpp. Le goulot d’étranglement réside toujours dans la taille du modèle et sa quantification. llamafile détecte automatiquement les accélérateurs disponibles au démarrage — CUDA pour les GPU NVIDIA, Metal pour les puces Apple Silicon, ROCm pour AMD — et les utilise sans intervention. En l’absence de GPU, il revient à l’inférence CPU en exploitant les instructions AVX2 ou AVX-512, si disponibles.
Un modèle de 7 milliards de paramètres en quantification Q4_K_M nécessite environ 4 à 5 Go de VRAM pour s’exécuter entièrement sur GPU. Utilisez le Calculateur de VRAM calculateur de ressources pour estimer les besoins spécifiques à tout modèle et toute quantification avant téléchargement. Pour les décisions d’achat matériel, le meilleur Cartes graphiques pour les grands modèles linguistiques locaux guide guide d’achat couvre les options actuelles selon les différentes gammes de prix.
Questions fréquemment posées
Puis-je exécuter llamafile sur Apple Silicon ?
Oui. llamafile génère un binaire natif Mach-O sur Apple Silicon et utilise automatiquement l’accélération GPU Metal. Les performances sont solides pour les modèles de 7B et 13B ; les modèles plus volumineux sont limités par la mémoire unifiée disponible. Un M2 Max ou un M3 Pro équipé de 36 Go de mémoire unifiée permet d’exécuter confortablement des modèles de classe 30B.
llamafile prend-il en charge les modèles multimodaux (vision) ?
llamafile repose sur llama.cpp, qui prend en charge les modèles vision de type LLaVA. Le fait qu’un llamafile spécifique prenne en charge les entrées d’image dépend de la nature multimodale du modèle intégré. Consultez la fiche du modèle que vous téléchargez — cette capacité réside dans les poids, et non dans le moteur d’exécution.
Comment arrêter le serveur ?
Presse Ctrl+C dans le terminal où llamafile est en cours d’exécution. Si vous l’avez lancé en double-cliquant sous Windows ou macOS, fermez la fenêtre de terminal qui s’est ouverte, ou mettez fin au processus via le Gestionnaire des tâches ou le Moniteur d’activité.
Puis-je exécuter llamafile en tant que service en arrière-plan ?
Oui. Sous Linux, encapsulez-le dans un fichier d’unité systemd. Sous macOS, créez un fichier plist launchd. llamafile accepte les signaux Unix standard et fonctionne avec n’importe quel superviseur de processus. Exécutez ./model.llamafile --help pour obtenir l’option permettant de désactiver l’ouverture automatique d’un onglet navigateur lors d’un lancement en mode sans interface graphique.
llamafile est-il identique à un fichier GGUF ?
Non. Un fichier GGUF contient uniquement les poids du modèle et requiert un moteur d’exécution séparé — llama.cpp, Ollama, LM Studio, ou similaire, pour s’exécuter. Un fichier llamafile regroupe les poids et et le runtime dans un seul fichier. Comme les poids sont ajoutés au format ZIP, vous pouvez extraire le fichier GGUF brut de n’importe quel fichier llamafile à l’aide d’un utilitaire ZIP standard et l’utiliser ailleurs.
En quoi llamafile se distingue-t-il de LM Studio ?
LM Studio est une application de bureau dotée d’une interface graphique (GUI) destinée à la découverte et à l’inférence de modèles ; elle nécessite une installation et gère une bibliothèque de modèles, ce qui la rapproche davantage d’Ollama que de llamafile. llamafile, quant à lui, est un format de déploiement : pas d’interface graphique, pas de bibliothèque de modèles, juste un fichier à exécuter. LM Studio convient aux utilisateurs souhaitant une interface visuelle, tandis que llamafile est adapté aux déploiements automatisés, sans interface (headless) ou portables. Consultez le Guide complet de LM Studio pour une analyse complète.

