Słownik

RAG (Retrieval-Augmented Generation) - co to jest i jak działa

RAG (Retrieval-Augmented Generation, po polsku: generowanie wspomagane wyszukiwaniem) to technika, w której aplikacja przed wygenerowaniem odpowiedzi wyszukuje fragmenty dokumentów firmy i przekazuje je modelowi językowemu jako kontekst. Model odpowiada na podstawie aktualnych źródeł, które może wskazać, a firma nie musi dotrenowywać modelu na swoich dokumentach.

RAG - co to jest

RAG to sposób na połączenie modelu językowego z wiedzą, której model nie zna: dokumentami, procedurami, umowami czy bazą wiedzy firmy. Nazwa pochodzi z angielskiego Retrieval-Augmented Generation i opisuje dwa kroki. Najpierw system wyszukuje (retrieval) fragmenty dokumentów pasujące do pytania. Potem model generuje odpowiedź (generation), opierając się na tych fragmentach, które dostaje razem z pytaniem.

Technikę opisali w 2020 r. badacze w pracy „Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks”. Dziś to najczęstszy sposób budowania firmowych asystentów, którzy odpowiadają na pytania o wewnętrzne dokumenty - bo nie wymaga trenowania modelu, a nowy dokument jest dostępny od razu po zaindeksowaniu.

Jak działa RAG krok po kroku

  1. Przygotowanie dokumentów. Pliki są zamieniane na tekst (przy skanach - przez OCR) i dzielone na fragmenty, np. akapity albo sekcje.
  2. Indeksowanie. Każdy fragment dostaje reprezentację liczbową (wektor, ang. embedding), która opisuje jego znaczenie. Wektory trafiają do indeksu - razem z informacją, kto ma prawo do danego dokumentu.
  3. Wyszukiwanie. Pytanie użytkownika również zamienia się w wektor, a system szuka fragmentów o najbliższym znaczeniu. Często łączy się to z klasycznym wyszukiwaniem po słowach kluczowych.
  4. Kontekst. Aplikacja przekazuje modelowi pytanie, znalezione fragmenty i instrukcję, np. „odpowiadaj wyłącznie na podstawie załączonych fragmentów i podaj źródła”.
  5. Odpowiedź ze źródłami. Model formułuje odpowiedź, a aplikacja pokazuje, z których dokumentów pochodzi - użytkownik może je sprawdzić.

Przykład demonstracyjny: pracownik działu obsługi pyta „ile dni ma klient na reklamację usługi abonamentowej?”. System znajduje dwa fragmenty regulaminu i jeden z procedury reklamacyjnej, a model odpowiada w dwóch zdaniach z odnośnikami do tych dokumentów. Gdy regulamin się zmieni, wystarczy zaindeksować nową wersję - model zacznie odpowiadać na jej podstawie.

RAG a dotrenowanie modelu

RAG i dotrenowanie (ang. fine-tuning) rozwiązują różne problemy. RAG dostarcza modelowi wiedzę przy każdym pytaniu, a dotrenowanie zmienia sam model - jego język, styl i sposób wykonywania zadań. W praktyce:

  • RAG wybierasz, gdy wiedza często się zmienia, odpowiedź musi wskazywać źródło, a dostęp do dokumentów zależy od uprawnień użytkownika,
  • dotrenowanie wybierasz, gdy model ma opanować specjalistyczny język, stały format odpowiedzi albo zadanie klasyfikacji,
  • oba podejścia można łączyć: model dotrenowany na języku branży korzysta z RAG, żeby odpowiadać na podstawie aktualnych dokumentów.

Szczegółowe porównanie w tabeli pokazujemy na stronie o lokalnych modelach językowych.

Ryzyka i bezpieczeństwo RAG

RAG wprowadza do aplikacji nowe elementy - indeks, wyszukiwanie, kontekst przekazywany modelowi - i każdy z nich trzeba zabezpieczyć. OWASP opisuje te zagrożenia na liście OWASP Top 10 for LLM Applications:

  • Słabości wektorów i osadzeń - wyszukiwanie ignoruje uprawnienia i zwraca fragmenty dokumentów, do których użytkownik nie powinien mieć dostępu, albo ktoś dodaje do indeksu treści, które zatruwają odpowiedzi.
  • Pośredni prompt injection - dokument w indeksie zawiera ukryte polecenia, które model wykona, gdy fragment trafi do kontekstu.
  • Ujawnienie informacji wrażliwych - w kontekście lądują dane, które potem pojawiają się w odpowiedzi dla niewłaściwej osoby.

