Start / Integracje / RAG (Dokumenty)
03.06.2026

RAG: Retrieval-Augmented Generation

Przestań szukać ręcznie w setkach folderów. Naucz AI wiedzy o Twojej firmie, nie udostępniając jej światu. Poniżej — jak to działa w teorii i jak wygląda w praktyce na naszym sprzęcie.

Teoria — Czym jest RAG?

Problem: AI nie zna Twoich dokumentów

Modele językowe (Llama, Gemma, GPT-OSS) wiedzą bardzo dużo o świecie, ale nie wiedzą nic o Twojej firmie. Nie czytały Twoich umów, regulaminów, faktur ani instrukcji. Gdy zapytasz model o szczegóły konkretnej umowy — zmyśli odpowiedź (tzw. halucynacja). RAG rozwiązuje ten problem.

Czym jest RAG?

Retrieval-Augmented Generation — generowanie odpowiedzi wzbogacone o wyszukiwanie. Zamiast polegać na „pamięci" modelu, system najpierw przeszukuje Twoje dokumenty, znajduje odpowiednie fragmenty, a dopiero potem model generuje odpowiedź — cytując konkretne źródła. To jak dać studentowi dostęp do biblioteki zamiast kazać mu odpowiadać z pamięci.

Jak działa RAG — krok po kroku

💬
1. Pytanie
„Jaki jest okres wypowiedzenia w umowie z firmą X?"
🔍
2. Wyszukiwanie
Embedding zamienia pytanie na wektor i szuka podobnych fragmentów w bazie
📄
3. Kontekst
System pobiera najlepsze fragmenty z dokumentów źródłowych
🤖
4. Odpowiedź
Model generuje odpowiedź na podstawie fragmentów, cytując źródła

Baza wektorowa — „pamięć" systemu

Kluczowym elementem RAG jest baza wektorowa. Działa to tak: specjalny model (tzw. embedding model) czyta każdy dokument i zamienia go na ciąg liczb — wektor. Wektor to matematyczna reprezentacja znaczenia tekstu. Dwa teksty o podobnym temacie będą miały podobne wektory, nawet jeśli używają zupełnie innych słów.

Gdy zadajesz pytanie, system zamienia je na wektor i szuka w bazie najbardziej podobnych fragmentów. To trwa milisekundy — nawet przy tysiącach dokumentów. Efekt: model dostaje precyzyjne fragmenty zamiast przeszukiwania całego archiwum.

Jak powstaje baza wektorowa

Dokumenty źródłowe
umowa_NDA_klient_A.pdf
regulamin_pracy_2025.docx
instrukcja_maszyny_X.pdf
... + 507 plików
Embedding Model
Czyta tekst, zamienia na wektory (ciągi liczb)
[0.023, -0.847, 0.512, ...]
Qwen3-Embedding:8B
Baza wektorowa
Fragmenty3 531
Pliki źródłowe510
Typ bazyLanceDB

Ten proces (indeksowanie) wykonuje się jednorazowo. Nowe dokumenty można dokładać przyrostowo.

Dlaczego lokalnie?

W chmurowych rozwiązaniach RAG (Azure AI Search, OpenAI Assistants) Twoje dokumenty trafiają na serwery zewnętrzne. W naszym podejściu wszystko działa na Twoim sprzęcie – dokumenty, baza wektorowa, model językowy i embedding model. Żaden bajt nie opuszcza Twojej sieci. To kluczowe dla firm pracujących z danymi wrażliwymi: kancelarii prawnych, działów HR, instytucji finansowych.

Praktyka — Test na ASUS GX10

Poniżej opisuję realne wdrożenie RAG przeprowadzone na stacji ASUS GX10 Ascent (128 GB zunifikowanej pamięci, GPU Blackwell). Jako model odpowiadający na pytania użyłem Gemma 4 31B, a jako model embeddingowy — Qwen3-Embedding:8B. Środowisko: AnythingLLM w Dockerze na GX10, dostęp przez przeglądarkę z laptopa.

Stack technologiczny

Model LLMGemma 4 31B (Q4)
EmbeddingQwen3-Embedding:8B
Baza wektorowaLanceDB (lokalna)
FrontendAnythingLLM (Docker)
BackendOllama
SprzętASUS GX10 Ascent

Ustawienia bazy wektorowej

ID workspaceumowy-en
Liczba wektorów3 531
Search PreferenceAccuracy Optimized
Max fragmentów20
Próg podobieństwaNiski (≥ .25)
Tryb czatuQuery (tylko docs)

Zbiór testowy: CUAD

Jako bazę testową wykorzystałem CUAD (Contract Understanding Atticus Dataset) — oficjalny pakiet stworzony przez amerykańską organizację The Atticus Project, zrzeszającą prawników, profesorów i badaczy AI. Zawiera 510 rzeczywistych, profesjonalnych umów handlowych i korporacyjnych (NDA, licencje, fuzje, przejęcia, doradztwo). Wszystkie dokumenty pochodzą z oficjalnych raportów giełdowych amerykańskiej komisji papierów wartościowych SEC (baza EDGAR) i zostały szczegółowo przeanalizowane przez ekspertów prawnych pod kątem kilkudziesięciu kategorii klauzul.

510
plików PDF
97 MB
łączny rozmiar
~4h
czas indeksowania

Przykładowe umowy ze zbioru (cytowane w teście)

Indeksowanie — jednorazowy proces

Baza wektorowa przetwarzała się na GX10 przez około 4 godziny przy pomocy modelu Qwen3-Embedding:8B. To proces jednorazowy — po indeksowaniu baza jest gotowa i odpowiada na pytania natychmiast. Nowe dokumenty można dokładać przyrostowo bez ponownego przeliczania całości. Podczas indeksowania laptop pełni wyłącznie rolę przeglądarki — po wgraniu plików można go zamknąć, GX10 dokończy sam.

Kluczowe wnioski z testu

Accuracy Optimized + 20 fragmentów — przy dużej bazie umów odpowiedzi bywają rozsiane po wielu dokumentach. Gemma 4 ma duże okno kontekstowe i przyjmuje 20 fragmentów bez problemu.
Próg podobieństwa „Niski" (≥ .25) — odcina ewidentny szum, ale nie głodzi modelu. Przy wyższym progu model zbyt często odpowiadał „brak informacji".
Tryb Query (nie Chat) — model odpowiada wyłącznie na podstawie dokumentów. Gdy czegoś nie ma — mówi to wprost. Najlepiej pokazuje klientowi, że AI jest zakotwiczone w jego danych, a nie zgaduje.
Gemma 4 31B — ~9 tok/s — odpowiedzi generują się w 1-2 minuty. Na tyle szybko, żeby praca była komfortowa; na tyle dokładnie, żeby wyniki miały wartość prawną.

BENCHMARK TRANSCRIPT

Gemma 4 31B odpowiada na pytania o 510 umów korporacyjnych CUAD. Tryb: Query (tylko na podstawie dokumentów).

Ładowanie transkryptu...