Home/ Corsi/ Agenti AI sovrani/ Lezione 2: Il modello in casa

Lezione 2: Il modello in casa

Scegliamo un modello aperto di Mistral, leggiamo la sua licenza, lo scarichiamo e lo facciamo rispondere dal tuo computer, misurando quanto è veloce.

Un modello linguistico che gira sul proprio computer
Indice dei contenuti
Lezione 2 di 5 · Le basi Teoria + Laboratorio + Mini-test

Obiettivi della lezione

Nella Lezione 1 abbiamo visto che il livello 4 della scala vuol dire un modello aperto su macchine tue. In questa lo facciamo davvero: scegliamo un modello di Mistral, lo scarichiamo, lo accendiamo e gli facciamo la prima domanda dal terminale. Alla fine il modello risponde su un indirizzo del tuo computer, ed è quello che l'agente della Lezione 3 userà.

Alla fine della lezione riesci a:

  • Spiegare che cosa sono i pesi di un modello e che cosa vuol dire che sono aperti;
  • Leggere la licenza di un modello e capire se puoi usarlo in azienda;
  • Scegliere la taglia giusta per la memoria del tuo computer, con il conto della quantizzazione;
  • Accendere un modello con llama.cpp, e sapere quando conviene Ollama o vLLM;
  • Misurare quanto è veloce, in token al secondo, sul tuo hardware.

Che cosa si scarica: i pesi

Un modello linguistico, una volta addestrato, è un file pieno di numeri: i pesi, cioè i parametri di cui parla la voce della wiki Cos'è un LLM. Ministral 3 8B ne ha circa otto miliardi. Quando un'azienda pubblica i pesi, chiunque può scaricare quel file e farlo girare sulle proprie macchine, senza passare dai server di chi l'ha fatto.

«Pesi aperti» e «open source» si usano spesso come sinonimi e non lo sono del tutto. Con i pesi hai il risultato dell'addestramento, e puoi usarlo, adattarlo e ridistribuirlo nei limiti della licenza. Non hai i dati su cui è stato addestrato né tutto il procedimento per rifarlo. Per la sovranità di un'azienda i pesi sono la parte che conta: rispondono alla seconda domanda della Lezione 1, «di chi è il modello?», con una copia che resta tua.

Le licenze dei modelli Mistral

Mistral pubblica i pesi di molti modelli, con licenze diverse. Questa è la situazione letta l'11 ottobre 2026 sulla pagina dei modelli e sui file di licenza di Hugging Face.

LicenzaModelliChe cosa vuol dire per un'azienda
Apache 2.0Ministral 3 (3B, 8B, 14B), Mistral Small 4, Mistral Large 3, Devstral Small 2, Magistral Small, ShieldstralUso commerciale libero, modifiche e ridistribuzione comprese
MIT modificataMistral Medium 3.5, Devstral 2Esclude le aziende con un fatturato consolidato sopra i 20 milioni di dollari al mese
CC BY-NC 4.0Voxtral TTSNiente uso commerciale
Solo APICodestral 25.08, i modelli per l'OCR e per gli embeddingPesi non disponibili: si usano attraverso i server di Mistral

Due avvertenze. Mistral Large 4, il modello di punta, è in anteprima dal 6 ottobre 2026 e Mistral ha annunciato che i pesi escono a fine mese; la licenza non è ancora scritta, quindi oggi non si può dire se sarà Apache 2.0. E la licenza si legge sul file LICENSE del modello: nelle domande frequenti del listino di Mistral c'è una frase che attribuisce ad Apache 2.0 limiti all'uso commerciale che la licenza Apache non contiene. Fa fede il testo della licenza.

Quale taglia per quale computer

La domanda pratica è quanta memoria serve. Un modello deve stare tutto in memoria mentre lavora: sulla scheda grafica in un PC, nella memoria unificata su un Mac con chip Apple. Il conto parte dal numero di parametri e dalla quantizzazione, cioè da quanti bit si usano per scrivere ogni peso.

