RAG

Co to jest RAG (Retrieval-Augmented Generation)?

RAG (Retrieval-Augmented Generation) to technika optymalizacji, która łączy potęgę modeli językowych (LLM) z zewnętrznymi, prywatnymi źródłami danych. Zamiast polegać wyłącznie na wiedzy zamrożonej w parametrach modelu podczas treningu, system RAG dynamicznie "doczytuje" potrzebne informacje przed udzieleniem odpowiedzi.

Mówiąc prościej: to jak danie modelowi otwartej książki na egzaminie, zamiast zmuszania go do recytowania odpowiedzi z pamięci.

Jak działa RAG?

Proces składa się z trzech kluczowych etapów:

  1. Retrieval (Wyszukiwanie): Gdy użytkownik zadaje pytanie, system najpierw przeszukuje zewnętrzną bazę wiedzy (najczęściej bazę wektorową zawierającą embeddingi). Znajduje tam fragmenty tekstu semantycznie najbardziej zbliżone do zapytania.

  2. Augmentation (Wzbogacanie): Odnalezione fragmenty są dołączane do oryginalnego promptu jako "kontekst".

  3. Generation (Generowanie): Tak wzbogacony prompt trafia do LLM. Model generuje odpowiedź, opierając się na dostarczonych faktach, a nie na swoich (często nieaktualnych) danych treningowych.

Dlaczego stosujemy RAG?

Budując aplikacje oparte na AI, RAG rozwiązuje dwa główne problemy:

  • Halucynacje: Zmusza model do trzymania się faktów zawartych w dostarczonych dokumentach.

  • Aktualność i prywatność: Pozwala modelowi "widzieć" dane, które powstały po jego wytrenowaniu lub są danymi poufnymi firmy, bez konieczności kosztownego procesu Fine-tuningu.

Kluczowe komponenty stosu RAG

  • Baza Wektorowa (Vector Store):

    Np. Pinecone, Weaviate czy Qdrant – tu przechowywana jest Twoja wiedza w formie liczbowej.

  • Orkiestrator:

    Framework taki jak LangChain lub LlamaIndex, który spina proces wyszukiwania i komunikacji z modelem.

RAG

Technika wzbogacania odpowiedzi modelu o informacje wyszukane w zewnętrznej bazie wiedzy