Firmowa baza wiedzy RAG: jak przygotować dokumenty i testy

8 min czytania
Firmowa baza wiedzy RAG: jak przygotować dokumenty i testy

Firmowa baza wiedzy RAG powinna powstawać etapami: od wyboru aktualnych dokumentów, przez czyszczenie, podział na fragmenty i metadane, aż po indeksowanie oraz test na jawnej puli pytań. Dla stosu OpenAI warto zacząć od fragmentów 800 tokenów z zakładką 400, a następnie porównać co najmniej 2 alternatywne konfiguracje i zmierzyć jakość oraz koszty.

1. Zdefiniuj zakres firmowej bazy wiedzy RAG

Zacznij od spisania tematów, na które ma odpowiadać firmowa baza wiedzy RAG. Zakres powinien obejmować konkretne procesy, działy i typy dokumentów, na przykład procedury obsługi klienta, instrukcje produktowe, polityki bezpieczeństwa albo zasady obiegu faktur. Nie zaczynaj od przesłania całego wspólnego dysku do indeksu.

Wyznacz właściciela każdego obszaru. Przy dokumencie zapisz co najmniej osobę lub dział odpowiedzialny, datę obowiązywania, wersję, poziom poufności i regułę wycofania. Dokument bez właściciela szybko staje się źródłem niekontrolowanych odpowiedzi, nawet jeśli technicznie poprawnie trafi do bazy wiedzy AI.

Warto też określić, czego RAG w firmie nie rozstrzyga samodzielnie. Pytanie może dotyczyć sprawy opisanej w kilku dokumentach, zawierać niepełne dane albo wymagać decyzji człowieka. W takim przypadku system powinien wskazać podstawę, zgłosić brak danych lub przekazać sprawę do właściwej osoby, zamiast tworzyć pozornie pewną odpowiedź.

Zakres można powiązać z szerszym planem wdrożenia opisanym w materiale AI w małej firmie, ale sama baza powinna mieć własnego właściciela i kryteria akceptacji. Dokumentacja OpenAI dotycząca Retrieval API z 2026 roku wskazuje parametry techniczne, nie zastępuje natomiast firmowych zasad dostępu i zatwierdzania treści.

2. Wybierz i oczyść dokumenty

Przygotuj katalog źródeł i odrzuć dokumenty, których statusu nie da się ustalić. Zostaw wersje zatwierdzone, aktualne i potrzebne do odpowiedzi na pytania użytkowników. Usuń duplikaty, wersje robocze, puste strony, nieaktualne załączniki oraz pliki zawierające sprzeczne zasady. Jeżeli dwie procedury opisują różne reguły, najpierw rozstrzygnij, która obowiązuje.

W stosie opisanym w dokumentacji Retrieval | OpenAI API pojedynczy plik może mieć maksymalnie 512 MB oraz maksymalnie 5 000 000 tokenów. Oba limity trzeba sprawdzić, ponieważ duży plik może zmieścić się w limicie megabajtów, ale przekroczyć limit tokenów. Przed wysłaniem warto więc zapisać dla każdego pliku rozmiar, format, liczbę stron i przewidywaną liczbę tokenów.

Oczyszczanie nie polega wyłącznie na usunięciu pustych stron. Sprawdź kolejność nagłówków, powtarzające się stopki, tabelki rozbite między stronami, niewidoczny tekst po konwersji oraz przypisy pozbawione kontekstu. Procedurę niezależną od pozostałej części dokumentu rozdziel na osobny materiał, jeśli ułatwi to wyszukiwanie właściwej podstawy.

Materiały skanowane wymagają dodatkowej kontroli jakości tekstu. Narzędzie takie jak OCR faktur z AI może być przydatne przy ekstrakcji danych, lecz wynik OCR trzeba sprawdzić przed umieszczeniem go w bazie. Błędny numer, nazwa pola albo warunek w procedurze może później zostać potraktowany przez model jako wiarygodna treść.

Jeśli źródłem są pliki PDF, zachowaj relację między tekstem, nagłówkiem, tabelą i numerem strony. Praktykę kontroli plików można zestawić z podejściem opisanym jako AI do analizy PDF. Do indeksu powinien trafić dokument, którego treść da się później jednoznacznie wskazać i odtworzyć.

3. Podziel treść na fragmenty

RAG wyszukuje fragmenty, a nie całe dokumenty w sposób gwarantujący zachowanie pełnego kontekstu. Dlatego podział powinien utrzymać sens procedury: warunek, wyjątek, działanie i odpowiedzialność powinny znajdować się możliwie blisko siebie. Zbyt mały fragment może zgubić wyjątek, a zbyt duży może utrudnić wskazanie konkretnej podstawy.

