feat(ollama): aggiungi step 7 — verifica ambiente Ollama

Script check_env.py e README per controllare prerequisiti prima
della vettorizzazione: ollama nel PATH, modelli embedding e LLM
disponibili, chromadb importabile
This commit is contained in:
2026-04-17 18:16:32 +02:00
parent d1f7da8141
commit 865bd58101
2 changed files with 365 additions and 0 deletions
+113
View File
@@ -0,0 +1,113 @@
# Ollama — Step 7 (Verifica Ambiente)
Prima di procedere con la vettorizzazione (step 8) devi avere installato:
- **Ollama** — server locale per LLM e embedding
- un **modello di embedding** (es. `qwen3-embedding:0.6b`, `bge-m3`)
- un **modello LLM** (es. `qwen3.5:4b`)
- **chromadb** — libreria Python per il vector store
---
## 1. Installa Ollama
```bash
curl -fsSL https://ollama.com/install.sh | sh
```
Verifica che il servizio sia attivo:
```bash
ollama list
```
### Disinstalla Ollama
```bash
# Ferma e rimuovi il servizio systemd
sudo systemctl stop ollama
sudo systemctl disable ollama
sudo rm /etc/systemd/system/ollama.service
sudo systemctl daemon-reload
# Rimuovi il binario
sudo rm /usr/local/bin/ollama
# Rimuovi modelli e dati (opzionale)
sudo rm -rf /usr/share/ollama
# Rimuovi utente e gruppo di sistema (opzionale)
sudo userdel ollama
sudo groupdel ollama
```
---
## 2. Scarica i modelli
### Modello di embedding (consigliato)
```bash
ollama pull qwen3-embedding:0.6b
```
Alternative supportate:
- `nomic-embed-text-v2-moe`
- `bge-m3`
- `nomic-embed-text`
Se cambi embedding model rispetto a quello usato in step-8, riesegui ingest con `--force` e aggiorna `EMBED_MODEL` in `step-9/config.py`.
### Modello LLM (consigliato per 8 GB RAM)
```bash
ollama pull qwen3.5:4b
```
Se usi un modello diverso, aggiorna `OLLAMA_MODEL` in `step-9/config.py`.
### Disinstalla un modello
```bash
ollama rm qwen3.5:4b
ollama rm qwen3-embedding:0.6b
```
---
## 3. Installa le dipendenze Python
```bash
source .venv/bin/activate
pip install -r requirements.txt
```
---
## 4. Verifica ambiente
```bash
source .venv/bin/activate
python ollama/check_env.py
```
Output atteso (esempio):
```text
✅ ollama trovato nel PATH
✅ ollama risponde correttamente
✅ embedding disponibile: qwen3-embedding:0.6b
✅ LLM disponibile: qwen3.5:4b
✅ chromadb importabile
✅ Ambiente pronto — procedi con la vettorizzazione:
python step-8/ingest.py --stem <nome>
```
---
## Prossimo step
```bash
python step-8/ingest.py --stem <nome>
```