I pesi originali usano 16 bit per numero: otto miliardi di parametri fanno circa 16 GB. Riducendo la precisione a 4 o 5 bit per peso, che è quello che indica la sigla Q4_K_M, lo stesso modello scende a 5,2 GB e perde poco in qualità. A questo si aggiunge la memoria per il contesto, cioè per il testo che il modello tiene sott'occhio: uno o due gigabyte per qualche decina di pagine.

ModelloParametriFile quantizzatoDove gira
Ministral 3 3B3 miliardi3,0 GBQualunque portatile recente
Ministral 3 8B8 miliardi5,2 GBUn computer con 16 GB di memoria
Ministral 3 14B14 miliardi8,2 GBUn computer con 24 GB
Devstral Small 224 miliardi15 GBUna scheda RTX 4090 o un Mac con 32 GB, scrive Mistral
Mistral Small 4119 miliardi, 6 attivinon pensato per un computerAlmeno quattro GPU H100: un server
Mistral Large 3675 miliardi, 41 attivinon pensato per un computerUn gruppo di server

Le dimensioni dei file vengono dai GGUF ufficiali di Mistral su Hugging Face e dalla libreria di Ollama; i requisiti dei modelli grandi dalle loro pagine di presentazione. «Attivi» vuol dire che il modello è fatto di tanti esperti e per ogni token ne usa solo una parte: va più veloce, ma in memoria deve starci tutto.

Per il corso uso Ministral 3 8B: gira su un computer da ufficio, ha la licenza Apache 2.0, nella sua scheda l'italiano è fra le lingue supportate, e sa usare gli strumenti, che è quello che serve nella Lezione 3. Il 14B fa la stessa cosa meglio, se hai la memoria.

Tre motori per farlo girare

Il file dei pesi da solo non fa niente: serve un programma che lo carichi e risponda alle domande. Ce ne sono tre che contano, e tutti e tre espongono lo stesso tipo di indirizzo, /v1/chat/completions, così il codice che li usa non cambia.

  • llama.cpp è il motore leggero, scritto in C++, che gira bene su Mac e su PC senza scheda grafica dedicata. Il suo programma llama-server è quello che uso in questo corso, e tutti i numeri della Lezione 4 vengono da lì.
  • Ollama mette llama.cpp dentro un'applicazione comoda, che scarica i modelli per nome. È la strada più veloce per provare. Ricorda la nota della Lezione 1: alcuni modelli della sua libreria sono cloud e girano sui server di Ollama.
  • vLLM è il motore per servire molte persone insieme su schede grafiche NVIDIA, ed è quello che Mistral raccomanda nella sua documentazione per il deployment. Si usa quando il modello passa dal computer di una persona al server dell'ufficio.

Con llama.cpp, su Mac

Si installa con Homebrew e si scarica il file ufficiale di Mistral da Hugging Face, poi si accende. L'opzione --jinja fa usare al server il modello di conversazione che sta dentro al file, ed è quella che permette al modello di chiamare gli strumenti: senza, l'agente della Lezione 3 non funziona.

brew install llama.cpp
curl -L -o Ministral-3-8B-Instruct-2512-Q4_K_M.gguf \
  https://huggingface.co/mistralai/Ministral-3-8B-Instruct-2512-GGUF/resolve/main/Ministral-3-8B-Instruct-2512-Q4_K_M.gguf
llama-server -m Ministral-3-8B-Instruct-2512-Q4_K_M.gguf --jinja --port 8080 -c 16384

Quando nel terminale compare la riga che dice che il server ascolta, il modello è pronto su http://localhost:8080. Il file è di 5,2 GB: controlla che il download sia arrivato in fondo prima di accendere, perché un file troncato dà errori poco chiari.

Con Ollama

ollama pull ministral-3
OLLAMA_NO_CLOUD=1 ollama serve

Ollama risponde su http://localhost:11434/v1, e il nome del modello da usare nelle richieste è ministral-3. Il tag predefinito è l'8B quantizzato a 4 bit, 6 GB.

Con vLLM, su un server con GPU NVIDIA

Il comando viene dalla scheda del modello su Hugging Face, e le ultime due opzioni sono quelle che la scheda indica come necessarie per usare gli strumenti:

