9 przykładów RAG opartych na rzeczywistych przypadkach użycia i architekturach
Poznaj dziewięć rzeczywistych przykładów RAG – od wyszukiwania w internecie i obsługi klienta po handel agentowy i analizę danych – oraz stojące za nimi architektury.

RAG jest powszechnie stosowany zarówno w kontekście konsumenckim, jak i korporacyjnym. Realne, codzienne przykłady RAG obejmują wyszukiwanie w internecie, obsługę klienta oraz zakupy wspomagane przez sztuczną inteligencję. Dostęp do wewnętrznej wiedzy oraz pomoc w pisaniu kodu należą do najważniejszych przykładów biznesowych.
Architektura RAG może również różnić się w zależności od przypadków użycia. Dwie najpopularniejsze implementacje to hybrydowy RAG, który łączy tradycyjne dopasowywanie słów kluczowych z wyszukiwaniem wektorowym lub za pomocą grafu wiedzy, oraz agentowy RAG, w którym model językowy (LLM) kieruje procesem wyszukiwania.
Czym jest generowanie uzupełnione o wyszukiwanie (RAG)?
RAG (ang. retrieval-augmented generation) umożliwia aplikacjom sztucznej inteligencji dostęp do informacji przechowywanych w systemach zewnętrznych w celu uzupełnienia odpowiedzi generowanych przez modele LLM.
Jest to potężna technologia, ponieważ rozwiązuje trzy główne problemy generatywnej sztucznej inteligencji: halucynacje, nieaktualne informacje oraz brak dostępu do danych, które nie zostały uwzględnione w kontekście wejściowym.
Oto jak wygląda podstawowy proces RAG:
- Użytkownik wpisuje zapytanie w języku naturalnym.
- Aplikacja AI określa, czy wymagana jest weryfikacja poprawności (grounding), czasami z udziałem modelu LLM.
- Żądanie jest wysyłane do zewnętrznego źródła informacji, takiego jak baza danych.
- Pobrane informacje są dodawane do wejściowego kontekstu modelu LLM.
- Model LLM generuje odpowiedź na podstawie wzbogaconego zapytania.
Choć mogą się one różnić pod względem konkretnej implementacji, kroki te reprezentują typowy przepływ pracy RAG. Różnice między poszczególnymi typami architektury zazwyczaj skupiają się na sposobie obsługi żądań przez aplikację kliencką oraz na charakterze pobieranych informacji.
Przegląd architektury RAG
Pojęcie "retrieval-augmented generation" pojawiło się po raz pierwszy w artykule z 2020 roku zatytułowanym Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks, opublikowanym przez badaczy z Meta AI (wówczas Facebook AI Research) oraz współpracowników z University College London i New York University.
Wczesne podejścia typu "pobierz, a następnie wygeneruj", luźno określane jako "naiwny RAG", przekształciły się od tamtej pory w różnorodne typy architektury, z których wiele się nakłada.
Naiwny RAG
Naiwny RAG wykorzystuje prosty potok pobierania i generowania, który nadal sprawdza się w przypadku wielu podstawowych zapytań. Najczęstszym przykładem naiwnego RAG jest konwersja zapytania na uporządkowaną listę liczb zwaną osadzeniem wektorowym (wektorem osadzenia) lub po prostu wektorem. Osadzenie zapytania jest następnie dopasowywane do innych wektorów reprezentujących fragmenty – części zawartości w bazie danych lub indeksie (nazywanym indeksem semantycznym).
Zaawansowany RAG
Zaawansowany RAG optymalizuje etapy przed i po pobraniu danych. Techniki te obejmują rozszerzanie zapytań, filtrowanie metadanych oraz kompresję kontekstu. Zasadniczo poprawiają one trafność pobieranych informacji oraz sposób ich modyfikacji przed dodaniem do kontekstu wejściowego modelu LLM.
Agentowy RAG
Agentowy RAG polega na wykonywaniu potoków RAG przez agenta opartego na modelu LLM. Agent „decyduje”, które narzędzia są najlepsze dla danego zapytania, i kieruje procesem pobierania, czasami w pętli, aby wygenerować trafną odpowiedź.
Grafowy RAG
Grafowy RAG pobiera informacje z grafu wiedzy, który reprezentuje encje (takie jak obiekty, pojęcia i zdarzenia) oraz relacje między nimi. Jest to przydatne, gdy odpowiedź na zapytanie wymaga od modelu LLM połączenia informacji o różnych encjach.
Multimodalny RAG
Multimodalny RAG rozszerza pobieranie danych na treści takie jak obrazy i dźwięk zarówno na etapie zapytania, jak i pobierania. Te potoki RAG wykorzystują specjalne koder do konwersji tekstu, obrazów lub dźwięku na wektory osadzenia.
Hybrydowy RAG
Hybrydowy RAG łączy wyszukiwanie słów kluczowych (wyszukiwanie leksykalne) z wyszukiwaniem wektorowym lub grafami wiedzy i scala wyniki. Jest to przydatne, ponieważ dopasowywanie słów kluczowych może być bardzo dokładne (bardziej niż inne metody) w określonych kontekstach.
Korygujący RAG
Korygujący RAG ocenia zwrócone informacje lub dane pod kątem ich przydatności do zapytania. Może udoskonalać lub uzupełniać pobrane fragmenty albo zastępować je w całości poprzez wykonanie kolejnego żądania.
Przykłady RAG według przypadków użycia i zastosowań w branży
Istnieje wiele przykładów zastosowania RAG zarówno w sferze konsumenckiej, jak i biznesowej. Wynika to w dużej mierze z faktu, że potoki RAG zostały zintegrowane z większością popularnych narzędzi. Ponadto wielu dostawców oferuje gotowe integracje, na przykład dla chatbotów obsługi klienta, co ułatwiło wdrażanie tej technologii.
1. Wyszukiwanie w internecie
Wyszukiwanie w internecie jest jednym z najbardziej wszechobecnych przykładów RAG. Każdego dnia miliony ludzi korzystają z narzędzi sztucznej inteligencji, aby generować odpowiedzi oparte na informacjach pobranych z sieci.
Jak to działa: Aplikacja sztucznej inteligencji przeszukuje indeks sieciowy, taki jak indeks Google Search, za pomocą wyszukiwania opartego na słowach kluczowych oraz wyszukiwania semantycznego. Istotna treść strony jest uwzględniana wraz z pytaniem użytkownika w danych wejściowych modelu LLM. Następnie model LLM generuje odpowiedź, zazwyczaj z podaniem cytatów źródłowych.
Przykład z rzeczywistości: Jeśli użytkownik wpisze proste zapytanie w interfejsie czatu Perplexity, na przykład: „Jaka jest pogoda w Chicago?”, model LLM przeprowadzi wyszukiwanie w internecie, aby znaleźć aktualne informacje. Perplexity korzysta z własnego indeksu sieciowego w połączeniu z partnerskimi interfejsami API wyszukiwania.
2. Obsługa klienta
Chatboty w aplikacjach i na stronach internetowych stały się głównym zastosowaniem RAG w przedsiębiorstwach. Systemy te zazwyczaj łączą się z tradycyjnymi ścieżkami routingu, zmniejszając potrzebę angażowania konsultantów.
Jak to działa: Gdy klient zadaje pytanie, aplikacja przeszukuje bazę wiedzy firmy, często korzystając z potoku hybrydowego. Pobrane fragmenty są dostarczane do modelu LLM, który generuje odpowiedź. Zazwyczaj stosuje się również procesy korygujące i przekierowujące w celu zweryfikowania odpowiedzi i, w razie potrzeby, przekazania sprawy konsultantowi.
Przykład z rzeczywistości: Różne platformy obsługi klienta, w tym Zendesk (widoczny poniżej) i Intercom, oferują gotowe chatboty obsługi klienta, które integrują się z istniejącą dokumentacją oraz bazami obsługi klienta.
3. Asystenci osobisty
Asystenci osobisty korzystają z agentowego RAG, aby uzyskać dostęp do wiadomości e-mail, plików i kalendarza użytkownika. Twi asystenci zazwyczaj potrafią wykonywać wiele potoków RAG.
Jak to działa: Ponieważ asystenci osobisty często wymagają dostępu do wielu źródeł informacji, wykorzystują połączenie interfejsów API, wyszukiwania słów kluczowych, wyszukiwania wektorowego oraz grafów wiedzy. Różne opisy narzędzi są wysyłane przez aplikację do modelu LLM, który następnie wybiera te najbardziej odpowiednie.
Przykład z rzeczywistości: Google Gemini służy jako dobry przykład aplikacji mogącej działać jako ogólny i osobisty asystent AI (jak ma to miejsce w przypadku większości dzisiejszych asystentów). Integruje się z ekosystemem narzędzi, takimi jak Gmail, Dokumenty, Zdjęcia i Kalendarz.
4. Zarządzanie wiedzą w przedsiębiorstwie
Zarządzanie wiedzą w przedsiębiorstwie pozwala pracownikom zadawać pytania dotyczące szerokiego zakresu informacji firmowych, w tym zasad, raportów, dokumentów projektowych, tekstów prawnych, a nawet wewnętrznych dyskusji.
Jak to działa: Aplikacja pobiera odpowiednią treść za pomocą indeksu wektorowego, który jest aktualizowany w miarę zmian dokumentów źródłowych. Indeks zawiera wektory osadzenia reprezentujące fragmenty dokumentów, wraz z odnośnikami do ich tekstu oraz powiązanymi metadanymi.
Przykład z rzeczywistości: Microsoft 365 Copilot uzyskuje dostęp do informacji organizacyjnych za pośrednictwem Microsoft Graph, który udostępnia różne interfejsy API dla źródeł danych, oraz wykorzystuje indeksy leksykalne i semantyczne do pobierania odpowiednich treści.
5. Asystenci kodowania
Asystenci kodowania stosują RAG do bazy kodu. Chociaż podstawowy proces RAG jest taki sam (zazwyczaj jest to agentowy RAG), różnica polega na tym, że pracują oni bezpośrednio z kontekstem kodu.
Jak to działa: Asystenci kodowania indeksują lokalne pliki projektów i przeprowadzają wiele przeszukań w celu znalezienia odpowiednich fragmentów kodu na podstawie zapytania. Asystenci ci zazwyczaj posiadają również dedykowane łączniki rozszerzające dostęp, na przykład do firmowych baz wiedzy.
Przykład z rzeczywistości: GitHub Copilot to znany przykład asystenta kodowania, który integruje się bezpośrednio z projektami programistycznymi. Może również odwoływać się do publicznych repozytoriów GitHub w celu zwiększenia dokładności odpowiedzi.
6. Rozwiązywanie problemów technicznych
Rozwiązywanie problemów technicznych integruje potok RAG zarządzania wiedzą z pętlą diagnostyczną. Agent może oceniać wyniki, aby w razie potrzeby jeszcze bardziej dopracować zalecenia dotyczące rozwiązywania problemów.
Jak to działa: Aplikacja zbiera objawy problemu technicznego od użytkownika lub odbiera zautomatyzowane alerty z systemów monitorowania. Uruchamia ona wyszukiwanie komunikatów o błędach, logów technicznych i wskaźników wydajności w celu zweryfikowania objawów. Następnie pobiera odpowiednie informacje z wewnętrznej bazy wiedzy, aby przekazać je do modelu LLM. Pętla diagnostyczna występuje wtedy, gdy wyniki podjętej próby naprawy są przesyłane z powrotem do modelu LLM – albo przez użytkownika, albo przez narzędzie diagnostyczne.
Przykład z rzeczywistości: Platforma obserwacji Datadog (widoczna poniżej) zbiera dane ze wszystkich warstw systemu, sygnalizując wszelkie problemy w momencie ich wystąpienia. Są one następnie przesyłane do wyspecjalizowanego agenta AI o nazwie Bits AI w celu zdiagnozowania potencjalnych rozwiązań.
7. Handel agentowy
Handel agentowy to szerszy przypadek użycia, który zazwyczaj obejmuje RAG. Agent zakupowy pobiera szczegóły, takie jak specyfikacje produktów, recenzje, ceny i dostępność, aby porównać opcje i wyjaśnić rekomendacje. Następnie może automatycznie dokonać zakupu bez opuszczania interfejsu przez użytkownika.
Jak to działa: Handel agentowy to prawdziwy agentowy RAG, ponieważ konkretne zapytania często wymagają różnych form pobierania danych, którymi kieruje model. Agent może pobierać dane produktów zawierające wyłącznie tekst za pośrednictwem interfejsu API sprzedawcy lub używać multimodalnego RAG do dopasowywania produktów w indeksie semantycznym na podstawie zdjęcia przesłanego przez użytkownika.
Przykład z rzeczywistości: Agent ogólnego przeznaczenia, taki jak Perplexity, może pobierać wiele obrazów i szczegółowe specyfikacje produktów na podstawie zapytania. Funkcja płatności Instant Buy pozwala użytkownikowi sfinalizować zakup po wybraniu produktu.
8. Wyspecjalizowane dziedziny wiedzy
Narzędzia sztucznej inteligencji, które pobierają wyspecjalizowaną wiedzę dziedzinową, muszą radzić sobie ze złożonymi formatami treści. Ponadto priorytetem jest często minimalizowanie halucynacji i luk w informacjach.
Jak to działa: Kluczowa różnica między ogólnoznaczeniowymi a wyspecjalizowanymi architekturami RAG dotyczy materiału źródłowego oraz konfiguracji pobierania. Zazwyczaj przeszukiwany będzie tylko wysoce wiarygodny indeks, a zapytanie zostanie skonfigurowane tak, aby uwzględniać określoną terminologię w celu węższego wyszukiwania.
Przykład z rzeczywistości: Narzędzie do badań akademickich Scite uzyskuje dostęp do dużego indeksu artykułów akademickich i danych o cytowaniach, który został zbudowany w oparciu o umowy z wydawcami oraz źródła o otwartym dostępie. Stosuje ono również weryfikację po pobraniu danych, taką jak sprawdzanie źródeł, przed wygenerowaniem pełnej odpowiedzi.
9. Analiza danych
RAG do analizy danych stał się szczególnie potężnym przypadkiem użycia w przedsiębiorstwach, ponieważ pozwala szerokiemu gronu profesjonalistów, zwłaszcza tym bez wykształcenia w dziedzinie data science, wyszukiwać w zbiorach danych za pomocą języka naturalnego. Ułatwia to generowanie raportów i zadawanie bardzo szczegółowych pytań.
Jak to działa: W przypadku pytania typu „Dlaczego sprzedaż spadła w ostatnim kwartale?”, aplikacja może odpytać rejestry sprzedaży i pobrać notatki o brakach towarowych lub zmianach cen. Model LLM wybiera odpowiednie obliczenia (co zazwyczaj jest delegowane do narzędzia obliczeniowego) dla pobranych danych przed wygenerowaniem analizy.
Przykład z rzeczywistości: Google Analytics oferuje chatbot AI „Ask Advisor”, który ma dostęp do danych analitycznych sieci Web i może odpowiadać na bardzo szczegółowe, niuansowane pytania użytkowników. Jest to jeden z najlepszych rzeczywistych przykładów zamkniętego systemu RAG klasy korporacyjnej.
Co czeka nas w ewolucji RAG?
RAG był znaczącym osiągnięciem, gdy został wprowadzony po raz pierwszy. Pomógł rozwiązać wiele problemów inherentnych dla samodzielnych modeli LLM.
Jest to jednak technologia daleka od statycznej. Obecne badania skupiają się na głębszym wyszukiwaniu multimodalnym oraz bardziej rygorystycznym przetwarzaniu pobranego kontekstu pod kątem dokładności i poprawności. Ponadto prawdopodobnie będziemy świadkami większej integracji RAG w agentach wielonarzędziowych.
Nawet przy niezwykle dużych oknach kontekstowych istnieją ważne przypadki użycia RAG zarówno w kontekście osobistym, jak i zawodowym, a wiele innowacji dopiero przed nami.