Co to jest?
Retrieval-Augmented Generation, czyli RAG (Generowanie Wspomagane Pobieraniem), to technika, która zwiększa możliwości dużych modeli językowych poprzez łączenie ich z zewnętrznymi źródłami informacji. Można to porównać do zapewnienia modelowi językowemu dostępu do biblioteki wiedzy, z której może korzystać podczas generowania odpowiedzi. Takie podejście pomaga modelowi udzielać bardziej dokładnych, aktualnych i szczegółowych odpowiedzi, szczególnie w przypadku złożonych tematów wymagających specyficznych informacji.
Mówiąc prościej: podczas gdy standardowy model językowy generuje odpowiedzi wyłącznie na podstawie danych, na których został wytrenowany, RAG pozwala modelowi „odszukać” istotne informacje w zewnętrznych dokumentach lub bazach danych przed sformułowaniem odpowiedzi. Zmniejsza to ryzyko zmyślania informacji przez model (problem znany jako „halucynacje”) i zwiększa spójność faktograficzną.
RAG jest obecnie standardem branżowym w pracy z LLM, aby zapewnić jak największą dokładność przekazywanych informacji.
Jak to działa?
Oto jak RAG funkcjonuje krok po kroku:
- Otrzymanie pytania lub promptu: Model otrzymuje dane wejściowe lub pytanie od użytkownika.
- Pobieranie informacji: Przed wygenerowaniem odpowiedzi model przeszukuje zewnętrzne źródło wiedzy (np. Wikipedię lub specjalistyczną bazę danych), aby znaleźć dokumenty lub fragmenty informacji istotne dla danego pytania.
- Kontekstualizacja: Pobrane informacje są łączone z oryginalnym pytaniem. Ten wzbogacony kontekst dostarcza modelowi szczegółów niezbędnych do sformułowania dokładnej odpowiedzi.
- Generowanie odpowiedzi: Wykorzystując zarówno oryginalne pytanie, jak i pobrane informacje, model generuje odpowiedź opartą na najnowszych i najbardziej aktualnych danych.
Dzięki wprowadzeniu tego etapu pobierania, modele wyposażone w RAG mogą udzielać odpowiedzi odzwierciedlających aktualny stan wiedzy, nawet jeśli dane te nie były częścią ich oryginalnego zbioru treningowego.
Kiedy z tego korzystać?
RAG jest szczególnie przydatny w sytuacjach, gdy:
- Kluczowa jest aktualność informacji: W tematach, które często ulegają zmianom, takich jak bieżące wydarzenia, najnowsze odkrycia naukowe czy ewoluujące przepisy.
- Wymagana jest specjalistyczna wiedza: W dziedzinach wymagających szczegółowych informacji domenowych, takich jak prawo, medycyna czy inżynieria.
- Dokładność i niezawodność są istotne: W zadaniach, w których błędne informacje mogłyby mieć poważne konsekwencje, np. w poradnictwie medycznym lub planowaniu finansowym.
- Ograniczanie halucynacji: Gdy chcesz zmniejszyć szansę na to, że model wygeneruje brzmiące wiarygodnie, ale nieprawdziwe informacje.
Na przykład, jeśli budujesz chatbota do obsługi klienta, który musi dostarczać użytkownikom najnowsze informacje o produktach, zastosowanie RAG zapewni, że chatbot będzie odwoływał się do najbardziej aktualnych danych.
Przykład praktyczny
Zobaczmy, jak promptowanie RAG działa w praktyce na kilku podstawowych przykładach.
W prompcie systemowym
Prompt systemowy (ukryty przed użytkownikiem):
Jesteś asystentem, który udziela odpowiedzi w oparciu o najnowsze informacje. Gdy użytkownik zada pytanie, najpierw pobierzesz istotne dokumenty z naszej bazy wiedzy (twoje przesłane pliki) i wykorzystasz te informacje do wygenerowania odpowiedzi.
Implementacja:
Zanim asystent odpowie, przeszukuje bazę wiedzy w poszukiwaniu dokumentów związanych z pytaniem użytkownika. Dokumenty te są dodawane do kontekstu, którego asystent używa do sformułowania odpowiedzi.
W prompcie użytkownika
Prompt użytkownika:
„Czy możesz podać mi najnowsze ograniczenia w podróżowaniu związane z COVID-19 dla lotów międzynarodowych do Kanady?”
Proces:
- Pobieranie: Asystent przeszukuje najnowsze regulacje rządowe i lotnicze dotyczące ograniczeń w podróżowaniu do Kanady w związku z COVID-19.
- Generowanie: Wykorzystując pobrane informacje, asystent tworzy odpowiedź opisującą aktualne restrykcje, takie jak wymogi dotyczące szczepień, protokoły testowania i środki kwarantanny.
Odpowiedź asystenta:
„Według stanu na wrzesień 2023 r., pasażerowie międzynarodowi przylatujący do Kanady muszą być w pełni zaszczepieni przeciwko COVID-19. Akceptowane szczepionki to te zatwierdzone przez Światową Organizację Zdrowia. Podróżni są również zobowiązani do przedstawienia negatywnego wyniku testu na COVID-19 wykonanego w ciągu 72 godzin przed wylotem. Po przylocie mogą zostać przeprowadzone losowe testy, a osoby niezaszczepione mogą być zobowiązane do odbycia 14-dniowej kwarantanny. Przed podróżą prosimy o sprawdzenie najaktualniejszych informacji u swojego przewoźnika oraz na oficjalnej stronie rządowej Kanady”.
W tym przykładzie asystent nie polega wyłącznie na wiedzy zakodowanej w modelu. Zamiast tego pobiera najnowsze informacje, aby udzielić dokładnej i aktualnej odpowiedzi.
Stosując promptowanie RAG, możesz zwiększyć efektywność modeli językowych w dostarczaniu rzetelnych i precyzyjnych informacji, czyniąc je bardziej wartościowymi narzędziami w zadaniach zależnych od dokładności faktograficznej i aktualnej wiedzy.