- llamafile empaquette un modèle GGUF et le moteur d'inférence llama.cpp dans un seul fichier exécutable qui s'exécute sur Linux, macOS, Windows, FreeBSD et bien d'autres — aucune installation requise.
- Exécuter
./model.llamafileet une interface de chat dans le navigateur s'ouvre automatiquement ; une API compatible OpenAI est servie surhttp://localhost:8080/v1. - Les fichiers de plus de 4 Go ne peuvent pas s'exécuter directement sur Windows — utilisez une quantification plus petite ou exécutez l'environnement d'exécution et le GGUF séparément.
- Best for air-gapped machines, USB deployment, and one-file sharing. Ollama is better for managing multiple models long-term.
llamafile est un seul fichier exécutable qui contient à la fois un modèle de langage et l'environnement d'exécution d'inférence. Construit sur llama.cpp et Cosmopolitan Libc, le même fichier s'exécute nativement sur Linux, macOS, Windows, FreeBSD et d'autres — aucun conteneur, aucun environnement Python, aucun gestionnaire de paquets requis.
- Comment un seul fichier s'exécute sur tous les systèmes d'exploitation
- Téléchargement et exécution d'un llamafile
- L'interface web intégrée
- L'API compatible OpenAI
- Création d'un llamafile à partir d'un GGUF existant
- llamafile vs Ollama : quand utiliser chacun
- Configuration requise
- Questions fréquemment posées
Comment un seul fichier s'exécute sur tous les systèmes d'exploitation
llamafile s'appuie sur deux technologies. llama.cpp fournit le moteur d'inférence C++ pour les modèles au format GGUF. Cosmopolitan Libc produit un binaire polyglotte : un seul ensemble d'octets qui satisfait simultanément le format PE/COFF que Windows attend, le format ELF que Linux attend, et l'en-tête Mach-O que macOS attend. Lorsque vous exécutez le fichier, chaque chargeur de système d'exploitation trouve son propre en-tête valide et exécute le binaire nativement — aucune couche d'émulation ou de traduction impliquée.
Les poids du modèle sont ajoutés à ce binaire à l'aide d'un conteneur compatible ZIP. ZIP permet des données arbitraires avant l'enregistrement du répertoire central, donc le fichier GGUF se trouve à la fin sans corrompre l'exécutable. L'environnement d'exécution localise les poids en cherchant à la fin du fichier au démarrage. Un effet 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
Les llamafiles pré-compilés sont publiés sur Hugging Face par les auteurs de modèles et liés depuis le Mozilla-Ocho/llamafile GitHub repository. Les fichiers utilisent l'extension .llamafile .
Linux et macOS
# Rendre exécutable — les fichiers téléchargés n'ont pas le bit d'exécution 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 "Explain llamafile in one paragraph"
Le serveur se lie à 127.0.0.1:8080 par défaut. Passez --port 9000 pour changer le port, ou --host 0.0.0.0 pour écouter sur toutes les interfaces réseau — utile pour servir à partir d'une machine sans tête sur un réseau local. Exécutez./model.llamafile --help pour voir tous les drapeaux disponibles, y compris les options pour supprimer l'onglet de navigateur automatique lors de l'exécution sans tête.
Windows
Windows nécessite que les exécutables se terminent par .exe. Renommez le fichier avant de l'exécuter :
ren mistral-7b-instruct.llamafile mistral-7b-instruct.llamafile.exe
Puis double-cliquez dessus dans Explorer ou exécutez-le à partir de l'invite de commande. Un onglet de navigateur s'ouvre automatiquement.
La limite de 4 Go. Le chargeur PE Windows ne peut pas gérer les exécutables de plus de 4 Go. La plupart des modèles 7B en quantification Q8 ou supérieure et tous les modèles 13B+ dépassent ce seuil. Si le fichier dépasse 4 Go, Windows refusera de le lancer. Vos options : télécharger un Q4_K_M variante quantifiée (généralement 4–5 GB pour un modèle 7B, souvent juste en dessous de la limite), ou téléchargez le binaire runtime llamafile autonome et passez le GGUF comme argument séparé. Avant de choisir un modèle et une quantification, consultez les exigences en VRAM et taille de fichier pour les LLM majeurs pour choisir la bonne quantification pour votre matériel.
L'interface web intégrée
Exécuter un llamafile sans le -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.
L'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 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 chacun
Les deux outils s'exécutent Modèles GGUF localement et exposent des API compatibles OpenAI. Ils résolvent des problèmes différents. Consultez le Guide complet 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. Choisir 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 Calculatrice du seuil de rentabilité auto-hébergement vs API calculateur de coût peut quantifier le compromis par rapport aux coûts des API cloud.
Configuration requise
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 calculatrice 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 guide des meilleurs GPUs pour les LLMs locaux 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 is a GUI desktop application for model discovery and inference — it requires installation and manages a library of models, making it closer to Ollama than to llamafile. llamafile is a deployment format: no GUI, no model library, just a file you execute. LM Studio suits users who want a visual interface; llamafile suits automated, headless, or portable deployments. See the Guide complet LM Studio pour une analyse complète.