vllm serve mistralai/Ministral-3-8B-Instruct-2512 --tokenizer_mode mistral \
  --config_format mistral --load_format mistral \
  --enable-auto-tool-choice --tool-call-parser mistral

Che cosa ho provato e che cosa no

Il comando di llama.cpp l'ho eseguito su un Mac con chip M5 e 24 GB di memoria, ed è quello che ha prodotto tutti i numeri di questo corso. I comandi di Ollama e di vLLM vengono dalla documentazione ufficiale e qui non li ho eseguiti: Ollama non era installato e vLLM vuole una scheda NVIDIA.

La prima domanda

Con il server acceso, apri un secondo terminale e chiedi qualcosa. Questa richiesta ha la stessa forma che userà l'agente:

curl -s http://localhost:8080/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{"messages":[{"role":"user","content":"In una frase: che cosa vuol dire tacito rinnovo in un contratto?"}]}'

La risposta arriva in JSON. Il testo sta in choices[0].message.content, e in fondo llama-server aggiunge un campo timings che ci serve per la prossima sezione. In questo momento nessun byte è uscito dal tuo computer: puoi verificarlo staccando la rete e rifacendo la domanda.

Quanto è veloce

La velocità di un modello in casa si misura in token al secondo, e i numeri sono due: quanto in fretta legge (il testo che gli mandi) e quanto in fretta scrive (la risposta). Li ho misurati con llama-server sul Mac del corso, mediana di cinque richieste:

ModelloLetturaScrittura
Ministral 3 8B, Q4_K_Mcirca 290 token al secondocirca 14 token al secondo
Qwen3-4B, Q4_K_M, per confrontocirca 500 token al secondocirca 23 token al secondo

Misure dell'11 ottobre 2026: Mac con chip M5 e 24 GB, llama.cpp, una richiesta di circa 2.700 token letti e 300 scritti, Mac a batteria. Con un testo corto davanti la scrittura di Ministral sale a circa 20 token al secondo, perché più contesto c'è da tenere sott'occhio, più ogni token costa.

Tradotto in tempi: un contratto di tre pagine, circa tremila token, Ministral lo legge in una decina di secondi, e una nota di trecento token la scrive in una ventina. Una prova intera dell'agente della Lezione 3, con tre contratti letti e una nota scritta, ha richiesto in mediana 36 secondi. Per un agente che lavora in sottofondo su una cartella di documenti va benissimo; per una chat in cui una persona aspetta la risposta parola per parola è al limite. Su una scheda grafica dedicata gli stessi modelli vanno parecchie volte più veloci, ed è il motivo per cui il server dell'ufficio usa vLLM.

Laboratorio: il modello sul tuo computer

Obiettivo: un modello di Mistral che risponde sul tuo computer, con la sua velocità misurata.

Consegna

  1. Guarda la memoria del tuo computer e scegli la taglia dalla tabella: 16 GB per l'8B, 24 GB per il 14B, meno di 16 per il 3B.
  2. Leggi la licenza del modello scelto, aprendo il file LICENSE o la scheda su Hugging Face. Scrivi in una riga se puoi usarlo nella tua azienda e perché.
  3. Scarica e accendi il modello con llama.cpp o con Ollama.
  4. Fai la prima domanda con il comando curl qui sopra, poi una seconda su un documento del tuo lavoro di colore verde, incollato nel testo della domanda.
  5. Misura: con llama-server leggi prompt_per_second e predicted_per_second nel campo timings di cinque risposte e prendi il valore di mezzo. Con Ollama trovi gli stessi numeri lanciando ollama run ministral-3 --verbose.
  6. Stacca la rete e rifai la domanda. Se risponde, sei al livello 4.

Risultato atteso

Il modello acceso su un indirizzo del tuo computer, una riga sulla licenza, e due numeri di velocità. Se il computer ha meno memoria di quella che serve, il modello parte lo stesso e va molto più lento perché il sistema sposta pezzi su disco: in quel caso scendi di una taglia.

Mini-test di autoverifica

