Guida all'utilizzo¶
Guida completa alla gestione del tuo ambiente Ollama e all'uso dei modelli.
Gestione dell'ambiente¶
Avvio e arresto dei servizi¶
Avvia tutti i servizi (Ollama + Chat UI):
make up
Avvia solo Ollama (senza interfaccia web di chat):
make up-core
Avvia con accelerazione GPU NVIDIA (usa l'override docker-compose.gpu.yml):
make up-gpu
Arresta tutti i servizi:
make down
Riavvia i servizi:
make restart
Nota: dopo aver modificato porte o altri valori in .env, usa make down && make up (un semplice riavvio non rilegge le mappature delle porte).
Verifica lo stato dei servizi:
docker compose ps
Monitoraggio e log¶
Visualizza i log in tempo reale:
make logs
# Oppure per un servizio specifico
docker compose logs -f ollama
docker compose logs -f chat
Accedi alla shell del container:
make shell
# Oppure direttamente
docker compose exec ollama bash
Pulizia¶
Rimuovi tutti i container e volumi (elimina tutti i modelli):
make clean
Pulizia parziale (mantieni i volumi):
make down
Lavorare con i modelli¶
Elencare i modelli¶
Elenca tutti i modelli installati:
make list-models
# Oppure direttamente
docker compose exec ollama ollama list
Questo mostra: - Nomi dei modelli - Dimensione su disco - ID del modello - Data dell'ultima modifica
Scaricare i modelli¶
Tramite Web UI (consigliato):
1. Apri http://localhost:8080
2. Clicca su "Manage Models"
3. Inserisci il nome del modello (es. llama3.2, mistral:7b, phi3:mini)
4. Clicca su "Pull Model"
5. Osserva l'avanzamento in tempo reale con velocità di download ed ETA
Tramite CLI:
# Scarica i modelli base più comuni
make pull-base
# Scarica un modello specifico
docker compose exec ollama ollama pull <model-name>
# Esempi:
docker compose exec ollama ollama pull llama3.2:1b
docker compose exec ollama ollama pull mistral:7b
docker compose exec ollama ollama pull codellama:13b
Modelli disponibili: consulta la Libreria Ollama per tutti i modelli.
Creare modelli personalizzati¶
I modelli personalizzati vengono definiti tramite i Modelfile (simili ai Dockerfile).
Creazione interattiva (con selezione a menu):
make create-model
Questo comando: 1. Mostra un elenco numerato dei Modelfile disponibili 2. Ti permette di selezionarne uno 3. Chiede un nome per il modello 4. Crea il modello
Creazione diretta:
bash scripts/create-custom-model.sh <model-name> <modelfile-path>
# Esempi:
bash scripts/create-custom-model.sh my-chatbot ./models/examples/chatbot/Modelfile
bash scripts/create-custom-model.sh code-helper ./models/custom/code-assistant/Modelfile
Creare il tuo Modelfile:
Crea un file in ./models/custom/my-model/Modelfile:
# Base model (must be pulled first)
FROM llama3.2:1b
# Model parameters
PARAMETER temperature 0.7
PARAMETER num_ctx 4096
PARAMETER top_p 0.9
PARAMETER repeat_penalty 1.1
# System prompt (defines behavior)
SYSTEM """
You are a helpful assistant specialized in [your use case].
[Define specific behavior, constraints, and personality here]
"""
# Optional: Few-shot examples
MESSAGE user "Example question?"
MESSAGE assistant "Example answer."
Poi crea il modello:
bash scripts/create-custom-model.sh my-model ./models/custom/my-model/Modelfile
Consulta il Riferimento Modelfile per la sintassi completa.
Chattare con i modelli¶
Chat interattiva (tramite CLI):
make chat
# Seleziona da un elenco numerato di modelli
Oppure direttamente:
docker compose exec ollama ollama run <model-name>
# Esempi:
docker compose exec ollama ollama run llama3.2:1b
docker compose exec ollama ollama run my-chatbot
Prompt singolo (non interattivo):
docker compose exec ollama ollama run <model-name> "Your prompt here"
# Esempio:
docker compose exec ollama ollama run llama3.2:1b "Write a haiku about Docker"
Tramite Web UI:
1. Apri http://localhost:8080
2. Seleziona il modello dal menu a discesa
3. Inizia a chattare!
Consulta la Guida alla Chat UI per le funzionalità dell'interfaccia web.
Usare l'API¶
Genera un completamento:
curl http://localhost:11434/api/generate -d '{
"model": "llama3.2:1b",
"prompt": "Why is the sky blue?",
"stream": false
}'
Completamento di chat (con cronologia della conversazione):
curl http://localhost:11434/api/chat -d '{
"model": "llama3.2:1b",
"messages": [
{"role": "user", "content": "Hello!"},
{"role": "assistant", "content": "Hi! How can I help?"},
{"role": "user", "content": "What is Docker?"}
],
"stream": false
}'
Elenca i modelli:
curl http://localhost:11434/api/tags
Mostra le informazioni del modello:
curl http://localhost:11434/api/show -d '{
"name": "llama3.2:1b"
}'
Consulta la Guida all'uso dell'API per la documentazione completa dell'API.
Salvare e distribuire i modelli¶
Esportare la configurazione del modello¶
Salva un modello per il deployment (interattivo):
make save-model
Oppure direttamente:
bash scripts/save-model.sh <model-name> [output-directory]
# Esempi:
bash scripts/save-model.sh my-chatbot
bash scripts/save-model.sh my-chatbot ./custom-output
Questo salva il Modelfile in ./models/saved/<model-name>.Modelfile
Esporta il Modelfile del modello:
bash scripts/export-model.sh <model-name> <output-path>
# Esempio:
bash scripts/export-model.sh my-chatbot ./my-chatbot-v1.Modelfile
Distribuire su un'altra istanza¶
Trasferisci il Modelfile al server di destinazione:
scp ./models/saved/my-chatbot.Modelfile user@server:/path/to/ollama-project/models/saved/
Distribuisci sull'istanza di destinazione (interattivo):
make deploy-model
Oppure direttamente:
bash scripts/deploy-model.sh <modelfile-path> [model-name]
# Esempio:
bash scripts/deploy-model.sh ./models/saved/my-chatbot.Modelfile my-chatbot
Backup di tutti i modelli¶
Crea un backup con timestamp:
make backup-models
# Oppure direttamente:
bash scripts/backup-models.sh [output-directory]
Questo crea un backup in ./backups/models/YYYYMMDD_HHMMSS/ contenente i Modelfile di tutti i tuoi modelli personalizzati.
Importare modelli esterni¶
Importare file GGUF¶
Se disponi di un file di modello GGUF (da Hugging Face, fine-tuning, ecc.):
-
Colloca il file GGUF nella directory data:
cp /path/to/model.gguf ./data/gguf/ -
Importa il modello:
bash scripts/import-model.sh <model-name> ./data/gguf/model.gguf # Esempio: bash scripts/import-model.sh my-custom-model ./data/gguf/my-model.gguf -
Usa il modello:
docker compose exec ollama ollama run my-custom-model
Usare gli adapter LoRA¶
Se disponi di un file di adapter LoRA:
-
Colloca l'adapter nella directory data:
cp /path/to/adapter.bin ./data/adapters/ -
Crea un Modelfile in
./models/custom/adapted-model/Modelfile:FROM llama3.2:1b ADAPTER /data/adapters/my-adapter.bin PARAMETER temperature 0.7 SYSTEM """ You are a specialized assistant. """ -
Crea il modello:
bash scripts/create-custom-model.sh adapted-model ./models/custom/adapted-model/Modelfile
Parametri del modello¶
Panoramica rapida dei parametri che puoi regolare nei Modelfile:
| Parametro | Intervallo | Consigliato | Scopo |
|---|---|---|---|
temperature |
0.0-2.0 | 0.7 (0.3 fattuale, 1.2 creativo) | Casualità / creatività |
num_ctx |
512-32768 | 4096 | Finestra di contesto (token memorizzati) |
top_p |
0.0-1.0 | 0.9 | Nucleus sampling / diversità dell'output |
top_k |
1-100 | 40 | Dimensione del pool di selezione dei token |
repeat_penalty |
0.0-2.0 | 1.1 | Controllo delle ripetizioni |
La Guida ai parametri è il riferimento canonico — contiene preset pronti da copiare e incollare per ogni caso d'uso (chatbot, codice, supporto, creativo, traduttore, estrazione dati) e consigli per la risoluzione dei problemi. Per l'elenco completo dei parametri e la sintassi, consulta il Riferimento Modelfile.
Operazioni avanzate¶
Testare i modelli¶
Test end-to-end rapido:
make quick-test
Questo esegue automaticamente: 1. Crea un modello di test 2. Invia un prompt di test 3. Mostra la risposta 4. Elimina il modello di test
Test di validazione:
make test
Valida: - La configurazione di Docker Compose - Lo stato di salute dei servizi - La struttura delle directory - I Modelfile di esempio
Selezione interattiva dei modelli¶
I menu numerati interattivi sono forniti direttamente dagli script scripts/interactive-*.sh, che condividono funzioni di supporto da scripts/lib/common.sh:
scripts/interactive-create-model.sh: seleziona un Modelfile e crea un modello (make create-model)scripts/interactive-chat.sh: seleziona un modello installato e chatta (make chat)scripts/interactive-save-model.sh: seleziona un modello da salvare (make save-model)scripts/interactive-deploy-model.sh: seleziona un Modelfile salvato da distribuire (make deploy-model)scripts/interactive-publish-model.sh: seleziona un modello da pubblicare su un registry (make publish-model)
Tutti i menu includono l'opzione [0] per inserire manualmente un percorso personalizzato.
Eliminare i modelli¶
docker compose exec ollama ollama rm <model-name>
# Esempio:
docker compose exec ollama ollama rm old-model
Attenzione: questo elimina definitivamente il modello. Assicurati di esportarlo/salvarlo prima, se necessario.
Consigli sulle prestazioni¶
Dimensione del modello e prestazioni¶
- Modelli 1B-3B: veloci, poca RAM, adatti a task semplici
- Modelli 7B-13B: equilibrio tra qualità e velocità
- Modelli 30B+: alta qualità, lenti, richiedono molta RAM/VRAM
Accelerazione GPU¶
Abilita il supporto GPU per: - Inferenza 5-10 volte più veloce - La possibilità di eseguire modelli più grandi - Una migliore gestione di utenti concorrenti
Consulta la Guida all'installazione - Supporto GPU.
Gestione dello spazio su disco¶
I modelli possono essere grandi. Controlla l'utilizzo:
# Controlla l'utilizzo del disco di Docker
docker system df
# Controlla la dimensione del volume
docker volume inspect ollama_data
# Elenca le dimensioni dei modelli
docker compose exec ollama ollama list
Elimina i modelli inutilizzati:
docker compose exec ollama ollama rm <unused-model>
Prossimi passi¶
- Guida alla Chat UI - Usa l'interfaccia web
- Esempi - Template di modelli preconfigurati
- Utilizzo avanzato - Fine-tuning e personalizzazione
- Risoluzione dei problemi - Problemi comuni e soluzioni