Dlatego aplikację z RAG testuje się tak jak każdą aplikację z danymi i uprawnieniami: z kontami w różnych rolach, z próbami dostępu do cudzych dokumentów i z dokumentami zawierającymi złośliwe instrukcje. Taki test jest częścią testu penetracyjnego aplikacji lub API.

Jak mierzyć jakość RAG

Wrażenie z pokazu to za mało. Jakość systemu z RAG ocenia się na zbiorze testowym: zestawie pytań z oczekiwanymi odpowiedziami i dokumentami źródłowymi. Mierzy się osobno dwa etapy - czy wyszukiwanie znajduje właściwe fragmenty i czy model poprawnie z nich korzysta - bo słaba odpowiedź może wynikać z każdego z nich. Zbiór testowy uzupełnia się potem o trudne przypadki z codziennego użycia.

Typowe pomyłki

  • „Wrzucimy wszystkie dokumenty i będzie działać.” Nieaktualne, zdublowane i sprzeczne dokumenty dają sprzeczne odpowiedzi. Porządek w źródłach to połowa sukcesu.
  • „Uprawnienia dodamy później.” Indeks bez informacji o uprawnieniach trzeba zwykle zbudować od nowa.
  • „Większy model rozwiąże problem.” Gdy wyszukiwanie zwraca złe fragmenty, większy model tylko lepiej sformułuje złą odpowiedź.

Powiązane pojęcia

  • Model językowy (LLM) - model, który w RAG formułuje odpowiedź na podstawie znalezionych fragmentów.
  • Prompt injection - atak, który w RAG może przyjść z treści dokumentu.
  • Shadow AI - korzystanie z publicznych narzędzi AI bez zgody firmy, któremu firmowy asystent z RAG może zapobiegać.

Asystentów z RAG budujemy w infrastrukturze firmy albo w chmurze prywatnej w UE - zobacz lokalne modele językowe dla firm. Kiedy własny model ma sens, a kiedy wystarczy usługa w chmurze, piszemy w artykule własny LLM czy model w chmurze.

Najczęściej zadawane pytania

Czym różni się RAG od dotrenowania modelu?

RAG nie zmienia modelu - dostarcza mu wiedzę przy każdym pytaniu, z dokumentów wyszukanych w indeksie. Dotrenowanie zmienia sam model: jego język, styl i sposób wykonywania zadań. Dlatego RAG lepiej sprawdza się przy wiedzy, która często się zmienia i wymaga wskazania źródła, a dotrenowanie - przy specjalistycznym języku i stałym formacie odpowiedzi. Porównanie obu podejść pokazujemy na stronie o lokalnych modelach językowych.

Czy RAG eliminuje halucynacje modelu?

Nie, ale wyraźnie je ogranicza, jeśli wyszukiwanie zwraca właściwe fragmenty, a aplikacja wymaga od modelu odpowiedzi wyłącznie na ich podstawie i ze wskazaniem źródeł. Model nadal może błędnie streścić dokument albo połączyć fragmenty, które do siebie nie pasują - dlatego jakość odpowiedzi mierzy się na zbiorze testowym z oczekiwanymi wynikami.

Czy RAG może działać lokalnie, bez wysyłania dokumentów do chmury?

Tak. Indeks dokumentów, wyszukiwanie i model językowy mogą działać w infrastrukturze firmy albo w chmurze prywatnej w UE. Wtedy ani dokumenty, ani pytania użytkowników nie trafiają do zewnętrznego dostawcy usługi AI.

Źródła

  1. Lewis i in. (2020), Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks (arXiv:2005.11401) ()
  2. OWASP Top 10 for LLM Applications (OWASP GenAI Security Project) ()
  3. OWASP GenAI Security Project - Vector and Embedding Weaknesses (LLM08:2025) ()

Aktualizacja:

Powiązane

Porozmawiajmy o Twoim projekcie lub audycie

Opisz krótko, czego potrzebujesz - wrócimy z propozycją kolejnych kroków.

lub zadzwoń pod numer +48 575 621 877