From c381d7da3c73d84818b07045deaef4e6df9cf56e Mon Sep 17 00:00:00 2001 From: Davide Grilli Date: Tue, 12 May 2026 10:39:27 +0200 Subject: [PATCH] docs(readme): aggiunge sezioni configurazione modelli, test ollama, retrieval e RAG Co-Authored-By: Claude Sonnet 4.6 --- README.md | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) diff --git a/README.md b/README.md index dfbad1d..26ade19 100644 --- a/README.md +++ b/README.md @@ -147,6 +147,77 @@ Modificare solo questo file — chunker, verify e fix si aggiornano automaticame --- +## Configurazione modelli + +Tutti i parametri LLM e embedding sono in [`config.py`](config.py): + +```python +OLLAMA_MODEL = "qwen3.5:4b" # modello LLM per la generazione +EMBED_MODEL = "nomic-embed-text" # modello embedding (deve coincidere con l'ingestion) +TEMPERATURE = 0.2 # 0.0 = deterministico, valori alti = più creativo +NO_THINK = True # True = risposta diretta (più veloce), False = con ragionamento +TOP_K = 6 # numero di chunk recuperati per ogni domanda +OLLAMA_URL = "http://localhost:11434" +``` + +> Se cambi `EMBED_MODEL` devi rieseguire l'ingestion con `--force` — gli embedding +> devono essere prodotti dallo stesso modello usato nel retrieval. + +--- + +## Testare il modello (senza RAG) + +Verifica che il modello LLM risponda correttamente prima di coinvolgere la pipeline: + +```bash +.venv/bin/python ollama/test_ollama.py +``` + +Il modello usato è quello configurato in `config.py` (`OLLAMA_MODEL`). +Digita `exit` per uscire. + +--- + +## Retrieval puro (senza generazione) + +Utile per verificare che i chunk giusti vengano recuperati prima di diagnosticare +risposte sbagliate: + +```bash +.venv/bin/python retrieve.py --stem + +# Modifica il numero di chunk restituiti +.venv/bin/python retrieve.py --stem --top-k 10 +``` + +Nel loop interattivo: + +| Comando | Effetto | +|---------|---------| +| `` | Mostra i chunk più simili con score di similarità (testo troncato) | +| ` -f` | Testo completo dei chunk | +| `exit` | Termina | + +--- + +## RAG interattivo + +Risponde a domande in linguaggio naturale usando i chunk indicizzati in ChromaDB: + +```bash +.venv/bin/python rag.py --stem +``` + +Nel loop interattivo: + +| Comando | Effetto | +|---------|---------| +| `` | Risposta generata dal LLM con contesto dai chunk | +| ` -v` | Risposta + chunk recuperati con score di similarità | +| `exit` | Termina | + +--- + ## Test ```bash