Jako ustawienie początkowe przyjmij maksymalny rozmiar fragmentu 800 tokenów i nakładanie 400 tokenów. Dokumentacja Retrieval API dopuszcza własny rozmiar od 100 do 4096 tokenów, a nakładanie nie może przekraczać połowy rozmiaru fragmentu. Oznacza to, że konfiguracja 1600/800 spełnia warunek dokładnie na jego granicy.

Nie wybieraj ustawienia wyłącznie na podstawie intuicji. Przygotuj przynajmniej 3 warianty i uruchom je na tych samych pytaniach, z tym samym modelem oraz tą samą liczbą zwracanych wyników. Wariant 400/200 może lepiej rozdzielać krótkie instrukcje, 800/400 stanowi ustawienie domyślne, a 1600/800 może zachować szerszy kontekst dłuższej procedury.

Ustawienie Nakładanie Status konfiguracji Koszt przechowywania ponad 1 GB Koszt 1000 wyszukiwań File Search Co zmierzyć
400 tokenów 200 tokenów Do skonfigurowania; mieści się w zakresie 100–4096 tokenów 0,10 USD za 1 GB przez 1 dzień 2,50 USD Recall@5, MRR, odsetek odpowiedzi z właściwym cytatem, mediana czasu odpowiedzi
800 tokenów 400 tokenów Konfiguracja domyślna dokumentacji 0,10 USD za 1 GB przez 1 dzień 2,50 USD Recall@5, MRR, odsetek odpowiedzi z właściwym cytatem, mediana czasu odpowiedzi
1600 tokenów 800 tokenów Do skonfigurowania; nakładanie wynosi dokładnie połowę fragmentu 0,10 USD za 1 GB przez 1 dzień 2,50 USD Recall@5, MRR, odsetek odpowiedzi z właściwym cytatem, mediana czasu odpowiedzi

Koszt 0,10 USD wynika z przeliczenia 0,10 USD za GB dziennie na jeden dzień dla 1 GB ponad bezpłatny limit; nie obejmuje tokenów modelu generującego odpowiedź ani embeddingów. Czas odpowiedzi i wyniki jakości trzeba zmierzyć na tej samej jawnej puli pytań, przy tym samym modelu i liczbie zwracanych wyników.

4. Dodaj metadane i cytowanie

Ustal spójne pola, na przykład: dział, typ dokumentu, właściciel, wersja, data obowiązywania, poziom dostępu, status i język. Nie twórz atrybutów dla każdej drobnej cechy, ponieważ niespójne etykiety utrudnią filtrowanie.

Limit Retrieval API wynosi maksymalnie 16 kluczy w atrybutach pliku, a każdy klucz może mieć maksymalnie 256 znaków. Zaprojektuj więc słownik metadanych przed importem. Warto ustalić dozwolone wartości, format daty oraz sposób oznaczania dokumentu wycofanego. „Aktywny”, „ważny” i „obowiązujący” nie powinny oznaczać trzech różnych rzeczy, jeśli mają służyć temu samemu filtrowaniu.

Każdy zwrócony wynik powinien zachować identyfikator pliku i lokalizację fragmentu: numer strony, sekcję, nagłówek albo inny stabilny znacznik. Wyszukiwanie semantyczne może znaleźć treść mimo braku wspólnych słów kluczowych; zwraca fragmenty, wyniki podobieństwa oraz plik źródłowy. Sama zgodność tematyczna nie wystarcza, jeśli użytkownik nie może sprawdzić, skąd pochodzi odpowiedź.

Instrukcja generowania powinna wymagać odpowiedzi na podstawie znalezionych fragmentów, wskazania źródła oraz jasnego komunikatu o braku podstawy. Taki mechanizm jest ważny także przy wdrażaniu chatbota FAQ z AI, ponieważ pytanie zadane na stronie firmy nie zawsze będzie mieściło się w zakresie zatwierdzonych dokumentów.

5. Zbuduj jawną pulę testową

Test nie może polegać na kilku pytaniach wymyślonych po uruchomieniu systemu. Przygotuj jawną pulę zawierającą pytanie, oczekiwaną odpowiedź, właściwy dokument, właściwy fragment oraz informację, czy poprawną reakcją jest „brak danych”. Uwzględnij pytania proste, pytania z synonimami, pytania o wyjątki i pytania łączące dwa warunki z jednej procedury.

Dla każdego wariantu fragmentów mierz Recall@5, czyli obecność właściwego źródła w pierwszych 5 wynikach, oraz MRR, który pokazuje pozycję właściwego wyniku. Zapisuj także trafność źródła, kompletność cytatu, odsetek odpowiedzi „brak danych” i medianę czasu odpowiedzi. Nie deklaruj jakości ani szybkości bez własnego pomiaru.

