Domain Knowledge Base - RAG Systems
Come funziona il dominio, prima di scrivere una riga di codice? Scegli un documento dall'albero a sinistra: ogni pagina spiega una parte del modello.
Regole di Business - RAG Systems
Questo documento elenca le regole di business fondamentali del dominio RAG Systems (sistemi di Retrieval-Augmented Generation), identificate con codice univoco BR-NNN. Ogni regola è technology-independent e descrive un vincolo invariante sulla pipeline di indicizzazione e interrogazione.
---
BR-001 - Coerenza dello spazio di embedding tra indicizzazione e query
Codice: BR-001
Nome: Stesso modello di embedding per documenti e query
Descrizione: Gli Embedding dei Chunk indicizzati e quelli delle Query devono essere prodotti dallo stesso modello e avere la stessa dimensione. Cambiare il modello di embedding richiede la reindicizzazione completa del VectorIndex.
Motivazione: La similarità è significativa solo nello stesso spazio vettoriale; modelli diversi rendono i confronti privi di senso.
Priorità: CRITICA
Attori: Indexing Pipeline, Retriever
Violazione: ricerca con embedding di modello diverso → reindicizzazione forzata.
Tracciabilità: INV-01; indexing-pipeline.md.
---
BR-002 - Ogni Chunk conserva la provenienza
Codice: BR-002
Nome: Tracciabilità della fonte per ogni frammento
Descrizione: Ogni Chunk indicizzato deve conservare il riferimento al Documento di origine, la posizione e la data di indicizzazione. Le risposte fondate citano la fonte tramite questi riferimenti.
Motivazione: Permettere la citazione, la verifica e l'attribuzione delle affermazioni (grounding verificabile).
Priorità: ALTA
Attori: Indexing Pipeline, Generator
Tracciabilità: BR-006; INV-02; query-answering.md.
---
BR-003 - La risposta è ancorata al contesto recuperato
Codice: BR-003
Nome: Grounding obbligatorio sul contesto
Descrizione: Il Generator deve basare la risposta esclusivamente sui Chunk recuperati pertinenti. Quando il contesto non contiene l'informazione, la risposta deve dichiarare l'incertezza ("non disponibile nei documenti") anziché ricorrere alla conoscenza parametrica non verificata.
Motivazione: Ridurre le allucinazioni e garantire la faithfulness (la promessa centrale della RAG).
Priorità: CRITICA
Attori: Generator
Violazione: affermazioni non supportate dal contesto → la valutazione di faithfulness fallisce.
Tracciabilità: INV-03; query-answering.md.
---
BR-004 - Soglia di pertinenza sui chunk recuperati
Codice: BR-004
Nome: Filtraggio dei risultati a bassa rilevanza
Descrizione: Solo i Chunk con punteggio di pertinenza sopra una soglia (dopo eventuale re-ranking) vengono passati al Generator. Chunk irrilevanti vanno scartati per non inquinare il contesto e indurre allucinazioni.
Motivazione: Contesto rumoroso degrada la qualità della risposta più della sua assenza.
Priorità: ALTA
Attori: Retriever, Reranker
Tracciabilità: query-answering.md; INV-04.
---
BR-005 - Il contesto rispetta la finestra e il budget
Codice: BR-005
Nome: Gestione del top-k e del token budget
Descrizione: Il numero di Chunk inviati al Generator (top-k) e la loro lunghezza complessiva devono rientrare nella finestra di contesto e nel budget di token. Oltre il limite si applica selezione/compattazione esplicita, mai troncamento silenzioso del chunk più rilevante.
Motivazione: Evitare overflow e perdita del contesto critico per il "lost in the middle".
Priorità: ALTA
Attori: Retriever, Generator
Tracciabilità: INV-05; query-answering.md.
---
BR-006 - Reindicizzazione alla variazione delle fonti
Codice: BR-006
Nome: Freschezza dell'indice
Descrizione: Quando un Documento viene aggiunto, modificato o rimosso, la Indexing Pipeline deve aggiornare il VectorIndex in modo che le risposte riflettano lo stato corrente delle fonti. I chunk di documenti rimossi non devono più essere recuperabili.
Motivazione: Evitare risposte basate su informazioni obsolete o su documenti non più validi.
Priorità: ALTA
Attori: Indexing Pipeline
Tracciabilità: indexing-pipeline.md; INV-06.
---
BR-007 - Isolamento dei dati in multi-tenancy
Codice: BR-007
Nome: Filtraggio per metadati e confini di accesso
Descrizione: Quando l'indice serve più tenant o livelli di autorizzazione, ogni Query deve recuperare solo i Chunk per cui il richiedente ha diritto di accesso, tramite filtraggio per metadati applicato prima o durante la ricerca.
Motivazione: Prevenire la fuga di dati tra tenant o oltre i permessi dell'utente.
Priorità: CRITICA
Attori: Retriever, Guardrail
Tracciabilità: INV-07; query-answering.md.
---
BR-008 - Difesa dalla prompt injection nei documenti
Codice: BR-008
Nome: I contenuti recuperati sono dati non fidati
Descrizione: I Chunk recuperati (provenienti da documenti esterni) sono contenuto non fidato: vanno delimitati nel prompt e ispezionati dai Guardrail, perché possono contenere istruzioni di injection indirizzata al modello.
Motivazione: Difendersi dalla prompt injection veicolata dai documenti indicizzati.
Priorità: CRITICA
Attori: Generator, Guardrail
Tracciabilità: OWASP LLM Top 10 (LLM01); INV-08.