Vai al contenuto principale

Come installare ed eseguire Gemma 3 in locale con Ollama

Scopri come installare, configurare ed eseguire Gemma 3 in locale con Ollama e creare un semplice assistente per file direttamente sul tuo dispositivo.
Aggiornato 29 set 2026  · 12 min leggi

Scopri con l'IA

ChatGPTClaudePerplexity

Google DeepMind ha appena rilasciato Gemma 3, la nuova iterazione dei suoi modelli open-source. Gemma 3 è progettato per funzionare direttamente su dispositivi a basse risorse come telefoni e laptop. Questi modelli sono ottimizzati per prestazioni rapide su una singola GPU o TPU e sono disponibili in varie dimensioni per adattarsi a diverse esigenze hardware.

In questo tutorial ti spiegherò passo dopo passo come configurare ed eseguire Gemma 3 in locale usando Ollama. Una volta fatto, ti mostrerò come usare Gemma 3 e Python per creare un assistente per file.

Perché eseguire Gemma 3 in locale?

Eseguire in locale un large language model (LLM) come Gemma 3 comporta diversi vantaggi chiave:

  • Privacy: i dati restano sul dispositivo, proteggendo le informazioni sensibili.
  • Bassa latenza: elimina la necessità di trasmettere via internet, con risposte più rapide.
  • Personalizzazione: i modelli possono essere adattati a esigenze e esperimenti specifici.
  • Convenienza economica: riduce i costi del cloud sfruttando l’hardware esistente.
  • Accesso offline: le applicazioni restano operative anche senza connessione internet.
  • Controllo: maggiore sicurezza e controllo sull’ambiente di calcolo.

Configura Gemma 3 in locale con Ollama

Installare Ollama

Ollama è una piattaforma disponibile per Windows, Mac e Linux che supporta l’esecuzione e la distribuzione di modelli di AI, semplificando l’integrazione di questi modelli nei progetti degli sviluppatori. Lo useremo per scaricare ed eseguire Gemma 3 in locale.

Il primo passo è scaricarlo e installarlo dal sito ufficiale di Ollama.

Download di Ollama per usare gemma 3 in locale

Durante l’installazione, assicurati di installare anche la riga di comando:

Installa la riga di comando di Ollama

Dopo aver completato l’installazione, possiamo verificare che sia andata a buon fine usando il comando ollama nel terminale. Ecco come dovrebbe apparire il risultato:

Verifica installazione di Ollama

Scaricare Gemma 3

Per scaricare un modello con Ollama, usa il comando pull:

ollama pull <model_name>:<model_version>

L’elenco dei modelli disponibili è consultabile nella libreria di Ollama.

Gemma 3, in particolare, offre quattro modelli: 1b, 4b, 12b e 27b, dove b sta per billion (miliardo), in riferimento al numero di parametri del modello.

Per esempio, per scaricare gemma3 con 1b parametri, usiamo il comando:

ollama pull gemma3:1b

Se non specifichiamo la versione del modello, verrà scaricato di default il modello 4b:

ollama pull gemma3

Elencare i modelli locali

Possiamo elencare i modelli presenti in locale con il seguente comando:

ollama list

Nel mio caso, l’output mostra che ho due modelli: 

NAME             ID              SIZE      MODIFIED       
gemma3:1b        2d27a774bc62    815 MB    38 seconds ago    
gemma3:latest    c0494fe00251    3.3 GB    22 minutes ago 

Chattare nel terminale

Possiamo usare Ollama per chattare con un modello usando il comando run:

ollama run gemma3

Chattare con Ollama e Gemma 3 nel terminale

Nota che se usiamo il comando run con un modello che non abbiamo scaricato, verrà scaricato automaticamente usando pull.

Eseguire Gemma 3 in background

Per usare Gemma 3 con Python dobbiamo eseguirlo in background. Possiamo farlo con il comando serve:

ollama serve

Se ottieni il seguente errore durante l’esecuzione del comando, probabilmente significa che Ollama è già in esecuzione:

Error: listen tcp 127.0.0.1:11434: bind: address already in use

Questo errore può verificarsi quando Ollama resta attivo in background.

Usare Gemma 3 in locale con Python

Configura l’ambiente Python

Ollama offre un pacchetto Python per connettersi facilmente ai modelli in esecuzione sul nostro computer.

Useremo Anaconda per configurare un ambiente Python e aggiungere le dipendenze necessarie. Farlo in questo modo aiuta a prevenire possibili conflitti con altri pacchetti Python già presenti.

Una volta installato Anaconda, possiamo configurare l’ambiente con il comando:

conda create -n gemma3-demo -y python=3.9

