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.
La pagina AI: modelli localidati di esempio
La pagina AI: modelli locali

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:

SezioneChe cosa contiene
ServerL'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 AtolloI 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 kitI modelli presi da Hugging Face e i file .gguf messi a mano nella cartella dei modelli.
Da Hugging FaceUn repository qualsiasi (proprietario/nome), la scelta della quantizzazione e il token per i modelli ad accesso controllato.
Questo PCLa 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:

TestoSignificato
entraChiede al massimo l'80% di quella memoria: c'è margine.
al limiteCi sta, ma lascia poco al resto del sistema: può essere lento.
troppo grande per questo PCChiede 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 catalogoMemoriaUso
Qwen2.5-Coder 7Bcirca 7 GBsolo chat; in due parti, entra anche su FAT32
Qwen3.5 9Bcirca 8 GBusa gli strumenti
gpt-oss 20Bcirca 15 GBusa gli strumenti
Devstral Small 2 24Bcirca 18 GBusa gli strumenti
Qwen3-Coder 30B-A3Bcirca 22 GBusa gli strumenti
  1. Nel «Catalogo di Atollo» scegli un modello che «entra» e «usa gli strumenti», se lo vuoi per Pi.
  2. Premi «Scarica». La barra mostra percentuale e GB; il download continua anche se cambi pagina.
  3. «Sospendi» lo ferma e tiene la parte già scaricata; «Riprendi» riparte da lì, anche dopo aver chiuso Atollo o dopo un errore di rete.
  4. Alla fine il modello compare in «Nel kit» con «nel kit»; se il server è acceso, si riavvia per vederlo.

Da Hugging Face

  1. In «Repository di Hugging Face» scrivi proprietario/nome del repository, per esempio unsloth/Qwen3-8B-GGUF.
  2. 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.
  3. 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

  1. Premi «Avvia» (o lascia fare a «Avvia con Atollo»). La prima volta il kit installa llama.cpp.
  2. Premi «Copia la chiave»: la chiave del server va negli appunti.
  3. 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 cartellaChe 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-keyLa chiave del server, solo per il proprietario.
data\app\secrets\hf-tokenIl token di Hugging Face, solo per il proprietario.
data\app\llm.jsonLa porta del server (9931 o la prima libera dopo), «Avvia con Atollo» e il modello di Pi.
data\app\llm\presets.iniI modelli che il server offre, con i percorsi assoluti: si riscrive a ogni avvio, perché il kit può essersi spostato.
data\app\logs\llm.logL'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: models elenca 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|status comanda il server.