# ─── Configurazione RAG ─────────────────────────────────────────────────────── # ── Retrieval ───────────────────────────────────────────────────────────────── # Numero di chunk da recuperare per ogni domanda. # Valori più alti = più contesto, risposte potenzialmente più complete, # ma prompt più lunghi e generazione più lenta. TOP_K = 6 # ── Generazione ─────────────────────────────────────────────────────────────── # Temperatura del modello LLM. # 0.0 = completamente deterministico (stessa risposta ad ogni run) # 0.7 = più creativo e vario TEMPERATURE = 0.2 # Disabilita il "thinking" (ragionamento interno) nei modelli Qwen3/Qwen3.5. # True = risposta diretta, più veloce # False = ragionamento interno abilitato (più lento ma potenzialmente più accurato) NO_THINK = True # ── Embedding ───────────────────────────────────────────────────────────────── # 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 = "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. qwen3-embedding: 32768 token — 6000 char è un limite conservativo. EMBED_MAX_CHARS: int = 6000 # ── Ollama ──────────────────────────────────────────────────────────────────── # URL del server Ollama (default: locale sulla porta 11434). OLLAMA_URL = "http://localhost:11434" # Modello LLM. Scegli in base alla RAM disponibile (vedi README). OLLAMA_MODEL = "qwen3.5:4b" # ── Prompt di sistema ───────────────────────────────────────────────────────── # Istruzioni inviate al LLM prima del contesto e della domanda. # Mantieni le risposte ancorate al contesto per evitare allucinazioni. SYSTEM_PROMPT = ( "Sei un assistente specializzato nell'analisi di documenti accademici. " "Rispondi alla domanda basandoti esclusivamente sul contesto fornito. " "Sii preciso e conciso; cita la sezione di riferimento quando è utile. " "Se il contesto non contiene informazioni sufficienti, rispondi: " "\"Non trovo questa informazione nel documento.\"" )