# Step 8 — Vettorizzazione Legge i chunk prodotti da step-6, genera gli embedding tramite Ollama e li salva in ChromaDB (vector store persistente su disco). --- ## Prerequisiti - Step-6 completato (esiste `step-6//chunks.json`) - Ollama attivo con il modello di embedding scaricato - `chromadb` installato (`pip install -r requirements.txt`) --- ## Configurazione modello Il modello di embedding viene letto da **`step-9/config.py`**: ```python # step-9/config.py EMBED_MODEL = "nomic-embed-text" # ← cambia qui ``` > Il modello scelto qui deve corrispondere a quello usato in step-9. > Se lo cambi dopo aver già vettorizzato, devi rieseguire step-8 con `--force`. --- ## Uso ```bash # Vettorizza un singolo documento python step-8/ingest.py --stem # Vettorizza tutti i documenti trovati in step-6/ python step-8/ingest.py # Sovrascrive una collection già esistente python step-8/ingest.py --stem --force # Override modello (senza modificare config.py) python step-8/ingest.py --stem --model bge-m3 ``` --- ## Output I vettori vengono salvati in `chroma_db//` come collection ChromaDB con distanza coseno. La directory è ignorata da git (generata automaticamente). --- ## Modelli supportati Stessi modelli raccomandati nel [README di step-7](../step-7/README.md). Il modello deve essere scaricato in Ollama prima di eseguire questo script (`ollama pull `).