Llamafile : un LLM completo in un solo file eseguibile
Llamafile (progetto mozilla-ai/llamafile, licenza Apache 2.0) concentra un modello GGUF e il motore llama.cpp in un singolo eseguibile grazie a Cosmopolitan Libc. Scarichi un file, lo rendi eseguibile (o lo rinomini in .exe su Windows), e si apre un'interfaccia di chat su http://localhost:8080, senza installazione né daemon. Lo stesso file funziona su Windows, macOS, Linux e BSD, con un limite di 4 GB su Windows.
Llamafile è un progetto di Mozilla che racchiude un modello di linguaggio completo e il suo motore di inferenza in un singolo file eseguibile. Nessuna installazione, nessuna dipendenza, nessun daemon: scarichi un file, lo avvii e un LLM gira sulla tua macchina con un'interfaccia web. Lo stesso file funziona allo stesso modo su Windows, macOS e Linux. Questa guida mostra come avviare un llamafile, cosa offre e quando è preferibile a strumenti come Ollama.
#Perché llamafile
La maggior parte degli strumenti LLM locali richiede un'installazione, un servizio in background, poi il download del modello. Llamafile elimina tutti questi passaggi: il motore di inferenza e i pesi del modello vivono in un singolo file. Lo rendi eseguibile, lo avvii e il tuo browser apre un'interfaccia di chat. È la via più breve per andare da un link di download a una conversazione con un modello locale.
Questo formato eccelle in tre situazioni. Per testare rapidamente un modello senza sporcare la propria macchina. Per distribuire un LLM a colleghi o utenti non tecnici: un solo file da inviare, niente da configurare. E per l'archiviazione: un llamafile funzionerà ancora tra anni, senza dipendere da un runtime da installare o da un repository online sempre accessibile.
- Nessuna installazione
- Nessun pacchetto, nessun daemon, nessuna variabile d'ambiente da impostare.
- Un solo file
- Motore + modello uniti, facile da copiare, salvare o condividere.
- Multi-OS
- Lo stesso binario funziona su Windows, macOS, Linux, BSD (x86-64 e ARM64).
- 100 % locale
- Nessun dato lascia la macchina e non è richiesta alcuna connessione di rete dopo il download.
#Come funziona: il formato Mozilla
Il tuo ChatGPT privato e gratuito sulla tua macchina in 1 ora — LM Studio, Ollama, Open WebUI, i tuoi documenti, senza cloud.
- Spazio online a vita
- PDF + file
- Aggiornamenti a vita
Llamafile combina due componenti open source. Il primo è llama.cpp, il motore di inferenza in C/C++ che esegue i modelli in formato GGUF sia su CPU che su GPU. Il secondo è Cosmopolitan Libc, una libreria firmata da Justine Tunney che permette di compilare un eseguibile «poliglotta»: uno stesso file binario riconosciuto e avviato nativamente da diversi sistemi operativi.
Concretamente, un file .llamafile è sia un programma sia un archivio. Contiene il codice del server di inferenza e, al suo interno, il file GGUF dei pesi. All'avvio, rileva il sistema operativo e l'architettura, carica il modello dal proprio file, poi avvia un server HTTP locale con un'interfaccia web di chat.
Il progetto llamafile stesso è sotto licenza Apache 2.0; le modifiche apportate a llama.cpp e whisper.cpp per le esigenze del progetto rimangono sotto licenza MIT, come i progetti originali, per restare compatibili e poter essere reintegrate nei progetti di origine. Dalla versione 0.10.0, llamafile utilizza un nuovo sistema di build allineato alle versioni recenti di llama.cpp, ampliando così il supporto a modelli e funzionalità più recenti; le versioni precedenti restano accessibili per chi preferisce l'esperienza «classica».
Il progetto include anche whisperfile, uno strumento complementare racchiuso in un unico file, basato su whisper.cpp e sullo stesso confezionamento Cosmopolitan, per la trascrizione e la traduzione audio, senza installazione, sulle stesse piattaforme di un llamafile classico.
#Prerequisiti
I requisiti sono volutamente minimi. L'essenziale è avere abbastanza memoria per il modello scelto: la dimensione del file e la RAM necessaria dipendono direttamente dalla quantizzazione.
- OS
- Windows 10+, macOS 11+, Linux recente o BSD. x86-64 o ARM64 (Apple Silicon incluso).
- RAM
- Calcolare approssimativamente la dimensione del file più un margine. Un modello 7B in Q4 (~5 GB) funziona senza difficoltà con 8-16 GB.
- GPU (opzionale)
- Accelerazione possibile tramite NVIDIA (CUDA) o Apple Metal. Senza GPU, l'inferenza avviene sulla CPU: è più lenta, ma funziona.
- Spazio su disco
- Da circa 500 MB per un modello piccolo a decine di GB per un modello grande non quantizzato.
#Scaricare e avviare in pochi secondi
Il repository ufficiale mozilla-ai/llamafile su GitHub elenca llamafile pronti all'uso, e Hugging Face ne ospita molti altri. Il progetto, inizialmente avviato da Mozilla Builders, è oggi portato avanti e mantenuto da Mozilla.ai. Una volta scaricato il file, la procedura cambia appena a seconda del sistema operativo.
- 01Scarica il fileRecupera un .llamafile dalla pagina GitHub del progetto o da Hugging Face (cerca « llamafile » nella barra di ricerca dei modelli).
- 02macOS e Linux: rendere eseguibileApri un terminale nella cartella di download e autorizza l'esecuzione con chmod, poi avvia il file.
- 03Windows: rinominare in .exeAggiungi l'estensione .exe al nome del file, poi fai doppio clic su di esso (o avvialo da PowerShell).
- 04Aprire l'interfacciaL'applicazione avvia un server locale e apre di solito automaticamente il tuo browser. Altrimenti, vai a http://localhost:8080.
#Lo stesso file su Windows, Mac e Linux
È la promessa più sorprendente di llamafile: il file che scarichi su Linux è esattamente lo stesso che funzionerà su un Mac o su un PC Windows. Nessuna versione « Windows », « Mac » o « Linux » da scegliere. Questa portabilità deriva da Cosmopolitan Libc, che produce un eseguibile comprensibile da diversi sistemi contemporaneamente.
In pratica, significa che lo stesso llamafile su una chiavetta USB o una condivisione di rete funziona per un intero team, indipendentemente dalle postazioni di ciascuno. Distribuisci un modello senza preoccuparti del sistema operativo di ognuno e senza chiedere a nessuno di installare nulla.
#Opzioni utili da riga di comando
L'interfaccia web basta per conversare, ma alcune opzioni permettono di regolare il comportamento. Vanno passate dopo il nome del file al momento dell'avvio.
- -ngl N
- Trasferisce N livelli del modello sulla GPU (ad esempio -ngl 999 per mettere tutto in VRAM se è sufficiente).
- -c N
- Imposta la dimensione della finestra di contesto in token (es. -c 4096).
- --host / --port
- Cambia l'indirizzo e la porta di ascolto del server (per impostazione predefinita: localhost:8080).
- -m file.gguf
- Utilizza un file di pesi esterno piuttosto che quello integrato — utile per superare il limite Windows dei 4 GB.
- --server --nobrowser
- Si avvia in modalità server senza aprire un browser, comodo per un uso headless.
Il server offre anche un'API compatibile con OpenAI su /v1/chat/completions. Puoi quindi collegare un llamafile a qualsiasi client che parla il protocollo OpenAI, semplicemente puntando l'URL base su http://localhost:8080/v1.
#Creare il proprio llamafile
Non sei limitato ai file preparati da altri: qualsiasi modello GGUF può essere confezionato in un pacchetto. Il progetto fornisce un binario zipalign e un eseguibile «vuoto» (solo il motore) al quale si aggiungono il file dei pesi e un file di argomenti predefiniti.
- 01Recuperare gli strumentiScarica l'ultima release da GitHub: contiene il binario llamafile (solo il motore) e l'utilità zipalign.
- 02Avere un GGUFOttieni il file .gguf del modello desiderato da Hugging Face, nella quantizzazione che preferisci (Q4_K_M è un buon compromesso).
- 03Scrivere gli argomenti predefinitiCrea un file .args elencando le opzioni da applicare all'avvio (modello, interfaccia web, ecc.).
- 04Impacchettare con zipalignCopia il motore con un nuovo nome, poi inserisci al suo interno il GGUF e il file .args con zipalign.
- 05TestareRendi eseguibile il risultato e avvialo come qualsiasi altro llamafile.
#Llamafile vs Ollama: due filosofie
Llamafile e Ollama rispondono alla stessa esigenza — eseguire un LLM in locale — ma con logiche opposte. Ollama installa un daemon in ascolto su http://localhost:11434 e gestisce una libreria di modelli scaricati su richiesta. Llamafile non gestisce nulla: ogni modello è un file autonomo che avvii direttamente.
| Criterio | Llamafile | Ollama |
|---|---|---|
| Modello mentale | Un file = un modello, senza servizio | Gestore dei modelli con daemon centrale |
| Installazione | Nessuna, il file si avvia così com'è | Si installa una volta e poi fa un 'pull' dei modelli |
| Distribuzione | Si può distribuire così com'è, funziona ovunque | Presuppone che il destinatario installi Ollama |
| Diversi modelli | Diventa presto pesante, un file per modello | Eccelle: cambio istantaneo tramite un comando |
| Audio (STT) | Whisperfile come strumento complementare separato | Non nativo |
| API compatibile con OpenAI | Sì | Sì |
| Licenza | Apache 2.0 (MIT per i moduli ripresi) | MIT |
| Buona scelta se | Testare o distribuire senza installazione | Gestire più modelli ogni giorno |
La distinzione si riassume così: llamafile è la scelta migliore per fare test occasionali, distribuire a persone non tecniche o archiviare un modello fissato a una determinata versione; Ollama è la scelta migliore quando si gestiscono più modelli quotidianamente o si integra un LLM in uno stack duraturo con un'interfaccia come Open WebUI o LM Studio.
#Risoluzione dei problemi
- « run-detectors » o rifiuto di avvio (Linux)
- Un binutils/binfmt troppo zelante può bloccare il formato poliglotta. Soluzione: installare il pacchetto APE loader oppure avviare tramite sh -c "./fichier.llamafile".
- File troppo grande su Windows
- Oltre i 4 GB, mantieni il GGUF separato e passalo con -m a un piccolo llamafile «solo motore».
- Nessuna accelerazione GPU
- Verifica che i driver CUDA (NVIDIA) siano presenti e aggiungi -ngl 999. Su Mac, Metal viene usato automaticamente.
- Porta già occupata
- Un altro servizio è in esecuzione su 8080: cambia con --port 8090 ad esempio.
- Risposte lente
- Con la sola CPU, è normale per i modelli di grandi dimensioni. Scegli una quantizzazione più leggera o un modello più piccolo (3B invece di 7B).
#Per approfondire
Llamafile è un punto di partenza ideale. Per un utilizzo locale più completo e duraturo, queste guide approfondiscono l'argomento.
- Installare un LLM in locale: la guida passo passo
- Ollama vs llama.cpp: quale scegliere
- Alternative a Ollama: panoramica
- Installare Ollama in 5 minuti
- Fonte: repository GitHub di llamafile
- Fonte: documentazione ufficiale llamafile
- Fonte: post originale di annuncio di llamafile
#FAQ
Llamafile è gratuito?+
Chi sviluppa llamafile?+
Llamafile può anche trascrivere audio?+
Perché il mio llamafile non si avvia su Windows?+
Serve installare llama.cpp per usare llamafile?+
Un feedback, un errore, una precisazione? Facci sapere, così la guida migliora per tutti.