Aplikacje Mobilne 10 min czytania

RAG w firmie: asystent AI, który odpowiada z dokumentacji

RAG to sposób budowy asystenta AI, który odpowiada na podstawie dokumentów firmy, a nie z pamięci modelu. Mechanizm, ograniczenia i dwa wdrożenia z liczbami.

Radosław Kołacki

RAG (Retrieval-Augmented Generation) to sposób budowy asystenta AI, w którym model językowy przed udzieleniem odpowiedzi wyszukuje pasujące fragmenty w dokumentach firmy i odpowiada na ich podstawie. Opłaca się tam, gdzie użytkownicy wracają z tymi samymi pytaniami, wiedza jest rozproszona po plikach i systemach, a błędna odpowiedź kosztuje. Poniżej mechanizm, ograniczenia i dwa wdrożenia: w serwisie marki z branży medycznej i w aplikacji mobilnej.

Dlaczego model bez wiedzy firmy zawodzi

Model językowy ogólnego przeznaczenia zna to, co znalazło się w danych treningowych. Nie zna cennika, regulaminu, instrukcji ani nazw używanych w konkretnej firmie. Zapytany o szczegół oferty odpowiada płynnie i pewnym tonem także wtedy, gdy nie ma do tego podstaw. To zjawisko nazywa się halucynacją: odpowiedź brzmi wiarygodnie, ale nie zgadza się z faktami.

W zastosowaniu firmowym kończy się to na trzy sposoby. Asystent udziela sprzecznych odpowiedzi na to samo pytanie, podaje nieaktualne dane albo używa terminologii innej niż produkt. Użytkownik nie dostaje konkretu, a zespół wsparcia i tak prostuje odpowiedź ręcznie. Potrzebne jest połączenie zdolności językowych modelu ze sprawdzoną wiedzą firmy, i to właśnie robi RAG.

Czym jest RAG i jak działa?

Podejście opisał w 2020 roku zespół Patricka Lewisa w pracy Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks. Najprościej porównać je do egzaminu z otwartym zeszytem: model nie odpowiada z pamięci, tylko najpierw sprawdza notatki, a notatkami są dokumenty, baza wiedzy, treść serwisu i inne zasoby firmy.

W praktyce odpowiedź powstaje w czterech krokach:

  1. Przygotowanie wiedzy. Dokumenty są dzielone na fragmenty i zapisywane w indeksie, który pozwala wyszukiwać po znaczeniu, a nie tylko po słowach.
  2. Wyszukiwanie. Pytanie użytkownika trafia najpierw do wyszukiwarki, która wybiera fragmenty najbliższe pytaniu, na przykład akapit z dokumentacji albo pozycję z FAQ.
  3. Kontekst dla modelu. Wybrane fragmenty są przekazywane modelowi razem z pytaniem i instrukcją, żeby odpowiadał wyłącznie na ich podstawie.
  4. Odpowiedź ze źródłem. Model formułuje odpowiedź i może wskazać dokument albo podstronę, z której pochodzi informacja.

Sam model się nie zmienia. Gdy zmienia się oferta albo procedura, wystarczy zaktualizować dokument w bazie wiedzy, bez ponownego trenowania czegokolwiek.

Co RAG zmienia w odpowiedziach asystenta

  • Odpowiedzi z wiedzy firmy. Asystent korzysta z dokumentacji, opisów produktów i ustalonego słownictwa. Odpowiada tak, jak zrobiłby to dobrze poinformowany pracownik, a nie jak przypadkowe źródło z internetu.
  • Aktualność. Modelu nie ogranicza data zakończenia treningu. Zmiana w ofercie jest widoczna w odpowiedziach od chwili aktualizacji bazy wiedzy.
  • Wskazanie źródła. Odpowiedź opiera się na konkretnym dokumencie, więc da się pokazać jego fragment albo link. Ma to znaczenie wszędzie tam, gdzie odpowiedź trzeba umieć uzasadnić, na przykład w prawie i w ochronie zdrowia.
  • Mniej powtarzalnych zgłoszeń. Standardowe pytania asystent zamyka sam, o każdej porze. Zespół wsparcia zajmuje się przypadkami, które wymagają człowieka. Konkretną liczbę z jednego z wdrożeń podajemy niżej.

Co potrafią obecne wdrożenia RAG

  • Wyszukiwanie hybrydowe. Wyszukiwanie po znaczeniu (wektorowe) łączy się z klasycznym wyszukiwaniem słów. Pierwsze znajduje fragmenty „na temat”, drugie dokładne nazwy, symbole i numery. Wyniki obu metod są scalane i układane według trafności.
  • Kontekst użytkownika. Asystent może uwzględnić ekran albo podstronę, na której znajduje się pytający, oraz ogólne cechy jego konta, na przykład rodzaj subskrypcji. Odpowiedź odnosi się wtedy do tego, co użytkownik właśnie widzi.
  • Ponowna ocena fragmentów (reranking). System pobiera więcej fragmentów, niż potrzebuje, a osobny mechanizm ocenia ich przydatność i zostawia najlepsze. Gdy w dokumentacji jest dziesięć podobnych artykułów, model dostaje ten właściwy, a nie wszystkie naraz.
  • Analityka rozmów. Panel pokazuje liczbę sesji, najczęstsze tematy, odsetek rozmów zakończonych rozwiązaniem problemu i wydźwięk rozmów. Te dane wskazują luki w bazie wiedzy i miejsca w produkcie, w których użytkownicy się gubią. RAG wymaga więc stałej opieki: bazę wiedzy i instrukcje dla modelu poprawia się na podstawie prawdziwych rozmów.

