4. AI: agenti e modelli locali
4.4 Modelli locali: llama.cpp e i GGUF
Modelli linguistici sul PC, senza rete e senza account: il server, la chat nel browser, il modello di Pi, scaricare dal catalogo o da Hugging Face.
Nell'app: «AI › Modelli locali»
In breve
- Un modello locale è un modello linguistico che gira sul tuo PC: niente rete, niente account, niente piano. Va sulla CPU o sulla scheda video (Vulkan su Windows e Linux, Metal su macOS).
- Il server è llama.cpp, i modelli sono file GGUF: si scaricano dalla pagina AI, riquadro «Modelli locali», dal catalogo di Atollo o da Hugging Face.
- Li usano Pi e una chat nel browser. Il server ascolta solo su questo PC, con una chiave.
- Un download sospeso o interrotto riprende da dove si era fermato, anche dopo aver chiuso Atollo.

A sinistra il server e i modelli nel kit; a destra il server con l'indirizzo e la chiave, il modello di Pi, il catalogo di Atollo con un download sospeso e Hugging Face.
Che cosa sono e che cosa serve
Un modello GGUF è un unico file (a volte diviso in parti) con i pesi del modello già compressi: la «quantizzazione» (Q4_K_M, Q8_0, MXFP4…) dice quanto, e più è bassa più il file è piccolo e meno è preciso. Il server llama.cpp carica il modello nella memoria della scheda video, se ce n'è abbastanza, altrimenti lo divide fra scheda video e RAM o usa solo la CPU. La scelta è automatica: llama.cpp si installa la prima volta che avvii il server, una sola versione per sistema, verificata con il suo SHA-256.
I modelli occupano molti GB e chiedono memoria: un modello da 7-9 miliardi di parametri sta in circa 8 GB, uno da 30 miliardi ne vuole più di 20. Sono meno capaci dei modelli in cloud di Claude Code o Codex, ma restano sul tuo PC.
La pagina AI: il riquadro «Modelli locali»
È il secondo riquadro della pagina AI, che si apre dalla barra delle attività (l'icona della scintilla), sotto gli agenti. Il numero accanto al titolo conta i modelli completi. Le righe: il server llama.cpp con il suo stato, la porta e il pulsante «Avvia» o «Ferma», poi i modelli scaricati («modello di Pi», «in memoria», «scaricamento sospeso»). Passando con il mouse sul titolo compaiono «Aggiorna i modelli» e «Apri la cartella dei modelli». Scegliendo il server o un modello, a destra in alto ci sono «Avvia» o «Ferma», «Apri la chat» e «Copia la chiave». Sotto, le sezioni:
| Sezione | Che cosa contiene |
|---|---|
| Server | L'indirizzo (http://127.0.0.1:<porta>), i modelli in memoria e «Avvia con Atollo», per accendere il server all'apertura dell'app. «Avvia» resta spento finché non c'è almeno un modello scaricato. |
| Modello di Pi | «Pi parte con»: un modello scaricato, oppure «il primo modello del kit». Con un provider in cloud scelto in Pi (/login), Pi resta su quello; i modelli locali restano nel suo elenco (/model). |
| Catalogo di Atollo | I modelli scelti per il kit, ognuno con quantizzazione, dimensione, licenza, la memoria che chiede, se entra in questo PC e se usa gli strumenti. «Scarica», poi «Sospendi» o «Riprendi»; il cestino lo cancella. |
| Altri modelli nel kit | I modelli presi da Hugging Face e i file .gguf messi a mano nella cartella dei modelli. |
| Da Hugging Face | Un repository qualsiasi (proprietario/nome), la scelta della quantizzazione e il token per i modelli ad accesso controllato. |
| Questo PC | La RAM, le schede video con la loro memoria (si vedono dopo l'installazione di llama.cpp), il file system del disco del kit con lo spazio libero, e la cartella dei modelli. |
Scegliere e scaricare un modello
Accanto a ogni modello la pagina dice se entra nel PC, confrontando la memoria che chiede con la più grande fra la RAM e la memoria della scheda video:
| Testo | Significato |
|---|---|
| entra | Chiede al massimo l'80% di quella memoria: c'è margine. |
| al limite | Ci sta, ma lascia poco al resto del sistema: può essere lento. |
| troppo grande per questo PC | Chiede più memoria di quella che il PC ha. |
«usa gli strumenti (adatto agli agenti)» vuol dire che il modello sa chiamare i comandi e leggere i file quando lavora con Pi; «solo chat» vuol dire che con gli agenti non li usa bene (scrive la chiamata come testo), ma va bene per chiacchierare nel browser.
| Modello del catalogo | Memoria | Uso |
|---|---|---|
| Qwen2.5-Coder 7B | circa 7 GB | solo chat; in due parti, entra anche su FAT32 |
| Qwen3.5 9B | circa 8 GB | usa gli strumenti |
| gpt-oss 20B | circa 15 GB | usa gli strumenti |
| Devstral Small 2 24B | circa 18 GB | usa gli strumenti |
| Qwen3-Coder 30B-A3B | circa 22 GB | usa gli strumenti |
- Nel «Catalogo di Atollo» scegli un modello che «entra» e «usa gli strumenti», se lo vuoi per Pi.
- Premi «Scarica». La barra mostra percentuale e GB; il download continua anche se cambi pagina.
- «Sospendi» lo ferma e tiene la parte già scaricata; «Riprendi» riparte da lì, anche dopo aver chiuso Atollo o dopo un errore di rete.
- Alla fine il modello compare in «Nel kit» con «nel kit»; se il server è acceso, si riavvia per vederlo.
Da Hugging Face
- In «Repository di Hugging Face» scrivi proprietario/nome del repository, per esempio unsloth/Qwen3-8B-GGUF.
- Premi «Cerca i file GGUF»: il kit legge l'ultimo commit e raggruppa i file per quantizzazione, con dimensione, numero di parti, se entra nel PC e la licenza.
- Premi «Scarica» sulla quantizzazione che vuoi: il kit scarica tutte le sue parti da quel commit, o nessuna. Q4_K_M è di solito un buon compromesso.
Alcuni modelli sono ad accesso controllato: si accettano le condizioni sulla pagina del modello e serve un token di Hugging Face. Scrivilo in «Token di Hugging Face» e premi «Salva il token»; «Togli il token» lo cancella. Il token è salvato nel kit, leggibile solo dal tuo utente, e va solo a huggingface.co: non segue il reindirizzamento verso la CDN da cui arrivano i file.
La chat nel browser
- Premi «Avvia» (o lascia fare a «Avvia con Atollo»). La prima volta il kit installa llama.cpp.
- Premi «Copia la chiave»: la chiave del server va negli appunti.
- Premi «Apri la chat»: si apre la chat di llama.cpp nel browser. Nelle sue impostazioni incolla la chiave, poi scegli il modello e scrivi.
Pi non ha bisogno di questi passi: il kit gli scrive porta e chiave nella sua configurazione e accende il server prima di aprirlo, quando usa un modello locale.
Sicurezza e risorse
- Il server ascolta solo su 127.0.0.1: nessun altro PC della rete lo raggiunge, anche con la rete locale attiva nelle Impostazioni.
- Ogni richiesta vuole la chiave del server, creata al primo avvio e data al server come file, mai sulla riga di comando (dove altri programmi del PC la vedrebbero). Senza chiave il server risponde 401.
- Un modello si carica quando Pi o la chat lo chiede, uno alla volta, e si libera dopo dieci minuti senza richieste: la memoria torna al PC.
- Il server compare nel pannello «Attività» (con «Ferma» e i modelli in memoria) e si ferma con «Ferma tutto», con «Rimuovi l'unità» e alla chiusura dell'app.
- Mentre cancelli un modello il server si ferma: su Windows un file aperto non si può cancellare.
Sotto il cofano
| File o cartella | Che cosa contiene |
|---|---|
data\models\gguf\<proprietario>--<nome>\ | I modelli, una cartella per repository, una sola copia per Windows, macOS e Linux. atollo.json dice che cosa ha scaricato il kit (file, commit, se è completo); un download a metà lascia un file .part. |
data\app\secrets\llama-key | La chiave del server, solo per il proprietario. |
data\app\secrets\hf-token | Il token di Hugging Face, solo per il proprietario. |
data\app\llm.json | La porta del server (9931 o la prima libera dopo), «Avvia con Atollo» e il modello di Pi. |
data\app\llm\presets.ini | I modelli che il server offre, con i percorsi assoluti: si riscrive a ogni avvio, perché il kit può essersi spostato. |
data\app\logs\llm.log | L'uscita del server, da leggere se non parte. |
- llama.cpp è fissato a una build (b11669) con lo SHA-256 dell'archivio di ogni sistema: la build Vulkan su Windows e Linux (che contiene anche i motori per la CPU), quella Metal su macOS.
- I modelli del catalogo sono fissati a un commit di Hugging Face, ogni file con SHA-256 e dimensione; quelli presi da Hugging Face si scaricano dall'ultimo commit al momento della ricerca.
- Dalla riga di comando:
modelselenca i modelli,models pull <modello>ne scarica uno (un id del catalogo o proprietario/nome:quantizzazione, riprende se interrotto),models rm <id>lo cancella,llm start|stop|statuscomanda il server.