diff --git a/README.md b/README.md index b838d5b..7a574a9 100644 --- a/README.md +++ b/README.md @@ -64,8 +64,8 @@ Il file usato dalla pipeline è **`.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//`: | 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) | diff --git a/config.py b/config.py index 34f104d..4061879 100644 --- a/config.py +++ b/config.py @@ -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 ──────────────────────────────────────────────────────────────────── diff --git a/ingestion/README.md b/ingestion/README.md index befce33..e3d6b91 100644 --- a/ingestion/README.md +++ b/ingestion/README.md @@ -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.** diff --git a/ollama/README.md b/ollama/README.md index 6451b14..40998d9 100644 --- a/ollama/README.md +++ b/ollama/README.md @@ -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`.