Po co firmie własny asystent AI
ChatGPT odpowie Ci na pytania o świat. Ale nie odpowie, jak wygląda procedura serwisowa modelu X w Twojej firmie, kto był odpowiedzialny za projekt Y w 2023 albo co mówi załącznik 3 do umowy z klientem Z.
RAG (Retrieval-Augmented Generation) rozwiązuje ten problem: AI najpierw przeszukuje Twoją bazę dokumentów, wybiera istotne fragmenty i dopiero potem generuje odpowiedź. W efekcie dostajesz asystenta, który zna Twoją firmę od środka — bez wysyłania dokumentów do OpenAI.
Czym RAG różni się od fine-tuningu
Dwa podejścia, które ludzie często mylą:
Fine-tuning — uczenie modelu od nowa na Twoich danych. Drogie (GPU, czas, ekspertyza), trwałe, ale model "pamięta" tylko to, co widział podczas treningu. Nowe dokumenty wymagają retrainingu.
RAG — model pozostaje niezmieniony. Twoje dokumenty są indeksowane do bazy wektorowej. Przy każdym pytaniu system wyszukuje 3-10 najtrafniejszych fragmentów i wstrzykuje je do promptu. Tani, szybki w aktualizacji, idealny dla baz wiedzy, które się zmieniają.
Dla 95% wdrożeń firmowych RAG jest właściwym wyborem. Fine-tuning ma sens dopiero, gdy potrzebujesz specyficznego stylu pisania albo wąskiej domeny.
Stack on-premise
Co konkretnie stawiamy u klienta:
- LLM: Llama 3 8B lub 70B (przez Ollama lub vLLM).
- Embeddingi: nomic-embed-text lub bge-large-en-v1.5 (też lokalnie).
- Baza wektorowa: Qdrant (open-source, on-prem).
- Orkiestracja: LangChain albo LlamaIndex.
- Frontend: Open WebUI z SSO, albo własny React.
- Hardware: serwer z RTX 4090 (dla 8B) lub A100 (dla 70B).
Wszystko działa offline. Dane nigdy nie opuszczają sieci klienta.
Krok 1: Audyt dokumentów
Najgorszy błąd to wrzucić wszystko, co firma ma na dyskach. RAG na chaosie daje chaotyczne odpowiedzi.
Co robimy na początku:
- Lista źródeł: SharePoint, Confluence, Google Drive, mailboxy, repo, intranet.
- Klasyfikacja: które dokumenty są aktualne, które nieaktualne, które poufne.
- Wybór subzbioru: zaczynamy od 200-2000 dokumentów z jednego obszaru (np. procedury HR, dokumentacja produktu, baza wiedzy supportu).
- Polityka aktualizacji: kto, jak często, według jakiej reguły dodaje nowe dokumenty do bazy.
Bez tego kroku 3 miesiące później klient zgłasza: "AI mówi nieprawdę". Bo bierze treść z dokumentu z 2019, który nikt nie usunął.
Krok 2: Indeksacja (chunking + embeddingi)
Dokumenty są tnięte na fragmenty (chunki) o długości 300-800 tokenów z 50-100 tokenowym overlapem. Każdy fragment idzie do modelu embeddingowego, który zamienia go na wektor liczbowy (typowo 768 lub 1024 wymiarów).
Wektory są zapisywane w Qdrant razem z metadanymi (źródło, data, autor, sekcja, tagi). Metadane są kluczowe — dzięki nim można filtrować: "tylko procedury HR z 2025", "tylko dokumenty oznaczone jako 'aktualne'".
Pułapki:
- Tabele i obrazy — proste chunkowanie tekstu je gubi. Trzeba użyć parsera (Unstructured.io, LlamaParse), który rozumie strukturę.
- PDF skanowane — wymaga OCR (Tesseract, Azure Document Intelligence on-prem).
- Załączniki w mailu — często mają najwięcej wiedzy, ale są pomijane przez systemy indeksujące.
Krok 3: Retrieval (wyszukiwanie)
Gdy użytkownik pisze pytanie, system robi cztery rzeczy:
- Pytanie idzie do modelu embeddingowego.
- Wektor pytania jest porównywany z wektorami w Qdrant (cosine similarity).
- Zwracane jest top-K najbliższych fragmentów (typowo 5-10).
- Opcjonalnie reranker (np. bge-reranker-large) sortuje je dokładniej.
Dla większych baz dodajemy hybrid search — kombinacja wektorowego + klasycznego BM25 (Elasticsearch lub Qdrant BM25). To daje lepsze wyniki dla zapytań z konkretnymi nazwami (numery dokumentów, kody, nazwiska).
Krok 4: Generation (LLM odpowiada)
Wyselekcjonowane fragmenty są wklejane do promptu razem z pytaniem użytkownika i instrukcjami systemowymi. Typowy prompt wygląda tak:
Jesteś asystentem firmy X. Odpowiadaj wyłącznie na podstawie poniższych
fragmentów dokumentacji firmowej. Jeśli nie znajdziesz odpowiedzi we
fragmentach, powiedz "Nie znalazłem odpowiedzi w bazie wiedzy".
Zawsze cytuj numer dokumentu źródłowego.
[FRAGMENT 1] ...
[FRAGMENT 2] ...
...
Pytanie użytkownika: ...
Llama 3 70B odpowiada, dodając numery źródeł. Frontend renderuje odpowiedź z klikalnymi cytatami do oryginalnych dokumentów.
Krok 5: Ewaluacja i poprawki
Po wdrożeniu testujemy z prawdziwymi pytaniami od pracowników:
- Czy odpowiedź jest poprawna? (manualnie, na próbie 100-200 pytań).
- Czy cytuje właściwe źródła?
- Czy halucynacje są pod kontrolą? (model nie wymyśla informacji, których nie ma w bazie).
- Czy odmawia, gdy nie wie? (zamiast zmyślać).
Typowe ulepszenia po pierwszym tygodniu:
- Dodanie reguł filtrowania (pomiń dokumenty starsze niż 2 lata).
- Zwiększenie K (z 5 do 10 fragmentów).
- Reranker dla pytań trudnych.
- Lepsze chunkowanie tabel.
- Aktualizacja embeddingów dla nowo dodanych dokumentów (cron co noc).
Bezpieczeństwo i kontrola dostępu
W firmie z różnymi działami nie chcesz, żeby asystent HR-u widział dokumenty księgowości.
Co budujemy:
- Filtry metadanych przy retrieval: SSO przekazuje rolę użytkownika do RAG-a, query do Qdrant ma
filter: { department: "HR" }. - Logi zapytań: kto, co, kiedy pytał — przechowywane lokalnie, retention np. 90 dni.
- Polityka dostępu do dokumentów: ACL na poziomie fragmentów (Qdrant payload filtering).
- Tryb "explain": użytkownik może zobaczyć dokładnie, które fragmenty model zobaczył.
Koszty wdrożenia
Realistyczne widełki:
- Pilot (jeden obszar, 500-1000 dokumentów, RTX 4090) — 25-45 tys. zł.
- Wdrożenie produkcyjne (RAG na całej firmie, A100, integracje) — 80-150 tys. zł.
- Utrzymanie miesięczne — 2-5 tys. zł (monitoring, aktualizacje, dokupy modeli).
Zwrot widzimy zwykle w 6-9 miesięcy na czasie oszczędzonym przez supportowców, prawników, konsultantów i HR-owców, którzy przestają szukać dokumentów ręcznie.
Checklist startowy
Zanim zaczniesz wdrożenie RAG, sprawdź:
- Wybrany obszar pilotażowy (jeden dział, jeden typ dokumentów).
- Lista 200-2000 dokumentów do indeksacji.
- Polityka aktualizacji bazy (kto, jak często).
- Wymagania dostępowe (czy potrzebujesz ACL per rola).
- Sprzęt — czy masz serwer GPU, czy zaczynamy od chmury prywatnej.
- Plan ewaluacji — kto testuje odpowiedzi w pierwszych 2 tygodniach.
Co dalej
Jeśli chcesz, umówimy konsultację AI on-premise — pokażemy działający proof-of-concept RAG-a na Twoich dokumentach przed podjęciem decyzji o pełnym wdrożeniu. Możesz też przeczytać porównanie ChatGPT Enterprise i lokalnego Llama 3 zanim zdecydujesz o architekturze.