Questo comando crea un ambiente chiamato gemma3-demo usando la versione 3.9 di Python. L’opzione -y fa sì che tutte le domande durante la configurazione ricevano automaticamente risposta affermativa.

Poi attiviamo l’ambiente con:

conda activate gemma3-demo

Infine, installiamo il pacchetto ollama con il comando:

pip install ollama

Inviare un messaggio a Gemma 3 con Python

Ecco come possiamo inviare un messaggio a Gemma 3 con Python:

from ollama import chat
response = chat(
    model="gemma3",
    messages=[
        {
            "role": "user",
            "content": "Why is the sky blue?",
        },
    ],
)
print(response.message.content)

A seconda del tuo hardware, il modello potrebbe impiegare un po’ a rispondere: abbi pazienza quando esegui lo script.

Abbiamo visto in precedenza che gemma3 fa riferimento di default a gemma3:4b. Quindi quando specifichiamo model="gemma3" come modello, sarà quello ad essere usato.

Per usare un altro modello — ad esempio il modello 1B — dobbiamo invece passare l’argomento model=”gemma3:1b” (a patto di averlo scaricato in precedenza con il comando ollama pull gemma3:1b). Per elencare i modelli disponibili, possiamo usare il comando ollama list.

Se vogliamo trasmettere la risposta parola per parola, possiamo usare stream=True e stampare la risposta a blocchi:

from ollama import chat
stream = chat(
    model="gemma3",
    messages=[{"role": "user", "content": "Why is the sky blue?"}],
    stream=True,
)
for chunk in stream:
    print(chunk["message"]["content"], end="", flush=True)

Questo offre un’esperienza migliore perché l’utente non deve attendere che l’intera risposta venga generata.

Per saperne di più sul pacchetto ollama, consulta la loro documentazione.

Creare un assistente per file con Gemma 3

In questa sezione vediamo come creare uno script Python che ci consenta di fare domande sul contenuto di un file di testo direttamente dal terminale. Questo script torna utile per attività come cercare bug in un file di codice o interrogare informazioni da qualsiasi documento.

Panoramica dello script

Il nostro obiettivo è creare uno strumento da riga di comando in Python che legga un file di testo e usi Gemma 3 per rispondere a domande relative al suo contenuto. Ecco la guida passo passo per riuscirci:

Impostare la struttura dello script

Per prima cosa, dobbiamo impostare lo script Python con gli import necessari e la struttura di base:

import sys
from ollama import chat
def ask_questions_from_file(file_path):
    # Read the content of the text file
    with open(file_path, "r") as file:
        content = file.read()
    # Loop to keep asking questions
    while True:
        question = input("> ")
        print()
        if question.lower() == "exit":
            break
        # Use Gemma 3 to get answers
        stream = chat(
            model="gemma3",
            messages=[
                {"role": "user", "content": content},
                {"role": "user", "content": question},
            ],
            stream=True,
        )
        for chunk in stream:
            print(chunk["message"]["content"], end="", flush=True)

if __name__ == "__main__":
    if len(sys.argv) != 2:
        print("Usage: python ask_file.py <path_to_text_file>")
    else:
        file_path = sys.argv[1]
        ask_questions_from_file(file_path)

La funzionalità principale è racchiusa nella funzione ask_questions_from_file(). Questa funzione prende come argomento un percorso di file e inizia aprendo e leggendo il contenuto del file di testo specificato. Questo contenuto verrà usato come contesto per rispondere alle domande.

Una volta caricato il contenuto del file, lo script entra in un ciclo in cui ci chiede continuamente di inserire domande. Quando digitiamo una domanda, lo script invia il contenuto del file insieme alla nostra domanda al modello Gemma 3, che elabora queste informazioni per generare una risposta.

L’interazione con il modello avviene tramite un meccanismo di streaming, che consente di visualizzare le risposte in tempo reale man mano che vengono generate. Se digitiamo exit, il ciclo si interrompe e lo script termina.

Alla fine dello script, è presente un controllo che assicura che lo script venga eseguito correttamente con un argomento da riga di comando, che dovrebbe essere il percorso del file di testo. Se l’argomento non viene fornito, viene visualizzato un messaggio di utilizzo per indicarci il modo corretto di eseguire lo script. Questa impostazione ci permette di usare efficacemente lo script dalla riga di comando.

Eseguire lo script

Salva il codice sopra in un file chiamato, ad esempio, ask.py. Per testare lo script, esegui il comando:

python ask.py ask.py

Questo eseguirà lo script per fare domande su se stesso (ecco perché ask.py compare due volte nel comando sopra). Ecco un esempio in cui gli chiediamo di spiegare come funziona lo script:

Usare lo script per usare Gemma 3 in locale come assistente per file

Conclusione

