Co to jest RAG? Retrieval-Augmented Generation wyjaśnione
RAG (Retrieval-Augmented Generation) to technika, w której model AI przed odpowiedzią wyszukuje relevantne fragmenty z zewnętrznej bazy wiedzy — co redukuje halucynacje i pozwala pracować na aktualnych danych.
ChatGPT ma datę ważności wiedzy. Zapytaj go o coś, co wydarzyło się po jego treningu — odpowie albo "nie wiem", albo — co gorsze — wymyśli coś wiarygodnie brzmiącego. RAG to sposób na ominięcie tego ograniczenia: zamiast polegać na tym co model "pamięta", dajemy mu dostęp do aktualnych dokumentów tuż przed odpowiedzią.
Jak to działa — krok po kroku
Wyobraź sobie prawnika, który przed rozmową z klientem sprawdza w archiwum najnowsze orzeczenia w danej sprawie. Nie polega na pamięci — sięga po konkretne dokumenty. RAG działa tak samo:
- Pytanie — użytkownik pyta o coś konkretnego
- Wyszukiwanie — system szuka w bazie dokumentów tych, które pasują do pytania (nie po słowach kluczowych, ale semantycznie — patrz: embedding)
- Wzbogacenie promptu — znalezione fragmenty są dołączane do zapytania: "Odpowiedz na to pytanie korzystając z tych dokumentów: [...]"
- Odpowiedź — model generuje tekst bazując na tym, co dostał — nie na tym, co pamięta
Dlaczego to jest ważne?
- Twoja baza wiedzy może być aktualizowana codziennie — bez retrenowania modelu
- Model może podać źródło każdej informacji — koniec z halucynacjami "z niczego"
- Firmowe dokumenty, raporty, maile — możesz pytać AI o dane wewnętrzne bez wysyłania ich do treningu
RAG kontra fine-tuning — kiedy co?
To pytanie pada często. Prosta zasada: jeśli chcesz żeby model wiedział więcej — użyj RAG. Jeśli chcesz żeby zachowywał się inaczej — rozważ fine-tuning. Do aktualnych danych zawsze RAG.
Często zadawane pytania
Czy RAG działa przy dużych zbiorach dokumentów?
Tak, i właśnie do tego jest stworzony. Kluczem jest jakość wyszukiwania — dobry retrieval to 80% sukcesu systemu RAG. Właśnie dlatego firmy inwestują w vector databases (Pinecone, Qdrant) zamiast trzymać wszystko w prostych plikach tekstowych.
Czym jest "chunking" w RAG?
Dokumenty są dzielone na kawałki (chunki) przed indeksowaniem — zazwyczaj 200–500 słów. Zbyt duże chunki → za dużo szumu w kontekście. Zbyt małe → brak sensu bez otoczenia. Dobór rozmiaru chunku to jedna z podstawowych decyzji projektowych.
Jakie narzędzia do RAG są najczęściej używane?
LangChain i LlamaIndex to najpopularniejsze frameworki open source. Gotowe produkty: Perplexity (RAG w wyszukiwarce), NotebookLM od Google, Cursor AI w edytorze kodu. W firmach — najczęściej własne pipeline'y zbudowane na tych frameworkach.
RAG (Retrieval-Augmented Generation) to architektura łącząca dense/sparse retrieval z generatywnym LLM. Zaproponowana przez Lewisa et al. (Facebook AI Research, 2020), dziś stanowi dominujący wzorzec budowania systemów knowledge-intensive NLP.
Architektura
Pipeline składa się z trzech komponentów:
- Retriever: dense (bi-encoder — DPR, BGE, E5) lub sparse (BM25) albo hybrid. Zwraca top-k dokumentów/chunków dla zapytania.
- Reranker (opcjonalny): cross-encoder (Cohere Rerank, BGE-Reranker) poprawiający precyzję retrieval po recall-oriented first pass
- Generator: dowolny LLM — prompt zawiera zapytanie + pobrany kontekst
Warianty RAG
- Naive RAG: single retrieval pass, brak reranking
- Advanced RAG: query rewriting, HyDE (Hypothetical Document Embeddings), multi-query retrieval
- Modular RAG: iteracyjny retrieval — model decyduje czy potrzebuje kolejnego kroku wyszukiwania
- Agentic RAG: retrieval jako jedno z wielu narzędzi dostępnych agentowi
Chunking strategy
Wpływa bezpośrednio na recall i precision. Typowe podejścia: fixed-size (256–512 tokenów z overlap), sentence-based, semantic chunking (podział przy dużych zmianach embeddings), parent-child chunks (retrieval po małych, generowanie na dużych).
Często zadawane pytania
RAG vs fine-tuning vs long context — kiedy co?
Long context (1M tokenów Gemini) pozwala "wrzucić wszystko" — kosztem latencji i ceny. Fine-tuning zmienia styl/zachowanie, nie dostarcza faktów. RAG to optimum dla aktualizowanej bazy wiedzy z wymaganą cytowalnością. W praktyce wiele systemów łączy fine-tuning (styl/format) z RAG (fakty).
Jak mierzyć jakość systemu RAG?
RAGAS (Retrieval-Augmented Generation Assessment) — framework do ewaluacji: faithfulness, answer relevancy, context precision, context recall. Wymagane zestawy: question-answer pairs z ground truth, referencyjne dokumenty.