Wersjonowanie dokumentów pozwala utrzymywać aktualność odpowiedzi RAG, łącząc każdy zaindeksowany fragment ze stabilną tożsamością dokumentu i wyraźnie określonym stanem wersji.
Domowa baza wiedzy może jednocześnie przechowywać starą umowę najmu, zmienioną polisę ubezpieczeniową, zaktualizowaną instrukcję obsługi routera, edytowany plan projektu oraz zarchiwizowaną procedurę domową. Sama podobieństwo semantyczne nie pozwala określić, który dokument jest dziś wiążący, ponieważ starsza wersja może pasować do zapytania równie dobrze jak nowy plik. Wersjonowanie dodaje informacje o cyklu życia, które mechanizm wyszukiwania może zastosować, zanim model generujący odpowiedź otrzyma dowody.
Stabilna tożsamość dokumentu musi przetrwać zmiany nazw plików i wersji
Pierwszym wymaganiem jest oddzielenie odpowiedzi na pytania „który to dokument?” i „która wersja tego dokumentu?”. Sama ścieżka lub nazwa pliku jest zawodna, ponieważ użytkownicy zmieniają nazwy, przenoszą, kopiują i zastępują pliki.
Stabilne identyfikatory punktów i dane payload mogą przechowywać identyfikator nadrzędnego dokumentu, identyfikator wersji, pozycję fragmentu oraz pola określające bieżący status, dzięki czemu sama ścieżka pliku nie jest jedynym kluczem tożsamości.
Po edycji pliku potok powinien utworzyć nową wersję w ramach tej samej rodziny dokumentów lub ją rozpoznać, zamiast traktować ją jako niezależne źródło.
Ta warstwa tożsamości zapobiega również temu, by skopiowany plik archiwalny nie stał się niepostrzeżenie drugim „bieżącym” dokumentem tylko dlatego, że zmieniła się jego ścieżka.
Metadane wersji zapewniają mechanizm filtrowania bieżącego stanu
Każdy fragment może dziedziczyć metadane, takie jak numer wersji, skrót treści, czas pobrania, datę wejścia w życie, ścieżkę źródłową, identyfikator nadrzędnego dokumentu oraz status, na przykład aktywny, zastąpiony, roboczy lub zarchiwizowany.
Śledzenie aktualności i zastępowania źródeł ma znaczenie, ponieważ starszy fragment może pozostać bardzo podobny do zapytania o bieżący stan nawet po tym, jak nowsza wersja stanie się wiążąca.
W przypadku zapytania o bieżący stan można ograniczyć wyniki do aktywnej wersji przed obliczeniem podobieństwa wektorowego albo przed zaakceptowaniem końcowych kandydatów. Zapytanie historyczne może celowo rozszerzyć ten filtr do określonej daty lub wersji.
Nowe fragmenty muszą zostać aktywowane jako jedna spójna wersja
Duże pliki są zwykle dzielone na wiele fragmentów, dlatego aktualizacja tworzy rodzinę rekordów, a nie jeden wektor. Publikowanie tych fragmentów pojedynczo może ujawnić mieszany stan, w którym niektóre fragmenty są nowe, a inne stare.
przyrostowe aktualizacje embeddingów mogą zachować niezmienione rekordy, a jednocześnie zastąpić lub usunąć pochodne fragmenty powiązane ze zmienioną treścią źródłową, ograniczając przejście między wersjami do jednej rodziny dokumentów.
Bezpieczniejsze przejście między wersjami polega na utworzeniu nowej rodziny, sprawdzeniu oczekiwanych fragmentów i metadanych, a następnie przełączeniu aktywnej wersji dopiero po pomyślnym zakończeniu pobierania danych.
Jeśli przetwarzanie zakończy się niepowodzeniem w połowie OCR, dzielenia na fragmenty, tworzenia embeddingów lub wstawiania wektorów, poprzednia kompletna wersja może pozostać aktywna zamiast ujawniać hybrydowy dokument.
Zastąpione fragmenty należy wycofać z domyślnego wyszukiwania, ale niekoniecznie usuwać
Przechowywanie historii jest przydatne podczas audytów, porównywania zmian oraz odpowiadania na pytania o treść polityki z ubiegłego roku. Problemem nie jest istnienie starych fragmentów, lecz dopuszczenie do tego, by konkurowały na równych zasadach z aktualnymi informacjami.
uwzględniające źródła rekordy RAG wiążą wektory z metadanymi na poziomie dokumentu, dzięki czemu można zarządzać wersjami bez utraty relacji z ich pierwotnym źródłem.
Zastąpiona wersja może pozostać dostępna pod filtrem archiwalnym, a jednocześnie być wykluczona ze zwykłych pytań dotyczących bieżącego stanu. Taki podział zachowuje możliwość prześledzenia źródła i nie zmusza modelu generującego odpowiedź do rozstrzygania, któremu z kilku niemal identycznych fragmentów należy zaufać.
Cytowania wymagają tej samej tożsamości wersji co wyszukiwanie
Kontrola wersji jest niepełna, gdy mechanizm wyszukiwania wybiera bieżący fragment, ale renderowanie cytowania odtwarza odnośnik wyłącznie na podstawie nazwy pliku, ścieżki lub rodziny dokumentów.
Nawet gdy wyszukiwanie znajdzie bieżący fragment, metadane cytowania mogą rozminąć się ze stanem wyszukiwania, jeśli warstwa cytowań odtwarza odnośniki na podstawie słabszych identyfikatorów, takich jak sama nazwa pliku lub ścieżka.
Rekord cytowania powinien zawierać identyfikator wersji, ścieżkę źródłową lub niezmienny identyfikator obiektu, lokalizację strony lub fragmentu oraz ten sam status aktywny/historyczny, który był używany podczas wyszukiwania.
Dzięki temu użytkownik może zweryfikować dokładną wersję, na której oparto odpowiedź, zamiast otwierać nowszy plik, którego treść nie odpowiada już przytoczonym dowodom.
Wersjonowanie nadal zależy od niezawodnego wykrywania zmian
Schemat uwzględniający wersje nie pomoże, jeśli potok pobierania danych nigdy nie wykryje zmiany źródła albo jeśli nieudana aktualizacja pozostawi stare rekordy aktywne bezterminowo.
Niezawodna spójność pobierania danych jest warunkiem wstępnym wyszukiwania uwzględniającego wersje, ponieważ indeks nie może wybrać wersji, która nigdy nie została w pełni lub poprawnie pobrana.
Obserwatory plików, zaplanowane uzgadnianie, skróty treści, strumienie zmian z baz danych oraz jawne zdarzenia przesyłania plików mogą zasilać cykl życia wersji. Warstwa wersjonowania decyduje następnie, która wersja stanie się bieżąca.
Bieżące odpowiedzi pozostają wiarygodne tylko wtedy, gdy wykrywanie, pobieranie, aktywacja, wyszukiwanie i cytowanie korzystają z tego samego kontraktu tożsamości dokumentu i wersji.
FAQ
Czy znacznik czasu modyfikacji pliku wystarczy do zdefiniowania wersji RAG?
Nie. Znaczniki czasu mogą zmieniać się podczas kopiowania lub przywracania plików i nie wskazują, która treść lub rodzina fragmentów stała się wiążąca. Bezpieczniejsze rozwiązanie to stabilny identyfikator dokumentu oraz jawne metadane wersji.
Czy stare wersje dokumentów należy usuwać z bazy wektorowej?
Niekoniecznie. Mogą pozostać dostępne na potrzeby historii lub audytów, jeśli domyślne wyszukiwanie je wyklucza, a cytowania jednoznacznie zachowują ich tożsamość wersji.
Czy wersjonowanie może zapobiec nieaktualnym odpowiedziom, gdy aktualizacje nie są wykrywane?
Nie. Wersjonowanie kontroluje znane wersje. Nadal potrzebna jest osobna ścieżka wykrywania zmian i uzgadniania, aby znaleźć pominięte edycje, usunięcia lub nieudane zadania pobierania danych.
Centrum Technologii i Sztucznej Inteligencji
Więcej do przeczytania

Czy kamery domowe mogą synchronizować zdarzenia bez korzystania z chmurowych usług czasu?
Wyjaśnienie działania czasu kamery bez chmury, jego kompromisów związanych ze współdzielonymi zasobami, trzy często zadawane pytania dotyczące rozsyłania zapytań oraz praktyczny protokół weryfikacji.

Czy lokalna usługa AI może wykryć uszkodzone warstwy modelu przed wnioskowaniem?
Wyjaśnienie wykrywania uszkodzeń warstwy modelu oparte na mechanizmach, kompromisy związane ze współdzielonymi zasobami, trzy najczęściej zadawane pytania dotyczące rozgałęziania zapytań oraz praktyczny protokół weryfikacji.

Czy system RAG można przywrócić bez ponownego generowania wszystkich wektorów embeddingowych?
Wyjaśnienie działania mechanizmu przywracania RAG bez ponownego tworzenia osadzeń, kompromisy związane ze współdzielonymi zasobami, trzy często zadawane pytania dotyczące rozsyłania zapytań oraz praktyczny protokół...

