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:
@@ -64,8 +64,8 @@ Il file usato dalla pipeline è **`<stem>.md`** nella cartella `auto/`.
|
||||
Scarica e avvia [Ollama](https://ollama.com), poi installa i modelli:
|
||||
|
||||
```bash
|
||||
ollama pull nomic-embed-text # embedding (obbligatorio)
|
||||
ollama pull qwen3.5:4b # generazione LLM (o altro modello)
|
||||
ollama pull qwen3-embedding:0.6b # embedding (obbligatorio)
|
||||
ollama pull qwen3.5:4b # generazione LLM (o altro modello)
|
||||
```
|
||||
|
||||
---
|
||||
@@ -235,7 +235,7 @@ Output in `chunks/<stem>/`:
|
||||
| Parametro | Default | Descrizione |
|
||||
|-----------|---------|-------------|
|
||||
| `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 |
|
||||
| `TOP_K` | 6 | Chunk recuperati per domanda |
|
||||
| `TEMPERATURE` | 0.2 | Creatività del modello (0 = deterministico) |
|
||||
|
||||
@@ -24,11 +24,11 @@ NO_THINK = True
|
||||
# Modello di embedding usato da Ollama.
|
||||
# Deve corrispondere al modello usato durante la vettorizzazione (ingest.py).
|
||||
# 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.
|
||||
# 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
|
||||
|
||||
# ── Ollama ────────────────────────────────────────────────────────────────────
|
||||
|
||||
+4
-4
@@ -29,7 +29,7 @@ Il modello di embedding viene letto da **`config.py`**:
|
||||
|
||||
```python
|
||||
# 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.
|
||||
@@ -75,16 +75,16 @@ Il modello deve essere scaricato in Ollama prima di eseguire questo script
|
||||
### Modello di embedding
|
||||
|
||||
**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.
|
||||
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.**
|
||||
|
||||
| Dimensioni | Modelli | Quando usarlo |
|
||||
|---|---|---|
|
||||
| 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 |
|
||||
|
||||
**Usa la stessa famiglia LLM + embedding quando possibile.**
|
||||
|
||||
+2
-3
@@ -53,9 +53,8 @@ ollama pull qwen3-embedding:0.6b
|
||||
|
||||
Alternative supportate:
|
||||
|
||||
- `nomic-embed-text-v2-moe`
|
||||
- `bge-m3`
|
||||
- `nomic-embed-text`
|
||||
- `bge-m3` — ottimo multilingue, 1024 dim
|
||||
- `nomic-embed-text` — più leggero, parzialmente multilingue
|
||||
|
||||
Se cambi embedding model rispetto a quello usato in ingestion, riesegui ingest con `--force` e aggiorna `EMBED_MODEL` in `config.py`.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user