chore: cambia modello embedding da nomic-embed-text a qwen3-embedding:0.6b

Migliore supporto multilingue e coerenza semantica con qwen3.5:4b.
Aggiornati config.py, README.md, ingestion/README.md, ollama/README.md.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-04 15:54:43 +02:00
parent cdda929537
commit 019a484854
4 changed files with 11 additions and 12 deletions
+2 -2
View File
@@ -64,7 +64,7 @@ Il file usato dalla pipeline è **`<stem>.md`** nella cartella `auto/`.
Scarica e avvia [Ollama](https://ollama.com), poi installa i modelli: Scarica e avvia [Ollama](https://ollama.com), poi installa i modelli:
```bash ```bash
ollama pull nomic-embed-text # embedding (obbligatorio) ollama pull qwen3-embedding:0.6b # embedding (obbligatorio)
ollama pull qwen3.5:4b # generazione LLM (o altro modello) ollama pull qwen3.5:4b # generazione LLM (o altro modello)
``` ```
@@ -235,7 +235,7 @@ Output in `chunks/<stem>/`:
| Parametro | Default | Descrizione | | Parametro | Default | Descrizione |
|-----------|---------|-------------| |-----------|---------|-------------|
| `OLLAMA_MODEL` | `qwen3.5:4b` | Modello LLM per la generazione | | `OLLAMA_MODEL` | `qwen3.5:4b` | Modello LLM per la generazione |
| `EMBED_MODEL` | `nomic-embed-text` | Modello embedding | | `EMBED_MODEL` | `qwen3-embedding:0.6b` | Modello embedding |
| `EMBED_MAX_CHARS` | 6000 | Caratteri massimi inviati al modello embedding | | `EMBED_MAX_CHARS` | 6000 | Caratteri massimi inviati al modello embedding |
| `TOP_K` | 6 | Chunk recuperati per domanda | | `TOP_K` | 6 | Chunk recuperati per domanda |
| `TEMPERATURE` | 0.2 | Creatività del modello (0 = deterministico) | | `TEMPERATURE` | 0.2 | Creatività del modello (0 = deterministico) |
+2 -2
View File
@@ -24,11 +24,11 @@ NO_THINK = True
# Modello di embedding usato da Ollama. # Modello di embedding usato da Ollama.
# Deve corrispondere al modello usato durante la vettorizzazione (ingest.py). # Deve corrispondere al modello usato durante la vettorizzazione (ingest.py).
# Se cambi questo, devi rieseguire ingest.py con --force. # Se cambi questo, devi rieseguire ingest.py con --force.
EMBED_MODEL = "nomic-embed-text" EMBED_MODEL = "qwen3-embedding:0.6b"
# Caratteri massimi inviati al modello di embedding. # Caratteri massimi inviati al modello di embedding.
# Il testo viene troncato SOLO per il vettore; il documento completo # Il testo viene troncato SOLO per il vettore; il documento completo
# rimane in ChromaDB. nomic-embed-text: 8192 token 6000 char sicuri. # rimane in ChromaDB. qwen3-embedding: 32768 token 6000 char è un limite conservativo.
EMBED_MAX_CHARS: int = 6000 EMBED_MAX_CHARS: int = 6000
# ── Ollama ──────────────────────────────────────────────────────────────────── # ── Ollama ────────────────────────────────────────────────────────────────────
+4 -4
View File
@@ -29,7 +29,7 @@ Il modello di embedding viene letto da **`config.py`**:
```python ```python
# config.py # config.py
EMBED_MODEL = "nomic-embed-text" # ← cambia qui EMBED_MODEL = "qwen3-embedding:0.6b" # ← cambia qui
``` ```
> Il modello scelto qui deve corrispondere a quello usato in rag.py. > Il modello scelto qui deve corrispondere a quello usato in rag.py.
@@ -75,16 +75,16 @@ Il modello deve essere scaricato in Ollama prima di eseguire questo script
### Modello di embedding ### Modello di embedding
**Usa un modello multilingue per testi italiani.** **Usa un modello multilingue per testi italiani.**
I modelli English-first (`nomic-embed-text`, `mxbai-embed-large`, `all-minilm`) I modelli English-first (`mxbai-embed-large`, `all-minilm`)
producono vettori di qualità inferiore su italiano, con retrieval meno preciso. producono vettori di qualità inferiore su italiano, con retrieval meno preciso.
Prima scelta: `qwen3-embedding:0.6b`. Prima scelta: `qwen3-embedding:0.6b` — stesso ecosistema di `qwen3.5:4b`, ottimo multilingue.
**Più dimensioni = retrieval più preciso, ma più spazio su disco.** **Più dimensioni = retrieval più preciso, ma più spazio su disco.**
| Dimensioni | Modelli | Quando usarlo | | Dimensioni | Modelli | Quando usarlo |
|---|---|---| |---|---|---|
| 1024 | `qwen3-embedding:0.6b`, `bge-m3` | documenti tecnici, testi lunghi | | 1024 | `qwen3-embedding:0.6b`, `bge-m3` | documenti tecnici, testi lunghi |
| 768 | `nomic-embed-text-v2-moe` | buon compromesso | | 768 | `nomic-embed-text` | leggero, parzialmente multilingue |
| 384 | `all-minilm` | solo per test rapidi | | 384 | `all-minilm` | solo per test rapidi |
**Usa la stessa famiglia LLM + embedding quando possibile.** **Usa la stessa famiglia LLM + embedding quando possibile.**
+2 -3
View File
@@ -53,9 +53,8 @@ ollama pull qwen3-embedding:0.6b
Alternative supportate: Alternative supportate:
- `nomic-embed-text-v2-moe` - `bge-m3` — ottimo multilingue, 1024 dim
- `bge-m3` - `nomic-embed-text` — più leggero, parzialmente multilingue
- `nomic-embed-text`
Se cambi embedding model rispetto a quello usato in ingestion, riesegui ingest con `--force` e aggiorna `EMBED_MODEL` in `config.py`. Se cambi embedding model rispetto a quello usato in ingestion, riesegui ingest con `--force` e aggiorna `EMBED_MODEL` in `config.py`.