Thursday, 12 November 2026 | Updating Daily AI insight, written for builders

llamafile: esegui qualsiasi LLM come singolo eseguibile portabile

  • llamafile racchiude un modello GGUF e il motore di inferenza llama.cpp in un unico file eseguibile che funziona su Linux, macOS, Windows, FreeBSD e altri — nessuna installazione necessaria.
  • Esegui ./model.llamafile e un'interfaccia di chat nel browser si apre automaticamente; un'API compatibile con OpenAI è servita su http://localhost:8080/v1.
  • I file superiori a 4 GB non possono essere eseguiti direttamente su Windows — utilizza una quantizzazione più piccola o esegui il runtime e GGUF separatamente.
  • Best for air-gapped machines, USB deployment, and one-file sharing. Ollama is better for managing multiple models long-term.

llamafile è un singolo file eseguibile che contiene sia un modello di linguaggio che il runtime di inferenza. Costruito su llama.cpp e Cosmopolitan Libc, lo stesso file viene eseguito nativamente su Linux, macOS, Windows, FreeBSD e altri — nessun container, nessun ambiente Python, nessun package manager richiesto.

Come un singolo file funziona su tutti i sistemi operativi

llamafile si basa su due tecnologie. llama.cpp fornisce il motore di inferenza C++ per i modelli in formato GGUF. Cosmopolitan Libc produce un binario poliglotta: un singolo set di byte che soddisfa simultaneamente il formato PE/COFF che Windows si aspetta, il formato ELF che Linux si aspetta e l'intestazione Mach-O che macOS si aspetta. Quando esegui il file, ogni caricatore del sistema operativo trova la propria intestazione valida ed esegue il binario in modo nativo — nessuna emulazione o livello di traduzione.

I pesi del modello vengono aggiunti a questo binario utilizzando un contenitore compatibile con ZIP. ZIP consente dati arbitrari prima del record della directory centrale, quindi il file GGUF risiede alla fine senza corrompere l'eseguibile. Il runtime individua i pesi cercando fino alla fine del file all'avvio. Un effetto collaterale pratico: puoi ispezionare o estrarre i pesi da qualsiasi llamafile utilizzando un'utilità ZIP standard.

Download ed esecuzione di un llamafile

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

Linux e macOS

# Rendi eseguibile — i file scaricati mancano del bit di esecuzione per impostazione predefinita
chmod +x mistral-7b-instruct.llamafile

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

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

Il server si associa a 127.0.0.1:8080 per impostazione predefinita. Passa --port 9000 per cambiare la porta, o --host 0.0.0.0 per ascoltare su tutte le interfacce di rete — utile per servire da una macchina headless su una rete locale. Esegui./model.llamafile --help per visualizzare tutti i flag disponibili, incluse le opzioni per sopprimere la scheda del browser automatica quando si esegue in modalità headless.

Windows

Windows richiede che gli eseguibili terminino in .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 o eseguilo dal Prompt dei comandi. Una scheda del browser si apre automaticamente.

Il limite di 4 GB. Il caricatore PE di Windows non può gestire eseguibili più grandi di 4 GB. La maggior parte dei modelli 7B in quantizzazione Q8 o superiore e tutti i modelli 13B+ superano questa soglia. Se il file è superiore a 4 GB, Windows si rifiuterà di avviarlo. Le tue opzioni: scarica un Q4_K_M variante quantizzata (in genere 4–5 GB per un modello 7B, spesso appena sotto il limite), oppure scarica il file binario runtime llamafile autonomo e passa il GGUF come argomento separato. Prima di scegliere un modello e una quantizzazione, verifica i requisiti di VRAM e dimensione dei 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 vs Ollama: quando usare ciascuno

Entrambi gli strumenti vengono eseguiti Modelli GGUF localmente ed espongono API compatibili con OpenAI. Risolvono problemi diversi. Vedi Guida completa di Ollama tabella comparativa.

Criterio llamafile Ollama
Installazione Nessuna — scarica ed esegui Richiede un programma di installazione o un gestore di pacchetti
Gestione dei modelli Manuale — un file per modello Libreria integrata, ollama pull
Portabilità File singolo — USB, email, condivisione NFS Richiede il demone Ollama sull'host di destinazione
Accelerazione GPU CUDA, Metal, ROCm (rilevamento automatico) CUDA, Metal, ROCm
Servizio multi-modello Un modello per processo Più modelli, cambio automatico al volo
Modelli di grandi dimensioni su Windows Limitato: solo eseguibili inferiori a 4 GB Supporto completo a qualsiasi dimensione
Distribuzione in ambienti isolati (air-gapped) Ottimo — zero dipendenze a runtime Richiede l'installazione del demone
Interfaccia web integrata Sì, nessuna installazione aggiuntiva Richiede 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 break-even self-hosting vs 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 guida ai migliori GPU per LLM locali 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 ./model.llamafile --help 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 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 Guida completa di LM Studio per un confronto dettagliato.

Scritto da Mustafa Ihsan

Mustafa Ihsan è il fondatore e redattore di Convly.ai. Ha costruito e mantiene il database live dei modelli AI del sito, il suo indice prezzo-performance e i suoi calcolatori gratuiti per i requisiti di VRAM, i costi API e l'economia dell'hosting autonomo. Scrive su prezzi dei modelli, risultati di benchmark e l'hardware necessario per eseguire modelli AI localmente, e preferisce coerentemente i numeri misurati alle affermazioni dei fornitori.

Scroll to Top