Abbiamo configurato con successo e imparato a eseguire Gemma 3 in locale usando Ollama e Python. Questo approccio garantisce la privacy dei nostri dati, offre bassa latenza, possibilità di personalizzazione e può portare a risparmi sui costi. I passaggi che abbiamo visto non si limitano a Gemma 3: possono essere applicati anche ad altri modelli ospitati su Ollama.

Se vogliamo migliorare la funzionalità del nostro script, potremmo ad esempio estenderne le capacità per gestire i PDF. Il modo migliore per farlo è usare le API di Mistral OCR. Possiamo convertire i file PDF in testo, consentendo al nostro script di rispondere a domande sui PDF, rendendolo ancora più versatile e potente.

Con questi strumenti, ora siamo pronti a esplorare e interagire con modelli di grandi dimensioni direttamente dai nostri dispositivi.

FAQs

Quali sono i requisiti hardware per eseguire Gemma 3 in locale?

La possibilità di eseguire Gemma 3 in locale dipende dalla dimensione specifica del modello che scegli di scaricare. I modelli più piccoli come gemma3:1b sono progettati per essere efficienti e possono funzionare su dispositivi meno potenti, come laptop con una singola GPU o persino alcuni tablet ad alte prestazioni. I modelli più grandi come gemma3:27b richiedono più risorse computazionali, ad esempio una workstation multi-core con una GPU di fascia alta. Controlla sempre le specifiche del tuo dispositivo rispetto ai requisiti del modello per assicurarti della compatibilità.

Posso eseguire più istanze di Gemma 3 contemporaneamente?

Sì, puoi eseguire più istanze di Gemma 3 contemporaneamente, purché le risorse hardware (CPU, GPU e memoria) siano sufficienti a supportare il carico computazionale aggiuntivo. Ogni istanza del modello in esecuzione in background consumerà risorse di sistema extra, quindi assicurati che il tuo sistema possa gestire i processi multipli senza un degrado significativo delle prestazioni.

È necessario usare Anaconda per configurare un ambiente Python?

Anche se Anaconda è altamente consigliata per la facilità con cui crea ambienti isolati, gestisce le dipendenze ed evita conflitti con altri pacchetti Python, non è strettamente necessaria. Puoi usare anche altri strumenti per ambienti virtuali come venv o virtualenv.


François Aubry's photo
Author
François Aubry
LinkedIn
Ingegnere full‑stack e fondatore di CheapGPT. Insegnare è sempre stata la mia passione. Fin dai primi anni da studente, cercavo con entusiasmo occasioni per fare da tutor e aiutare altri studenti. Questa passione mi ha portato a intraprendere un dottorato, durante il quale ho anche svolto il ruolo di assistente alla didattica a supporto del mio percorso accademico. In quegli anni ho trovato enorme soddisfazione nell'ambiente tradizionale dell'aula, creando connessioni e facilitando l'apprendimento. Con l'avvento delle piattaforme di apprendimento online, però, ho riconosciuto il potenziale trasformativo dell'educazione digitale. Di fatto, ho partecipato attivamente allo sviluppo di una di queste piattaforme nella nostra università. Sono profondamente impegnato a integrare i principi dell'insegnamento tradizionale con metodologie digitali innovative. La mia passione è creare corsi non solo coinvolgenti e informativi, ma anche accessibili a chi apprende in questa era digitale.
Argomenti
Intelligenza artificiale
Large Language Models

Impara l'AI con questi corsi!

Corso

Retrieval Augmented Generation (RAG) con LangChain

3 ore
20.8K
Scopri i metodi più innovativi per integrare dati esterni con gli LLM usando Retrieval Augmented Generation (RAG) con LangChain.
Vedi i dettagliRight Arrow
Inizia Il Corso
Mostra altroRight Arrow
Correlato

blog

Tokenizzazione nel NLP: come funziona, sfide e casi d'uso

Guida al preprocessing NLP nel machine learning. Copriamo spaCy, i transformer di Hugging Face e come funziona la tokenizzazione in casi d'uso reali.
Abid Ali Awan's photo

Abid Ali Awan

10 min

blog

I 15 migliori server MCP remoti che ogni AI builder dovrebbe conoscere nel 2026

Scopri i 15 migliori server MCP remoti che stanno trasformando lo sviluppo AI nel 2026. Scopri come migliorano automazione, ragionamento, sicurezza e velocità dei workflow.
Abid Ali Awan's photo

Abid Ali Awan

15 min

blog

Che cos'è Snowflake? Guida per principianti alla piattaforma dati cloud

Esplora le basi di Snowflake, la piattaforma dati cloud. Scopri la sua architettura, le sue funzionalità e come integrarla nelle tue pipeline di dati.
Tim Lu's photo

Tim Lu

12 min

Mostra AltroMostra Altro