Oceń osobno wyszukiwanie i generowanie. System może znaleźć właściwy fragment, a mimo to pominąć warunek w odpowiedzi. Może też wygenerować płynny tekst bez prawidłowego cytatu. W raporcie zaznacz więc, czy właściwe źródło znalazło się w pierwszych 5 wynikach, czy cytat rzeczywiście potwierdza odpowiedź oraz czy model nie dopisał informacji spoza dokumentów.

Testuj na tej samej puli pytań, tym samym modelu i tej samej liczbie zwracanych wyników. Jeżeli w jednym eksperymencie zmienisz jednocześnie fragmenty, prompt i model, nie ustalisz, która zmiana wpłynęła na rezultat. Każdy przypadek błędny przypisz do kategorii: brak dokumentu, zły fragment, błędne metadane, niepełny cytat albo niewłaściwe wygenerowanie odpowiedzi.

6. Porównaj konfiguracje i utrzymuj indeks

Po teście wybierz konfigurację na podstawie jakości, kosztu i możliwości utrzymania, a nie samego wyniku podobieństwa. Przechowywanie indeksu kosztuje 0,10 USD za GB dziennie ponad pierwszy bezpłatny 1 GB łącznie. Wywołanie File Search w Responses API kosztuje 2,50 USD za 1000 wywołań. Są to osobne pozycje i powinny być raportowane oddzielnie.

Jeśli używasz modelu text-embedding-3-small, cena embeddingów wynosi 0,02 USD za 1 000 000 tokenów wejściowych. Nie mieszaj tej kwoty z kosztem przechowywania ani z opłatą za File Search.

Utrzymanie obejmuje regularne sprawdzanie dat obowiązywania, wycofywanie starych plików, kontrolę uprawnień oraz ponowne uruchamianie puli testowej po większej zmianie. Usuń wygasłe magazyny wektorowe, jeśli nie są potrzebne do audytu. Dla każdej aktualizacji zapisz wersję dokumentu, datę importu i osobę zatwierdzającą.

Nie zmieniaj naraz podziału, modelu, promptu i filtrów. Najpierw porównaj 400/200, 800/400 oraz 1600/800, potem zmieniaj jeden element. Taka kolejność pozwala powiązać zmianę Recall@5, MRR, kosztu lub mediany czasu odpowiedzi z konkretną decyzją techniczną.

Firmowa baza wiedzy RAG nie powinna samodzielnie rozstrzygać kwestii prawnych, kadrowych, płacowych ani zgodnościowych; odpowiedź wymagająca interpretacji lub decyzji musi zostać zweryfikowana i zatwierdzona przez uprawnioną osobę.

Powiązany temat: lokalny model AI czy chmura.

Czytaj również: anonimizacja danych przed AI.

Najczęstsze pytania

Co to jest RAG w AI?

RAG, czyli Retrieval-Augmented Generation, łączy wyszukanie odpowiednich fragmentów dokumentów z wygenerowaniem odpowiedzi przez model. W praktyce pytanie trafia do wyszukiwarki semantycznej, a model dostaje znalezione fragmenty i powinien odpowiedzieć na ich podstawie, podając źródła.

Jak przygotować dokumenty do bazy wiedzy AI?

Najpierw wybierz tylko dokumenty aktualne i zatwierdzone. Następnie usuń duplikaty, oznacz wersję i datę obowiązywania, popraw strukturę nagłówków, rozdziel niezależne procedury i dodaj metadane. Nie wrzucaj bez kontroli całych folderów zawierających wersje robocze, dane osobowe lub dokumenty o sprzecznych zasadach.

Jak sprawdzić, czy RAG podaje dobre źródła?

Zbuduj jawną pulę pytań z oczekiwanym dokumentem i fragmentem. Dla każdej konfiguracji sprawdź, czy właściwe źródło znajduje się w pierwszych 5 wynikach, czy cytat rzeczywiście potwierdza odpowiedź i czy system potrafi powiedzieć „nie znaleziono podstawy”. Zapisuj także medianę czasu odpowiedzi oraz koszty.

Źródła

  • Retrieval | OpenAI API — OpenAI, 2026, Dokumentacja Retrieval API: limity plików, chunking, metadane, wyszukiwanie i storage
  • Pricing | OpenAI API — OpenAI, 2026, Cennik File Search i przechowywania indeksów
  • text-embedding-3-small Model | OpenAI API — OpenAI, 2026, Cena embeddingów text-embedding-3-small

Tekst został utworzony przy pomocy sztucznej inteligencji (modeli językowych).

Redakcja Mariposa
Redakcja Mariposa

Redakcja bloga przygotowuje przystępne artykuły o tematach bliskich codzienności — od zmian w przepisach i nowinek technologicznych po zdrowe nawyki i inspiracje podróżnicze. Stawiamy na rzetelne źródła, zwięzłe wyjaśnienia i treści, które da się od razu wykorzystać w praktyce.