Wdrożenie 1: asystent w serwisie Tropokolagen.pl

Tropokolagen.pl to serwis marki działającej w branży medycznej, powiązany z aplikacją mobilną dla lekarzy. Oferta jest złożona: użytkownicy pytają o różnice między wariantami produktu, sposób działania i zastosowanie. Informacje były w serwisie, ale rozproszone po opisach, materiałach i plikach PDF, a dotarcie do nich wymagało czasu.

W serwisie działa asystent w formie okna czatu, który jest pierwszym punktem kontaktu. Odpowiada na podstawie trzech warstw wiedzy:

  • Wiedza marki. Dokumenty, pliki PDF, instrukcje i opisy dostarczone przez firmę. To podstawa odpowiedzi zgodnych z oficjalną komunikacją.
  • Treść bieżącej podstrony. Pytanie zadane na stronie o konkretnym zastosowaniu dostaje odpowiedź dotyczącą tego zastosowania, bez informacji o pozostałych.
  • Struktura serwisu. Asystent zna mapę strony, więc oprócz odpowiedzi tekstowej wskazuje właściwą podstronę albo sekcję, na przykład publikacje naukowe.

Asystent rozpoznaje też intencję kontaktu. Gdy w rozmowie padają sformułowania takie jak „zapytanie ofertowe” albo „rozmowa z przedstawicielem”, proponuje formularz w oknie czatu. Podany adres e-mail lub numer telefonu trafia do zespołu sprzedaży jako zgłoszenie. Czat jest dzięki temu kanałem pozyskiwania zapytań, a nie tylko źródłem informacji.

Branża medyczna stawia dwa dodatkowe wymagania. Po pierwsze, asystent odpowiada wyłącznie z materiałów zatwierdzonych przez markę i nie zastępuje porady lekarza, co musi wynikać zarówno z instrukcji dla modelu, jak i z zakresu bazy wiedzy. Po drugie, do odpowiedzi nie są potrzebne dane o zdrowiu pytającego: asystent korzysta z dokumentów, treści podstrony i zanonimizowanego kontekstu rozmowy. Okno czatu jest częścią serwisu, więc obowiązują je te same wymagania dostępności co resztę strony: obsługa z klawiatury i poprawna współpraca z czytnikiem ekranu. Kalendarz przepisów dla tej branży opisuje wpis o rynku medtech w Polsce.

Dla tego wdrożenia nie publikujemy wskaźników liczbowych. Zespół klienta śledzi w panelu liczbę sesji, skuteczność odpowiedzi, wydźwięk rozmów i momenty przejścia do formularza. Opis realizacji: asystent AI dla Tropokolagen.pl. Inne produkty cyfrowe dla sektora medycznego zbiera strona branżowa.

Wdrożenie 2: asystent AI w aplikacji Daily Effect

Daily Effect to aplikacja mobilna łącząca dietę, trening i społeczność. Wraz ze wzrostem liczby użytkowników rosła liczba powtarzalnych pytań: jak działa dana funkcja, jak zmienić plan subskrypcji, co zrobić przy błędzie. Zespół wsparcia coraz więcej czasu poświęcał na te same odpowiedzi. Potrzebna była pomoc dostępna o każdej porze, która nie wymaga powiększania zespołu wraz z każdym wzrostem liczby użytkowników.

Razem z zespołem Daily Effect osadziliśmy w aplikacji asystenta opartego na RAG. Użytkownik otwiera czat z menu i zadaje pytanie tak, jak napisałby do konsultanta, na przykład „Jak dodać własny posiłek do dziennika?” albo „Jak zmienić plan subskrypcji?”. Asystent nie udziela ogólnych porad treningowych z internetu. Jeśli aplikacja liczy kalorie własną metodą, wyjaśnia ją tak, jak opisują to materiały firmy.

Tutaj również wiedza ma trzy warstwy:

  • Baza wiedzy firmy. Poradniki PDF, regulaminy, opisy funkcji i materiały eksperckie o diecie i treningu.
  • Bieżące treści z systemu. Posty, ogłoszenia i samouczki publikowane w aplikacji. Asystent kieruje do aktualnych materiałów, a jego odpowiedzi są spójne z tym, co użytkownik widział w aplikacji.
  • Zanonimizowany kontekst użytkownika. Rodzaj subskrypcji, styl diety, typ treningów. Bez danych identyfikujących i bez danych wrażliwych.

Wyniki po ponad 6 miesiącach działania:

WskaźnikWynik
Sesje obsłużone bez udziału konsultantablisko 400
Wiadomości bez udziału konsultantablisko 2500
Skuteczność rozwiązania problemu72,7%
Rozmowy o neutralnym lub pozytywnym wydźwiękuponad 80%

Najczęściej wracały pytania o obsługę aplikacji, zmianę subskrypcji i kwestie techniczne. W panelu zespół widzi, które tematy dominują i gdzie asystent nie znajduje odpowiedzi. To sygnał, że trzeba uzupełnić bazę wiedzy albo poprawić samą funkcję.

Przykładowy scenariusz: użytkownik o 22:00 układa jadłospis na następny dzień i nie wie, jak dodać przekąskę między posiłkami. Pyta asystenta i dostaje instrukcję krok po kroku. Rozmowa trafia do raportu. Gdy takich pytań jest wiele, zespół wie, że opis funkcji w interfejsie wymaga poprawy albo samouczka.

Opis realizacji: asystent AI w aplikacji Daily Effect.

Kiedy RAG ma sens, a kiedy nie?

RAG sprawdza się, gdy firma ma dużo spisanej wiedzy (dokumentację, artykuły, FAQ, regulaminy) i chce ją udostępnić użytkownikom albo pracownikom w formie rozmowy. Sprawdza się także wtedy, gdy informacje często się zmieniają albo zależą od kontekstu, na przykład inne warunki obowiązują dla różnych produktów lub regionów.

Największym ryzykiem są dane. Asystent jest tak dobry jak dokumenty, z których korzysta. Jeżeli w bazie znajdą się dwie oferty, które sobie przeczą, obie sprzeczne informacje trafią do użytkowników. Uporządkowanie treści, wskazanie wersji obowiązującej i osoby odpowiedzialnej za aktualizacje to część wdrożenia, często najbardziej pracochłonna. Jak ta praca przekłada się na budżet, pokazuje wpis o tym, ile kosztuje chatbot AI.

RAG nie jest potrzebny, gdy pytań jest kilkanaście i rzadko się zmieniają: wtedy wystarcza dobrze napisana strona pomocy. Nie rozwiąże też sam zadań, które wymagają działania w systemie, takich jak zmiana zamówienia albo zwrot płatności. Do tego potrzebne są integracje, a wyszukiwanie w dokumentach jest tylko jednym z elementów.

Lista kontrolna przed decyzją:

  • Klienci albo użytkownicy wracają z tymi samymi pytaniami o produkt, zasady i funkcje.
  • Błędna odpowiedź ma realny koszt: reklamacje, utratę zaufania albo ryzyko prawne.
  • Odpowiedzi muszą być zgodne z dokumentacją, a nie tylko prawdopodobne.
  • Wiedza jest rozproszona (FAQ, pliki PDF, system zgłoszeń, CMS) i trudno ją znaleźć.
  • Treści i procesy zmieniają się często, a odpowiedzi trzeba aktualizować bez trenowania modelu.
  • Wiadomo, gdzie asystent ma działać (serwis, aplikacja, narzędzie wewnętrzne) i co ma zrobić po odpowiedzi: podać link, przekazać sprawę człowiekowi, zebrać kontakt.
  • Efekty będą mierzone: liczba zgłoszeń, konwersje, najczęstsze tematy.

Cztery lub więcej punktów spełnionych oznacza, że RAG jest właściwym kierunkiem.

Jak Squares projektuje i wdraża asystentów opartych na RAG

Zaczynamy od przeglądu wiedzy, którą firma już ma, i pytań, które wracają najczęściej. W usłudze Projektowanie produktów AI ustalamy, gdzie asystent ma działać, z jakich źródeł korzysta i co robi, gdy nie zna odpowiedzi. Gdy prototyp już istnieje, a trzeba doprowadzić go do stabilnego działania, właściwa jest Produkcjonizacja prototypu AI. Sposoby budowy pierwszej wersji zestawia wpis o tym, co wybrać: no-code, low-code czy kod od zera. Porozmawiajmy o projekcie.

Najczęstsze pytania

Co to jest RAG?

RAG (Retrieval-Augmented Generation) to sposób budowy asystenta AI, w którym model językowy przed odpowiedzią wyszukuje pasujące fragmenty w dokumentach firmy i odpowiada na ich podstawie. Sam model się nie zmienia. Gdy zmienia się oferta albo procedura, wystarczy zaktualizować dokument w bazie wiedzy. Odpowiedź może wskazać źródło, z którego pochodzi.

Czym RAG różni się od fine-tuningu?

W RAG model się nie zmienia: przed odpowiedzią dostaje fragmenty dokumentów firmy i odpowiada na ich podstawie. Fine-tuning polega na dodatkowym trenowaniu modelu. Dlatego w RAG zmianę oferty albo procedury wprowadza się przez aktualizację dokumentu w bazie wiedzy, bez trenowania czegokolwiek, a odpowiedź może wskazać źródło informacji.

Źródła

  1. Lewis i in., Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks (arXiv, 2020)

Zaktualizowano: