Generowanie wspomagane wyszukiwaniem, zwykle skracane do RAG, przekazuje modelowi językowemu wybrane informacje w chwili udzielania odpowiedzi. Zamiast opierać się wyłącznie na wzorcach poznanych podczas treningu, aplikacja przeszukuje zbiór dokumentów, dodaje odpowiednie fragmenty do zapytania i prosi model o odpowiedź opartą na tych dowodach.
Podstawowy przepływ ma trzy części. Wyszukiwanie znajduje kandydackie fragmenty. Wzbogacanie łączy je z instrukcjami i pytaniem użytkownika. Generowanie tworzy odpowiedź, która powinna pozostać osadzona w dostarczonym materiale. Ten wzorzec jest przydatny, gdy wiedza jest prywatna, często się zmienia lub wymaga cytowań.
RAG nie czyni modelu z natury prawdomównym. Tworzy łańcuch komponentów, które można sprawdzać i ulepszać. Moduł wyszukiwania może pominąć właściwy dokument, wybrać nieaktualną wersję albo zwrócić fragment zawierający te same słowa kluczowe, lecz nie to samo znaczenie. Prompt może nie wymagać oparcia w źródłach. Model może wtedy połączyć poprawne cytaty w niepoparty wniosek.
Przygotowanie dokumentów determinuje dużą część wyniku. Pliki potrzebują stabilnych identyfikatorów, użytecznych metadanych, reguł dostępu i fragmentów zachowujących wystarczająco dużo otaczającego znaczenia. Zbyt duże fragmenty marnują kontekst i zacierają trafność. Zbyt małe oddzielają twierdzenie od jego definicji, daty, wyjątku lub nagłówka tabeli.
Wyszukiwanie może wykorzystywać słowa kluczowe, podobieństwo wektorowe, ranking semantyczny albo podejście hybrydowe. Wyszukiwanie słów kluczowych dobrze radzi sobie z nazwami, kodami i dokładnymi frazami. Wyszukiwanie wektorowe może znaleźć fragmenty powiązane pojęciowo, nawet gdy ich sformułowania się różnią. Wyszukiwanie hybrydowe często jest lepszym punktem wyjścia, ponieważ łączy oba sygnały, ale nadal wymaga oceny na prawdziwych pytaniach.
Kontrola dostępu należy do etapu wyszukiwania, a nie do zastrzeżenia dodanego po wygenerowaniu odpowiedzi. Użytkownik nigdy nie powinien otrzymać fragmentu, do którego nie miał prawa dostępu. Pobrane dokumenty również trzeba traktować jak niezaufane dane wejściowe: dokument może zawierać instrukcje próbujące zastąpić reguły aplikacji. Oddziel politykę systemową i ogranicz możliwości narzędzi działających dalej w procesie.
Prompt powinien identyfikować każdy fragment źródłowy, wymagać cytowań dla twierdzeń faktycznych i określać zachowanie awaryjne, gdy dowody są niewystarczające. Powinien też mówić modelowi, jak postępować z rozbieżnościami: przedstawiać sprzeczne wersje wraz z datami i cytatami zamiast po cichu wybierać jedną. Takie wymagania ułatwiają diagnozowanie błędów.
Mierz wyszukiwanie i generowanie osobno. Testy wyszukiwania sprawdzają, czy wspierający fragment znalazł się wśród najlepszych wyników. Testy generowania pytają, czy odpowiedź ma oparcie, jest kompletna, poprawnie cytowana i odpowiednio ostrożna. Dopracowana odpowiedź może ukrywać słabe wyszukiwanie, a idealne wyszukiwanie nadal może zakończyć się kiepską syntezą.
Więcej kontekstu nie zawsze znaczy lepiej. Fragmenty o niskiej trafności zużywają tokeny i mogą odciągać odpowiedź od najsilniejszych dowodów. Ustal próg trafności, usuwaj duplikaty, wybieraj aktualne wersje, gdy liczy się świeżość, i zostaw wystarczająco dużo miejsca na odpowiedź. Złożone pytania mogą wymagać rozłożenia na kilka skoncentrowanych wyszukiwań.
RAG jest właściwym narzędziem, gdy fakty znajdują się w zmiennym lub prywatnym korpusie. Dostrajanie modelu zwykle lepiej pasuje do zmiany zachowania, stylu lub wykonania zadania niż do wprowadzania aktualnej wiedzy. Narzędzia agentowe są użyteczne, gdy system ma zdecydować, kiedy i gdzie wyszukiwać informacje w ramach większego procesu pracy.
Godny zaufania interfejs RAG powinien pokazywać swoje źródła, przyznawać, gdy korpus nie potrafi odpowiedzieć, i umożliwiać poprawki. Prawdziwym produktem nie jest wygenerowany akapit. Jest nim ścieżka dowodowa, która pozwala czytelnikowi zdecydować, czy ten akapit zasługuje na zaufanie.
Łączymy źródła pierwotne, dokumentację produktów i rzeczywiste scenariusze użycia, aby ułatwić Ci ocenę, czy dane narzędzie pasuje do Twojego sposobu pracy.