Istruzioni

Sezione A: 6 domande a risposta multipla (1 punto). Sezione B: 2 domande aperte (3 punti). Totale 12. Soglia: 60% (8/12).

Sezione A: risposta multipla

  1. I pesi di un modello sono:
    a) i dati di addestramento   b) il file di numeri che risulta dall'addestramento   c) il programma che lo fa girare   d) le regole d'uso
  2. Con la licenza Apache 2.0 un'azienda può:
    a) usare il modello solo per ricerca   b) usarlo e modificarlo anche a fini commerciali   c) usarlo solo sotto i 20 milioni di fatturato   d) usarlo solo via API
  3. Un modello da 8 miliardi di parametri quantizzato a 4-5 bit pesa circa:
    a) 500 MB   b) 5 GB   c) 16 GB   d) 80 GB
  4. L'opzione --jinja di llama-server serve a:
    a) velocizzare il modello   b) usare il modello di conversazione del file, che permette le chiamate agli strumenti   c) tradurre le risposte   d) collegarsi a internet
  5. Per servire un modello a tutto l'ufficio su schede NVIDIA si usa di solito:
    a) Ollama   b) vLLM   c) un browser   d) Excel
  6. Un modello «cloud» nella libreria di Ollama:
    a) gira sul tuo computer   b) gira sui server di Ollama   c) è più piccolo   d) non esiste

Sezione B: risposta aperta

  1. (3 punti) Il tuo computer ha 16 GB di memoria. Quale modello di Mistral scegli per un agente in casa, con quale quantizzazione, e perché?
  2. (3 punti) Un collega dice che «Mistral è open source, quindi si può usare tutto gratis in azienda». Correggilo con un esempio preso dalla tabella delle licenze.
Mostra risposte corrette

Sezione A

  1. b: sono il risultato, i dati restano a chi ha addestrato.
  2. b: Apache 2.0 permette l'uso commerciale.
  3. b: 5,2 GB il file ufficiale Q4_K_M.
  4. b: senza, gli strumenti non funzionano.
  5. b: è il motore che Mistral raccomanda per il deployment.
  6. b: e quindi esce dal livello 4.

Sezione B, risposte modello

7. Ministral 3 8B in Q4_K_M: il file pesa 5,2 GB e lascia memoria per il contesto e per il resto del sistema. Ha licenza Apache 2.0 e sa usare gli strumenti. Il 14B starebbe stretto e rallenterebbe tutto.

8. Esempio: Mistral Medium 3.5 ha una licenza MIT modificata che esclude le aziende sopra i 20 milioni di dollari di fatturato al mese, Voxtral TTS non si può usare a fini commerciali, e Codestral 25.08 non ha i pesi pubblici. Per Ministral 3 e Mistral Small 4, che sono Apache 2.0, il collega ha ragione.

Valutazione (su 12)

  • 11-12: ottimo. 8-10: sufficiente. < 8: rileggi le licenze e il conto della quantizzazione.

Riassunto della lezione

Cosa hai imparato

  • I pesi sono il modello, e averli in casa risponde alla domanda «di chi è?».
  • La licenza si legge sul file, e fra i modelli Mistral ce ne sono di quattro tipi.
  • La memoria decide la taglia: parametri per bit, più il contesto.
  • Tre motori, un indirizzo: llama.cpp per il computer, Ollama per provare, vLLM per il server.
  • La velocità si misura, in lettura e in scrittura, sul tuo hardware.

Prossimi passi

Nella Lezione 3, L'agente in cento righe diamo al modello degli strumenti: leggere i documenti di una cartella, fare i conti sulle date, scrivere una nota. Lascia il server acceso.

Un agente sovrano dentro la tua azienda?

Questo corso lo porto anche in azienda: si parte dai vostri documenti e dai vostri processi, e alla fine l'agente gira sulle vostre macchine.

Parliamone
Federico BoggiaRispondo io, in giornata

Ciao! Dimmi che ti serve: un corso online, il percorso Divide et Delega o la formazione per la tua azienda.

Scrivimi su WhatsApp