Thursday, 13 August 2026 | Updating Daily AI insight, written for builders

llamafile: Esegui qualsiasi LLM come un singolo eseguibile portatile

  • llamafile impacchetta un modello GGUF e il motore di inferenza llama.cpp in un unico file eseguibile che funziona su Linux, macOS, Windows, FreeBSD e altri sistemi operativi — nessuna installazione richiesta.
  • Esegui ./model.llamafile e un'interfaccia web per la chat si apre automaticamente; un'API compatibile con OpenAI è disponibile all'indirizzo http://localhost:8080/v1.
  • I file superiori a 4 GB non possono essere eseguiti direttamente su Windows — utilizza una quantizzazione più leggera oppure esegui separatamente il runtime e il file GGUF.
  • Ideale per macchine isolate (air-gapped), distribuzione tramite USB e condivisione in un singolo file. Ollama è invece più adatto per gestire a lungo termine più modelli.

llamafile è un singolo file eseguibile che contiene sia un modello linguistico sia il runtime per l'inferenza. Basato su llama.cpp e Cosmopolitan Libc, lo stesso file viene eseguito nativamente su Linux, macOS, Windows, FreeBSD e altri sistemi operativi — senza container, senza ambiente Python e senza gestore di pacchetti.

Come un singolo file può essere eseguito su ogni sistema operativo

llamafile si basa su due tecnologie. llama.cpp Fornisce il motore di inferenza C++ per modelli nel formato GGUF. Cosmopolitan Libc Genera un binario poliglotta: un unico insieme di byte che soddisfa contemporaneamente il formato PE/COFF atteso da Windows, il formato ELF atteso da Linux e l’intestazione Mach-O attesa da macOS. Quando esegui il file, ogni loader del sistema operativo individua la propria intestazione valida ed esegue il binario nativamente — senza alcun livello di emulazione o traduzione.

I pesi del modello vengono aggiunti a questo binario utilizzando un contenitore compatibile ZIP. Poiché ZIP consente dati arbitrari prima del record della directory centrale, il file GGUF viene posizionato alla fine senza corrompere l’eseguibile. Il runtime individua i pesi cercando la fine del file all’avvio. Effetto collaterale pratico: puoi ispezionare o estrarre i pesi da qualsiasi llamafile usando un normale utility ZIP.

Download ed esecuzione di un llamafile

I llamafile precompilati vengono pubblicati su Hugging Face dagli autori dei modelli e sono collegati dal repository GitHub Mozilla-Ocho/llamafile. I file utilizzano l’estensione .llamafile .

Linux e macOS

# Rendi eseguibile — i file scaricati non hanno di default il bit di esecuzione
chmod +x mistral-7b-instruct.llamafile

# Avvia il server e l’interfaccia web (il browser si apre automaticamente)
./mistral-7b-instruct.llamafile

# Inferenza CLI one-shot senza avviare il server
./mistral-7b-instruct.llamafile -p "Spiega llamafile in un solo paragrafo"

Il server si associa all’indirizzo 127.0.0.1:8080 di default. Per modificare la porta, specifica l’opzione --port 9000 oppure usa --host 0.0.0.0 --host 0.0.0.0per ascoltare su tutte le interfacce di rete — utile per servire da una macchina headless su una rete locale. Esegui ./model.llamafile --help

Windows

per visualizzare tutti i flag disponibili, inclusa l’opzione per disabilitare l’apertura automatica della scheda del browser in modalità headless. .exe.exe

rinomina il file prima di eseguirlo:

ren mistral-7b-instruct.llamafile mistral-7b-instruct.llamafile.exe

Quindi fai doppio clic su di esso in Esplora file oppure eseguilo dal Prompt dei comandi. Una scheda del browser si apre automaticamente. Limite dei 4 GB. Q4_K_M variante quantizzata (tipicamente 4–5 GB per un modello da 7B, spesso appena sotto il limite) oppure scarica il binario runtime standalone di llamafile e passa il file GGUF come argomento separato. Prima di scegliere un modello e una quantizzazione, consulta i requisiti di VRAM e dimensione del file per i principali LLM per selezionare la quantizzazione più adatta al tuo hardware.

L'interfaccia web integrata

L'esecuzione di un llamafile senza il flag -p avvia un server HTTP e apre automaticamente il browser predefinito all’indirizzo http://localhost:8080. L’interfaccia è una single-page application completamente autosufficiente, priva di dipendenze da CDN esterne — funziona interamente offline. Offre le seguenti funzionalità:

  • Configurazione del prompt di sistema
  • Parametri di campionamento: temperatura, top-p, top-k, penalità per ripetizioni
  • Visualizzazione del numero di token
  • Cronologia delle conversazioni persistente all’interno della sessione

Qualsiasi dispositivo sulla tua LAN può accedere all’interfaccia se hai avviato il server con --host 0.0.0.0.

L'API compatibile con OpenAI

Mentre il server è in esecuzione, llamafile espone un’API REST compatibile con OpenAI all’indirizzo http://localhost:8080/v1. Qualsiasi client SDK OpenAI, LangChain o integrazione LlamaIndex può puntare a tale API sovrascrivendo l’URL base:

curl http://localhost:8080/v1/chat/completions 
  -H "Content-Type: application/json" 
  -d '{
    "model": "local",
    "messages": [{"role": "user", "content": "Ciao"}]
  }'

In Python, imposta base_url="http://localhost:8080/v1" e qualsiasi stringa non vuota come chiave API durante la creazione dell’istanza del client openai.OpenAI . Il modello il campo nelle richieste viene ignorato — viene sempre utilizzato il modello caricato.

Creazione di un llamafile da un GGUF esistente

Se hai già un modello GGUF — dall'ecosistema llama.cpp, dalla cache locale di Ollama o da un download da Hugging Face — puoi incapsularlo in un llamafile autonomo. Il processo utilizza l'utilità llamafile-zipalign inclusa nel toolkit llamafile:

  1. Scarica l'archivio della versione llamafile per la tua piattaforma dalla pagina delle release su GitHub.
  2. Estrai il binario standalonellamafile (solo runtime, senza modello incluso).
  3. Usa llamafile-zipalign per aggiungere il tuo file GGUF a una copia del binario runtime.
  4. Rendi il risultato eseguibile e avvialo.

La sintassi esatta dei flag è cambiata tra le varie versioni. Segui la sezione ufficiale della README sulla creazione di llamafile per la sintassi corrente. L'output è un singolo file portatile che puoi distribuire come qualsiasi altro binario.

llamafile rispetto a Ollama: quando usare l’uno o l’altro

Entrambi gli strumenti eseguono modelli GGUF localmente ed espongono API compatibili con OpenAI. Risolvono problemi diversi. Per un'analisi più approfondita dell'altro lato di questo confronto, consulta la Guida completa a Ollama tabella comparativa.

CriteriollamafileOllama
InstallazioneNessuna — scarica ed eseguiRichiede un programma di installazione o un gestore di pacchetti
Gestione dei modelliManuale — un file per modelloLibreria integrata, ollama pull
PortabilitàFile singolo — USB, email, condivisione NFSRichiede il demone Ollama sull'host di destinazione
Accelerazione GPUCUDA, Metal, ROCm (rilevamento automatico)CUDA, Metal, ROCm
Servizio multi-modelloUn modello per processoPiù modelli, cambio automatico al volo
Modelli di grandi dimensioni su WindowsLimitato: solo eseguibili inferiori a 4 GBSupporto completo a qualsiasi dimensione
Distribuzione in ambienti isolati (air-gapped)Ottimo — zero dipendenze a runtimeRichiede l'installazione del demone
Interfaccia web integrataSì, nessuna installazione aggiuntivaRichiede un frontend separato

Scegli llamafile quando devi distribuire su una macchina che non controlli, operare in un ambiente isolato (air-gapped) o integrare un modello in un progetto che deve funzionare senza dipendenze a livello di sistema. Scegli Ollama quando gestisci una libreria di modelli, desideri aggiornamenti automatici o devi passare frequentemente tra modelli diversi nella stessa sessione.

Se stai valutando se l'inferenza locale abbia senso economicamente per il tuo carico di lavoro, il Calcolatore del punto di pareggio tra auto-hosting e utilizzo di API calcolatore dei costi di inferenza locale

Requisiti hardware

aggiunge un overhead trascurabile rispetto a llama.cpp. Il collo di bottiglia è sempre rappresentato dalle dimensioni del modello e dalla quantizzazione. llamafile rileva automaticamente gli acceleratori disponibili all'avvio — CUDA per GPU NVIDIA, Metal per Apple Silicon, ROCm per AMD — e li utilizza in modo automatico. Se non viene rilevata alcuna GPU, passa automaticamente all'inferenza su CPU usando istruzioni AVX2 o AVX-512, ove disponibili.

Un modello da 7 miliardi di parametri in quantizzazione Q4_K_M richiede circa 4–5 GB di VRAM per essere eseguito interamente sulla GPU. Usa il Calcolatore VRAM calcolatore dei requisiti hardware migliore GPU per LLM locali guida copre le opzioni attuali suddivise per fasce di prezzo.

Domande frequenti

Posso eseguire llamafile su Apple Silicon?

Sì. llamafile genera un binario nativo Mach-O su Apple Silicon e utilizza automaticamente l'accelerazione GPU Metal. Le prestazioni sono solide per modelli da 7B e 13B; i modelli più grandi sono limitati dalla memoria unificata disponibile. Un M2 Max o un M3 Pro con 36 GB di memoria unificata può eseguire comodamente modelli da 30B.

llamafile supporta modelli multimodali (visione)?

llamafile è basato su llama.cpp, che supporta modelli visivi nello stile di LLaVA. Se un determinato llamafile supporta l'input di immagini dipende dal fatto che il modello incluso sia effettivamente multimodale. Controlla la scheda del modello relativa al file che hai scaricato — questa capacità risiede nei pesi, non nel runtime.

Come arresto il server?

Stampa Ctrl+C nel terminale in cui è in esecuzione llamafile. Se lo hai avviato facendo doppio clic su Windows o macOS, chiudi la finestra del terminale che è apparsa oppure termina il processo tramite Task Manager o Activity Monitor.

Posso eseguire llamafile come servizio in background?

Sì. Su Linux, incapsulalo in un file unità systemd. Su macOS, crea un file plist launchd. llamafile accetta i segnali Unix standard e funziona con qualsiasi supervisore di processi. Esegui per ascoltare su tutte le interfacce di rete — utile per servire da una macchina headless su una rete locale. Esegui per trovare il flag che disabilita l'apertura automatica della scheda del browser quando si esegue in un ambiente headless.

llamafile è la stessa cosa di un file GGUF?

No. Un file GGUF contiene esclusivamente i pesi del modello e richiede un runtime separato — llama.cpp, Ollama, LM Studio, o simili, per essere eseguito. Un file llamafile raggruppa i pesi e del modello e il relativo runtime in un unico file. Poiché i pesi sono aggiunti in formato ZIP, è possibile estrarre il file GGUF grezzo da qualsiasi file llamafile utilizzando un normale utility ZIP e impiegarlo altrove.

In che modo llamafile si confronta con LM Studio?

LM Studio è un'applicazione desktop con interfaccia grafica (GUI) per la scoperta e l'inferenza di modelli: richiede installazione e gestisce una libreria di modelli, avvicinandosi quindi più a Ollama che a llamafile. llamafile, invece, è un formato di distribuzione: non include alcuna interfaccia grafica né libreria di modelli, ma semplicemente un file da eseguire. LM Studio è adatto agli utenti che preferiscono un'interfaccia visiva; llamafile è invece ideale per distribuzioni automatizzate, senza interfaccia (headless) o portatili. Per un'analisi completa, consultare il Guida completa a LM Studio per un confronto dettagliato.

Scritto da Mustafa Ihsan

Mustafa Ihsan è il fondatore e redattore di Convly.ai. Ha creato e gestisce il database in tempo reale dei modelli IA del sito, il suo indice prezzo-prestazioni e i suoi calcolatori gratuiti per i requisiti di VRAM, i costi delle API e l'economia dell'auto-hosting. Scrive di prezzi dei modelli, risultati di benchmark e dell'hardware necessario per eseguire modelli IA in locale, privilegiando sempre dati misurati rispetto alle affermazioni dei produttori.

Scroll to Top
Featured on There's An AI For That