Model językowy nie zna Twojej firmy. Twojego regulaminu reklamacji i cennika dla hurtowni nie widział nigdy, a zapytany o nie i tak coś odpowie, gładko i wiarygodnie, nawet jeśli cennik wymyśli od zera.
RAG (retrieval-augmented generation) jest na to prostym sposobem. System najpierw wyszukuje w Twoich dokumentach kilka pasujących fragmentów, a dopiero potem daje je modelowi z poleceniem: odpowiedz na podstawie tego, co masz przed sobą. Wyszukiwanie działa po znaczeniu, więc pytanie „ile mam czasu na oddanie butów?” trafi do akapitu o „terminie odstąpienia od umowy”. Dokumenty zamienia się w tym celu na wektory, czyli listy liczb opisujące sens tekstu.
To ma sens, gdy tekstu jest dużo, ludzie ciągle o niego pytają, a odpowiedź trzeba złożyć z kilku miejsc: procedury obsługi klienta, umowy, dokumentacja techniczna, baza wiedzy, której nikt nie czyta. Nie ma sensu, gdy dokumentów jest kilkanaście, a ludzie szukają numeru albo paragrafu. Wtedy wyszukiwarka pełnotekstowa zrobi to taniej i bez ryzyka zmyślenia. Sporo ofert „AI do dokumentów” to zresztą właśnie wyszukiwarka z droższym interfejsem. RAG nie posprząta też bałaganu: jeśli w firmie krążą trzy cenniki, system grzecznie zacytuje ten, który znajdzie pierwszy.
Żeby wiedzieć, czy nie zmyśla, każda odpowiedź musi pokazywać źródło, czyli dokument i fragment. Wikipedia ma na zdania bez źródła szablon [potrzebny przypis] i odpowiedź modelu bez źródła zasługuje na to samo. Do tego zestaw pytań testowych z poprawnymi odpowiedziami, uruchamiany przy każdej zmianie promptu albo modelu. Bez niego zapewnienie „po poprawce odpowiada lepiej” pochodzi prosto z Instytutu Badań z Dupy.
Model na własnym serwerze daje spokój o dane, ale trzeba znać jego tempo. Na naszym serwerze, jeszcze bez karty graficznej, model z 7 miliardami parametrów uruchomiony przez Ollamę czytał około 12 tokenów na sekundę. Token to mniej więcej kawałek słowa, więc kilka stron kontekstu przed odpowiedzią oznaczało minuty czekania. Do czatu za wolno, do nocnego przetwarzania dokumentów wystarcza. Przy modelu w chmurze płaci się z kolei za każde pytanie, więc limity kosztów ustawiamy, zanim ktoś podepnie chatbota pod pętlę.
Najmniej mówi się zwykle o tym, kto poza pracownikami dostanie się do tych dokumentów. Bezpieczeństwo takiego systemu budujemy architekturą: model nie dostaje haseł ani możliwości samodzielnego działania w innych systemach, panel stoi za dwoma niezależnymi zabezpieczeniami, a polecenie „nie zdradzaj tajemnic” w prompcie jest tylko dodatkiem. Działającą usługę sprawdzamy z zewnątrz wyłącznie zapytaniami, które niczego nie zapisują. Próby rejestracji i formularze testujemy na kopii.