Cosa fa sì che le citazioni RAG rimandino a versioni obsolete dei documenti?

Eva Wong è la Technical Writer e smanettatrice residente di ZimaSpace. Una geek da sempre con una passione per homelab e software open-source, si specializza nel tradurre concetti tecnici complessi in guide accessibili e pratiche. Eva crede che l'auto-ospitare debba essere divertente, non intimidatorio. Attraverso i suoi tutorial, dà potere alla comunità di demistificare le configurazioni hardware, dalla costruzione del loro primo NAS al dominio dei container Docker.

Le citazioni RAG rimandano a versioni superate quando il recupero e i metadati delle citazioni non concordano su quale stato del documento sia attualmente autorevole.

Una knowledge base privata può aggiornare una policy, un manuale, un modello di fattura o una procedura domestica mentre la risposta continua a collegarsi alla formulazione precedente. La citazione visibile viene assemblata dopo diversi passaggi separati: acquisizione della fonte, creazione dei chunk, generazione degli embedding, indicizzazione, recupero, reranking, generazione e visualizzazione della fonte. Un errore di versione può iniziare in uno qualsiasi di questi livelli, anche quando il link finale si apre correttamente e il nome del file citato sembra familiare.

La citazione può risolversi correttamente, ma identificare la versione sbagliata

Un link di citazione può aprire la famiglia di documenti prevista, puntando però senza segnalarlo a una revisione archiviata, a una vecchia istantanea o a un chunk copiato da uno stato precedente del file.

Le indicazioni di Oracle sul disallineamento degli indici descrivono come i chunk superati possano rimanere ricercabili quando i processi di eliminazione, sostituzione e riconciliazione non rimangono sincronizzati.

L’osservazione distintiva è che il nome della fonte è corretto, mentre la frase citata, la pagina o l’indicatore di revisione è obsoleto. Una fonte completamente estranea indica invece errori di rilevanza nel recupero o di visualizzazione della citazione.

Gli ID instabili dei chunk interrompono il collegamento tra l’evidenza e lo stato della fonte

Una citazione memorizza comunemente un ID del documento, un ID del chunk, una pagina, un offset o un URL della fonte. La nuova analisi e suddivisione in chunk può spostare la stessa frase in un altro record oppure assegnare il vecchio record a un testo diverso.

RAGVersion documenta il versionamento a livello di chunk per corpora soggetti a modifiche, riconoscendo che una fonte mutevole ha bisogno di più di un identificatore immutabile.

Se le citazioni cambiano di poche righe dopo ogni ricostruzione, la fonte potrebbe essere aggiornata ma il riferimento posizionale è obsoleto. Se invece la formulazione citata è obsoleta, significa che partecipa ancora un record di contenuto precedente.

I chunk vecchi e nuovi possono rimanere attivi contemporaneamente

Una pipeline di aggiornamento può inserire i chunk sostitutivi prima di eliminare la precedente famiglia di documenti, oppure potrebbe non gestire affatto le eliminazioni.

Quando entrambe le versioni condividono argomento, terminologia e struttura, il chunk più vecchio può ottenere un punteggio pari a quello nuovo. Il generatore riceve quindi due affermazioni apparentemente pertinenti senza sapere quale sia autorevole.

Questo schema produce risposte miste e citazioni alternate tra query ripetute. È diverso da una mappatura stabile ma errata della fonte, che di solito restituisce la stessa versione sbagliata ogni volta.

-15% OFF

La similarità semantica non codifica la validità temporale

Gli embedding collocano i testi semanticamente correlati vicini tra loro, ma non indicano intrinsecamente che un’affermazione sia attuale e un’altra superata.

VersionRAG considera i documenti in evoluzione un problema di recupero distinto e modella le sequenze delle versioni e le modifiche ai documenti invece di basarsi soltanto sulla similarità.

Una frase revisionata può essere quasi identica a quella precedente, fatta eccezione per un numero, una data, un nome o una procedura. Questa piccola differenza fattuale può essere più importante della loro elevata sovrapposizione semantica.

La provenienza della citazione può andare persa dopo il recupero

Il retriever può restituire correttamente i metadati della fonte, ma un reranker, un compressore del contesto, un deduplicatore o un generatore del prompt successivo può separare il testo dal record originale.

Le indicazioni di sicurezza RAG di OWASP raccomandano di restituire l’attribuzione della fonte e i metadati di provenienza insieme all’evidenza recuperata.

Una traccia sospetta contiene il testo della risposta proveniente da un chunk, abbinato all’URL o al numero di pagina di un altro. È un errore di associazione della provenienza, non una decisione di ranking sulla freschezza del documento.

Il recupero memorizzato nella cache o le risposte generate possono conservare una vecchia citazione

Un aggiornamento della fonte può rinfrescare l’indice vettoriale mentre una cache delle query, del reranker, del prompt o delle risposte generate continua a restituire un insieme di evidenze precedente.

Il risultato obsoleto può scomparire solo dopo la scadenza della cache, il riavvio del servizio o una variazione della query, anche se l’ispezione diretta dell’indice mostra già i chunk aggiornati.

Questa causa è distinguibile quando la stessa query identica restituisce la vecchia citazione mentre una parafrasi recupera la versione nuova. Entrambe le richieste possono raggiungere lo stesso modello, ma chiavi di cache diverse.

I metadati della versione non hanno effetto se i filtri di recupero non li utilizzano

La memorizzazione di campi come version, is_current, valid_from o superseded_by non modifica automaticamente la ricerca dei vicini più prossimi.

Qdrant supporta i filtri payload durante la ricerca vettoriale, consentendo di limitare l’insieme dei candidati in base ai metadati indicizzati prima del ranking.

Se l’applicazione recupera l’intero namespace e mostra semplicemente i metadati della versione in un secondo momento, un chunk obsoleto può comunque entrare nel prompt e ricevere la citazione finale.

Filtrare la versione corrente richiede una regola canonica per la fonte

Un filtro deve stabilire in modo affidabile quale record sia corrente. Il solo momento della modifica può promuovere un archivio copiato, un vecchio file toccato di recente o una bozza che non dovrebbe sostituire la fonte pubblicata.

Pinecone documenta la ricerca filtrata per metadati, ma è comunque l’applicazione a definire i campi di versione e stato utilizzati dall’espressione.

L’articolo di ZimaSpace sul motivo per cui un indice di ricerca AI per NAS espone più dei file sorgente chiarisce il confine: le citazioni devono essere risolte a partire da un record canonico della versione della fonte, non dal chunk che casualmente ottiene il punteggio più alto.

Domande frequenti

Una risposta corretta può comunque contenere una citazione superata?

Sì. Il modello può esporre il fatto attuale tratto da un chunk mentre il generatore della citazione associa i metadati a un record precedente o adiacente.

Eliminare il vecchio file sorgente rimuove i relativi vettori?

Non automaticamente. Il sistema di acquisizione deve propagare l’eliminazione oppure contrassegnare come inattivo ogni chunk derivato nell’indice ricercabile.

Le citazioni dovrebbero puntare agli ID dei chunk o agli URL dei documenti?

Entrambe le identità sono utili. Il chunk identifica l’evidenza esatta, mentre l’URL del documento e il record della versione forniscono una fonte stabile e leggibile e ne indicano lo stato di validità.

Hub Tecnologico e AI

Altro da leggere

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.