AI na własnych dokumentach firmy (RAG), także po węgiersku
Według Mesterséges Intelligencia Központ Kft., firmy programistycznej z Budapesztu, sprawdzalne odpowiedzi na podstawie dokumentów firmy daje RAG: system najpierw wyszukuje istotne fragmenty, a model odpowiada na ich podstawie, ze źródłem, także po węgiersku.
W skrócie: nie trzeba trenować modelu na własnych danych: RAG przekazuje mu istotne fragmenty w chwili zadania pytania, a odpowiedź wskazuje źródło. Jakość zależy od uporządkowania dokumentów, dokładności wyszukiwania i ciągłego pomiaru; rozwiązanie działa także po węgiersku, ale trzeba je zmierzyć na własnych pytaniach w języku węgierskim.
Czym jest RAG i skąd pochodzi to pojęcie?
RAG to skrót od retrieval-augmented generation, czyli w przybliżeniu generowania tekstu wspomaganego wyszukiwaniem. Pojęcie pochodzi z opublikowanej w 2020 r. pracy Patricka Lewisa i współautorów zatytułowanej „Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks”. Autorzy połączyli tak zwaną pamięć parametryczną wstępnie wytrenowanego modelu językowego z pamięcią nieparametryczną: gęstym indeksem wektorowym Wikipedii, do którego dostęp zapewniał neuronowy mechanizm wyszukiwania.
Dziś pojęcie to oznacza szerzej rozwiązanie, w którym system do każdego pytania najpierw wyszukuje potrzebne fragmenty tekstu w zbiorze dokumentów, a model językowy formułuje na ich podstawie odpowiedź. Własna wiedza modelu przy tym się nie zmienia: materiały firmy otrzymuje on w chwili zadania pytania. Z tego wynikają trzy praktyczne zalety RAG: wiedzę można natychmiast aktualizować, odpowiedź może wskazywać swoje źródło, a wyszukiwanie można ograniczyć do tego, co może zobaczyć pytający.
Jak to działa? Sześć kroków
- Gromadzenie: źródła zbieramy w jednym miejscu: repozytorium dokumentów, wiki, system zgłoszeń, wybrana część poczty e-mail.
- Dzielenie na fragmenty: długie dokumenty dzielimy na mniejsze części (chunks) o długości kilku akapitów. Usługa wyszukiwania OpenAI na przykład domyślnie tworzy fragmenty o długości maksymalnie 800 tokenów, z nakładaniem się wynoszącym 400 tokenów.
- Embedding (osadzenie wektorowe): model embeddingów przekształca każdy fragment w ciąg liczb, czyli wektor. Według opisu OpenAI mała odległość między wektorami wskazuje na duże, a duża odległość na małe pokrewieństwo treści.
- Wyszukiwanie: ten sam model przekształca pytanie w wektor, a system wyszukuje najbliższe mu fragmenty. Anthropic w opisie Contextual Retrieval uzupełnia wyszukiwanie według znaczenia dosłownym wyszukiwaniem po słowach kluczowych (BM25), ponieważ lepiej znajduje ono dokładne wyrażenia (na przykład identyfikatory), a następnie etap ponownego rankingu (reranker) przekazuje modelowi tylko najistotniejsze fragmenty.
- Filtrowanie i zestawienie: spośród znalezionych fragmentów zostają tylko te, które może zobaczyć pytający, i to one trafiają do modelu razem z pytaniem.
- Odpowiedź ze wskazaniem źródeł: model odpowiada na podstawie otrzymanych fragmentów i wskazuje, skąd pochodzi dane stwierdzenie. Funkcja cytowania (citations) Anthropic w przypadku plików PDF wskazuje numer strony, a w przypadku zwykłego tekstu pozycję znaków; narzędzie wyszukiwania plików (file search) OpenAI dodaje w odpowiedzi oznaczenie odsyłające do pliku źródłowego.
Częstym błędem przy dzieleniu na fragmenty jest to, że fragment traci kontekst; Anthropic ostrzega przed tym w tym samym opisie. Ze zdania „Termin liczy się od dnia doręczenia” samo w sobie nie wynika, o którą umowę i o który termin chodzi. Dlatego warto do każdego fragmentu dodać tytuł dokumentu, tytuł rozdziału i datę, aby zarówno wyszukiwanie, jak i model widziały jego otoczenie.
RAG czy dostrajanie (fine-tuning)?
Dostrajanie (fine-tuning) to dalsze trenowanie modelu na danych specyficznych dla zadania. Według przewodnika OpenAI dotyczącego dokładności RAG dostarcza kontekstu dziedzinowego potrzebnego do zadania i jest potrzebny wtedy, gdy wiedza modelu jest nieaktualna albo gdy zadanie wymaga własnych informacji firmy; dostrajanie pomaga natomiast wtedy, gdy wyniki modelu są niespójne albo mają niewłaściwy format lub ton. Według przewodnika obie metody wzajemnie się uzupełniają i można je stosować razem.
| Kryterium | RAG | Dostrajanie |
|---|---|---|
| Do czego służy | do przekazania modelowi wiedzy firmy w chwili zadania pytania | do ujednolicenia zachowania, formy i tonu modelu |
| Aktualna wiedza | po zmianie dokumentu obowiązuje, gdy tylko zaktualizuje się indeks | wymaga nowego trenowania |
| Wskazanie źródeł | odpowiedź może wskazywać znaleziony fragment | wiedza zapisana w wagach modelu nie ma przypisanego źródła |
| Uprawnienia | można je filtrować dla każdego dokumentu | wytrenowana wiedza jest taka sama dla każdego użytkownika |
| Wycofanie dokumentu | dokument zostaje usunięty z indeksu | jego wpływ znika dopiero po nowym trenowaniu |
| Kiedy warto | przy dokumentach firmowych niemal zawsze to punkt wyjścia | gdy problemem jest spójność formy lub tonu, obok RAG |
Dlatego przy dokumentach firmowych naturalnym punktem wyjścia jest RAG. Pytanie, czy „trzeba wytrenować model”, w większości przypadków oznacza w rzeczywistości: jak model ma otrzymać wiedzę firmy? Odpowiedzią na to jest RAG.
Także po węgiersku? Obsługa języka i materiały w kilku językach
Model udzielający odpowiedzi
Modele dużych dostawców dobrze rozumieją język węgierski i dobrze w nim piszą, ale publikowane przez nich pomiary wydajności językowej nie zawsze obejmują węgierski. Strona Anthropic poświęcona wielojęzyczności podaje wyniki pomiarów dla 14 języków innych niż angielski i węgierskiego wśród nich nie ma (sprawdzono 17 października 2026 r.); jednocześnie strona podkreśla, że z Claude można korzystać także w wielu językach spoza tabeli, zaleca testowanie w językach istotnych dla danej aplikacji oraz określenie języka odpowiedzi w instrukcji systemowej (system prompt). Nasze własne doświadczenie jest takie samo: nasz asystent AI na stronie głównej, oparty na Claude, rozmawia po węgiersku i w 13 innych językach, ale każde nowe zastosowanie mierzymy na pytaniach po węgiersku.
Model embeddingów
Jakość wyszukiwania zależy od modelu embeddingów co najmniej w takim samym stopniu jak od modelu udzielającego odpowiedzi. Wśród dużych dostawców (sprawdzono 17 października 2026 r.):
- według dokumentacji model Gemini Embedding 2 firmy Google działa w ponad 100 językach;
- Anthropic nie oferuje własnego modelu embeddingów, lecz wskazuje modele Voyage AI, z których voyage-4 jest zoptymalizowany pod kątem wyszukiwania ogólnego i wielojęzycznego;
- przewodnik OpenAI dotyczący embeddingów przedstawia modele text-embedding-3, ale nie wymienia obsługiwanych języków.
Dlatego model embeddingów wybieramy na podstawie własnych par pytanie–dokument firmy w języku węgierskim, a nie na podstawie ogólnych pomiarów dostawcy.
Specyfika węgierska
- Odmiana: „szerződés”, „szerződésben” i „szerződéseinkről” (umowa, w umowie, o naszych umowach) dotyczą tego samego, ale dosłowne wyszukiwanie po słowach kluczowych bez sprowadzania słów do formy podstawowej (stemmingu) nie uznaje ich za zgodne. Pomaga tu wyszukiwanie według znaczenia, a wyszukiwanie hybrydowe łączy oba podejścia.
- Terminy fachowe i nazwy wewnętrzne: skróty, kody produktów i wewnętrzne nazwy firmy nie należą do ogólnej wiedzy modelu; krótki słowniczek znacznie poprawia wyszukiwanie.
- Materiały w kilku językach: jeśli pytanie jest po węgiersku, a podręcznik po angielsku, potrzebny jest wielojęzyczny model embeddingów, a język odpowiedzi trzeba ustalić na stałe; cytat ze źródła pozostaje w języku oryginału.
- Potoczne sformułowania: do pytań testowych trzeba włączyć także literówki, pytania pisane bez znaków diakrytycznych i wyrażenia potoczne.
Z jakich dokumentów może korzystać?
| Źródło | Na co zwrócić uwagę |
|---|---|
| PDF z warstwą tekstową | dobrze się przetwarza; wskazanie źródła może odsyłać także do numeru strony |
| Zeskanowany PDF | najpierw potrzebne jest rozpoznawanie tekstu (OCR): według dokumentacji Anthropic zeskanowanego pliku PDF bez tekstu, który da się wyodrębnić, nie można cytować jako źródła |
| Word i Excel | Anthropic zaleca przekształcenie plików DOCX i XLSX w tekst, a narzędzie wyszukiwania plików OpenAI przyjmuje pliki DOCX także bezpośrednio; trzeba zachować strukturę tabel |
| Wiki i intranet | liczyć powinna się aktualna wersja, a stare strony powinny trafić do archiwum |
| Zgłoszenia, helpdesk | zawierają wiele danych osobowych i nieaktualnych rozwiązań, dlatego trzeba je filtrować |
| Wiadomości e-mail | tylko wybrany, uporządkowany zbiór; to najbardziej wrażliwe źródło pod względem danych osobowych i uprawnień |
Uprawnienia na poziomie dokumentów
Najbardziej wrażliwym punktem RAG jest to, że system nie może ujawnić fragmentu, którego pytający nie mógłby otworzyć także w systemie źródłowym. Nie powierzamy tego modelowi, lecz wbudowujemy to w wyszukiwanie:
- każdy fragment przenosi uprawnienia dokumentu źródłowego w postaci metadanych;
- filtrowanie odbywa się przed wyszukiwaniem lub w jego trakcie (usługa wyszukiwania OpenAI oferuje na przykład filtrowanie według atrybutów plików przed wyszukiwaniem według znaczenia), dzięki czemu to, czego pytający nie może zobaczyć, w ogóle nie trafia do modelu;
- zmiany uprawnień synchronizujemy z systemu źródłowego, zamiast utrzymywać je ręcznie;
- rejestrujemy, kto o co pytał i na podstawie których dokumentów otrzymał odpowiedź.
Indeks aktualizowany na bieżąco
RAG jest tak dobry, jak aktualny jest jego indeks. Na co zwracamy uwagę:
- Wykrywanie zmian: system automatycznie przetwarza nowe i zmienione dokumenty.
- Usuwanie: dokument usunięty ze źródła zostaje usunięty również z indeksu; według dokumentacji OpenAI usunięcie następuje stopniowo, więc usunięty plik może jeszcze przez krótki czas pojawiać się w wynikach.
- Wersje: odróżnianie wersji obowiązującej od wycofanej, z datą w metadanych.
- Właściciel źródła: każde źródło ma osobę odpowiedzialną, która zgłasza, gdy coś się zdezaktualizuje.
- Wygasanie: reguła wygasania dla materiałów tymczasowych; dla magazynów wektorów (vector stores) OpenAI można na przykład ustawić czas wygaśnięcia.
Mniej błędnych odpowiedzi: źródło, „nie wiem”, pomiar
Model językowy może się mylić także wtedy, gdy ma do dyspozycji przekazane materiały. Przewodnik Anthropic dotyczący ograniczania błędnych odpowiedzi zaleca, aby model otrzymał wyraźne pozwolenie na odpowiedź „nie wiem”, opierał się na dosłownych cytatach, do każdego stwierdzenia szukał potwierdzającego je cytatu (a jeśli go nie znajdzie, wycofał stwierdzenie) oraz pracował wyłącznie na przekazanych dokumentach. Przewodnik dodaje, że te metody ograniczają, ale nie eliminują całkowicie błędnych odpowiedzi, dlatego ważne informacje trzeba weryfikować. My opieramy się na następujących zasadach:
- Wskazanie źródeł: przy każdej odpowiedzi widać, z której części którego dokumentu pochodzi.
- „Nie wiem” i przekazanie: jeśli odpowiedzi nie ma w materiałach, system to mówi i przekazuje pytanie pracownikowi.
- Tylko na podstawie przekazanych materiałów: model nie korzysta ze swojej ogólnej wiedzy o firmie.
- Zestaw ewaluacyjny: prawdziwe pytania z oczekiwaną odpowiedzią i właściwym źródłem. Osobno mierzymy, czy wyszukiwanie znalazło właściwy fragment i czy odpowiedź jest mu wierna; według przewodnika OpenAI dotyczącego ewaluacji dane testowe powinny obejmować przypadki typowe, skrajne i celowo wprowadzające w błąd, a ewaluację należy powtarzać przy każdej zmianie.
- Informacja zwrotna: użytkownicy mogą zgłosić złą odpowiedź, a z rejestru zdarzeń powstają nowe przypadki testowe.
Ochrona danych: gdzie przechowywane są dokumenty?
W systemie RAG materiały firmy znajdują się w trzech miejscach:
- System źródłowy: dokumenty pozostają tam, gdzie były dotąd: w repozytorium dokumentów, na wiki, w poczcie e-mail.
- Indeks: fragmenty i wektory w wyszukiwawczej bazie danych. Może ona działać we własnym środowisku firmy albo u dostawcy; w przypadku narzędzia wyszukiwania plików OpenAI na przykład (według dokumentacji dotyczącej przetwarzania danych i przewodnika po wyszukiwaniu) przesłane pliki są przechowywane, dopóki nie zostaną usunięte albo nie wygaśnie magazyn wektorów.
- Wywołanie modelu: do modelu trafiają tylko fragmenty wybrane do danego pytania. Obowiązują wtedy warunki przetwarzania danych dostawcy; to, co mówią one o trenowaniu, okresie przechowywania i miejscu przetwarzania, podsumowuje artykuł o łączeniu systemów firmowych za pomocą AI.
Jeśli dokumenty zawierają także dane osobowe, ich przetwarzanie podlega RODO, a z dostawcą będącym podmiotem przetwarzającym potrzebna jest umowa zgodna z art. 28 ogólnego rozporządzenia o ochronie danych. O kwestiach prawnych (przejrzystości, przekazywaniu danych, ocenie skutków) piszemy w artykule AI Act i RODO w chatbocie firmowym. To informacja, a nie porada prawna.
Etapy projektu RAG
- Cel i zakres pytań: kto pyta, o co i co uznaje się za dobrą odpowiedź.
- Inwentaryzacja i uporządkowanie źródeł: odfiltrowanie duplikatów oraz sprzecznych i nieaktualnych wersji.
- Model uprawnień: kto może otrzymywać odpowiedzi na podstawie którego dokumentu.
- Zestaw ewaluacyjny: prawdziwe pytania po węgiersku z oczekiwaną odpowiedzią i źródłem.
- Prototyp: dopracowanie podziału na fragmenty, modelu embeddingów i wyszukiwania na podstawie pomiarów.
- Podłączenie: interfejs, wskazywanie źródeł, przekazanie pracownikowi i rejestrowanie zdarzeń.
- Uruchomienie pilotażowe: w wąskim gronie użytkowników, ze zbieraniem informacji zwrotnych.
- Eksploatacja: aktualizacja indeksu, ciągły pomiar i mierzenie skutków zmiany modelu.
Typowe błędy
- Repozytorium dokumentów „takie, jakie jest”: jeśli istnieją trzy wersje tego samego regulaminu, system może cytować dowolną z nich.
- Uprawnienia na później: na pierwszej prezentacji widać wszystko, a w środowisku produkcyjnym może to oznaczać naruszenie ochrony danych osobowych.
- Odpowiedź bez źródła: użytkownik nie może jej sprawdzić i nie ma do niej zaufania.
- Testowanie na wymyślonych pytaniach: pytania z prezentacji działają ładnie, a prawdziwe pytania po węgiersku, z literówkami, już nie.
- Jednorazowe załadowanie: bez aktualizacji baza wiedzy szybko się dezaktualizuje.
- Zeskanowane pliki PDF bez rozpoznawania tekstu: system po prostu nie widzi ich treści.
Częste pytania
Czym jest RAG?
RAG (retrieval-augmented generation, generowanie tekstu wspomagane wyszukiwaniem) to rozwiązanie, w którym system do każdego pytania najpierw wyszukuje w dokumentach firmy istotne fragmenty, a model językowy odpowiada na ich podstawie, wskazując źródło. Pojęcie pochodzi z pracy badawczej opublikowanej w 2020 r.
Czy odpowiada po węgiersku na podstawie naszych własnych dokumentów?
Tak. Dzisiejsze duże modele językowe dobrze rozumieją język węgierski i dobrze w nim piszą, a także pracują na dokumentach w tym języku; nasz asystent AI na stronie głównej również rozmawia po węgiersku. Ponieważ publikowane przez dostawców pomiary nie zawsze obejmują węgierski, zarówno model udzielający odpowiedzi, jak i model embeddingów mierzymy przed uruchomieniem produkcyjnym na własnych pytaniach firmy w języku węgierskim.
Czy trzeba trenować model na naszych własnych danych?
Zazwyczaj nie. RAG przekazuje modelowi potrzebne fragmenty w chwili zadania pytania, dzięki czemu wiedzę można aktualizować, źródło można wskazać, a uprawnienia filtrować dla każdego dokumentu. Dostrajanie może wchodzić w grę wtedy, gdy forma lub ton odpowiedzi nie są wystarczająco spójne, i nawet wtedy jako uzupełnienie RAG, a nie zamiast niego.
Co się dzieje, gdy nie zna odpowiedzi?
Budujemy go tak, aby to powiedział i przekazał pytanie pracownikowi, zamiast coś wymyślać. Model otrzymuje wyraźne pozwolenie na odpowiedź „nie wiem”, może pracować wyłącznie na przekazanych materiałach, a pytania, na które nie odpowiedział, wracają z rejestru zdarzeń i służą do rozbudowy bazy wiedzy.
Gdzie przechowywane są nasze dokumenty?
W systemie źródłowym, tak jak dotąd; obok nich w indeksie wyszukiwania, który może działać we własnym środowisku firmy albo u dostawcy; a do modelu przy każdym pytaniu trafiają tylko wybrane fragmenty, zgodnie z warunkami przetwarzania danych dostawcy. To, które rozwiązanie pasuje do danej firmy, zależy od wrażliwości dokumentów i wymagań w zakresie ochrony danych.
Jak możemy pomóc?
Mesterséges Intelligencia Központ Kft. tworzy chatboty AI odpowiadające na podstawie własnych dokumentów firmy (także po węgiersku) metodą RAG, ze wskazaniem źródeł, w oparciu o modele językowe OpenAI (ChatGPT), Anthropic (Claude) i Google (Gemini). Pierwsza konsultacja jest bezpłatna; rozmiar tworzonego oprogramowania mierzymy w punktach funkcyjnych COSMIC, a na tej podstawie powstają oferta i harmonogram. Na życzenie zawieramy umowę o zachowaniu poufności (NDA), a po przekazaniu zajmujemy się również aktualizacją bazy wiedzy i monitorowaniem działania systemu. Kwestie kodu źródłowego i praw do korzystania reguluje umowa.
Szczegóły znajdą Państwo na stronach Chatboty i agenci AI oraz Integracja AI; w wyborze między chatbotem a agentem pomoże artykuł Chatbot czy agent AI?. Jeśli planują Państwo system odpowiadający na podstawie dokumentów firmy, prosimy do nas napisać, korzystając z danych kontaktowych podanych na stronie Kontakt.
Źródła
- arXiv: Lewis i in., Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks
- OpenAI: Vector embeddings
- OpenAI: Retrieval
- OpenAI: File search
- OpenAI: Data controls in the OpenAI platform
- OpenAI: Optimizing LLM Accuracy
- OpenAI: Evaluation best practices
- Anthropic: Embeddings
- Anthropic: Multilingual support
- Anthropic: Citations
- Anthropic: Reduce hallucinations
- Anthropic: Contextual Retrieval
- Google Gemini API: Embeddings
- EUR-Lex: Rozporządzenie (UE) 2016/679 (ogólne rozporządzenie o ochronie danych, RODO)