6. Podstawowa idea systemu RAG

ENHANCER+ · Moduł 1 — Od czatu z modelem do systemu z własną wiedzą  ·  Rozdział 5 z 6

RAG to skrót od Retrieval Augmented Generation, czyli generowania wspomaganego wyszukiwaniem.

W odpowiedzi na pytanie system najpierw wyszukuje przydatne informacje, a następnie przekazuje je modelowi wraz z pytaniem i instrukcją odpowiedzi. Model nadal generuje tekst, ale otrzymuje dodatkową podstawę pochodzącą z wybranych dokumentów.

🎯 Kluczowa myśl

Rozróżnij przygotowanie bazy wiedzy oraz obsługę pojedynczego pytania. Dokumenty można przetworzyć i uporządkować wcześniej. Gdy użytkownik zadaje pytanie, aplikacja wykorzystuje przygotowany zbiór, wybiera fragmenty i buduje wejście dla modelu. Nie trzeba za każdym razem od początku przygotowywać wszystkich plików.

Przygotowanie źródeł i odpowiedź na pytanie

Kiedy Czynność Rezultat
Przed pytaniem Zebranie i odczyt dokumentów Tekst oraz informacja o pochodzeniu
Przed pytaniem Podział na fragmenty i opis metadanymi Fragmenty możliwe do odnalezienia
Przed pytaniem Przygotowanie mechanizmu wyszukiwania Zbiór lub indeks do przeszukiwania
Po pytaniu Wyszukanie fragmentów pasujących do pytania Kandydaci na kontekst
Po pytaniu Złożenie promptu i wygenerowanie odpowiedzi Odpowiedź z odniesieniami do źródeł
Po odpowiedzi Sprawdzenie twierdzeń i wskazań źródeł Ocena oraz lista ewentualnych braków

Dwa zasadnicze etapy odpowiedzi RAG to wyszukiwanie i generowanie. Weryfikacja wyniku jest potrzebną częścią pracy z systemem, lecz nie należy mylić jej z gwarancją zapewnianą automatycznie przez samą nazwę RAG.

Co wyszukuje system

Wyszukiwanie może opierać się na słowach, reprezentacjach wektorowych albo połączeniu metod. Embedding to liczbowa reprezentacja tekstu, którą można wykorzystać do porównywania fragmentów pod kątem podobieństwa. Baza lub indeks wektorowy pomaga odnajdywać takie reprezentacje. Sama obecność bazy wektorowej nie wystarcza jednak, aby otrzymać kompletny system odpowiadania.

⚠️ Uwaga

Podobieństwo nie jest dowodem prawdziwości ani przydatności do każdego pytania. Sekcje 5.2 i 6.1 dotyczą tego samego fikcyjnego systemu, ale odpowiadają na inne potrzeby. Dlatego ocenia się także trafność wyszukania, a nie tylko płynność końcowej odpowiedzi.

Przepływ informacji w przykładzie DocAssist

Schemat poniżej opisuje logikę działania; nie jest kodem do uruchomienia.

Etap przygotowania (przed pytaniem)
Dokumenty
↓
Fragmenty z metadanymi
↓
Indeks / zbiór do przeszukiwania
Obsługa pojedynczego pytania
Pytanie użytkownika
↓
Wyszukanie właściwego fragmentu
↓
Pytanie + fragment + zasady odpowiedzi
↓
Model językowy
↓
Odpowiedź + wskazanie źródła
↓
Weryfikacja twierdzeń

W ręcznym ćwiczeniu z rozdziału 3 rolę wybierającego fragment pełnisz Ty. W RAG robi to mechanizm wyszukiwania. Generowanie może wykorzystywać ten sam model w obu przypadkach. Różnica dotyczy przede wszystkim sposobu przygotowania kontekstu i zachowania informacji o źródle.

💡 Ważne

RAG nie jest tym samym co dostrajanie modelu — dokument zostaje przekazany jako kontekst bez zmiany parametrów LLM. Nie jest też sam w sobie agentem wykonującym działania. Dodanie narzędzi zmienia zakres możliwości aplikacji; pokazanie komendy w odpowiedzi nie oznacza jej wykonania.

✍️ Ćwiczenie 5
Znajdź miejsce powstania błędu

Przeczytaj trzy sytuacje i wskaż etap wymagający sprawdzenia.

Sytuacja A: w pliku źródłowym występuje warunek „wynik inny niż active”, lecz po podziale tekstu fragment z komendą nie zawiera tego warunku.

Sytuacja B: pełna sekcja 5.2 jest w bazie, ale wyszukiwanie zwraca wyłącznie sekcję 6.1.

Sytuacja C: model otrzymuje pełną sekcję 5.2, a odpowiada, że usługę trzeba uruchomić ponownie trzy razy.

  1. Przypisz każdą sytuację do przygotowania fragmentów, wyszukiwania lub generowania.
  2. Dla każdej zapisz jedną kontrolę, która pomogłaby wykryć problem.
  3. Wyjaśnij, dlaczego zamiana modelu na większy nie musi usunąć problemu w sytuacji B.
✅ Sprawdź się: sprawdzasz przepływ informacji od źródła do odpowiedzi. Nie przypisujesz wszystkich błędów jednemu elementowi systemu.
ENHANCER+ · Politechnika Warszawska · materiał do samodzielnej nauki offline