Klient przyszedł do nas z następującym problemem:
Oczywiście z rozwiązaniem przyszła technologia AI.
Udało nam się przekonwertować instrukcje w taki sposób, aby użytkownik zadający pytanie o jakiś aspekt dostał krótka odpowiedź wraz z podanym źródłem. Jako interfejs skorzystaliśmy z wiadomości głosowych nagrywanych w telegramie.
Aby zrealizować powyższy scenariusz musieliśmy przejść przez kilka kroków:
Czym jest baza wektorowa? Pozwala nam wyszukiwać słowa, zdania, które są do siebie podobne. Jak się to odbywa? Mierzymy odległości między elementami im coś jest bliżej siebie tym bardziej podobne jest.
Dlaczego wielopoziomowe wyszukiwanie? Ponieważ nie możemy wrzucić całości do GPT, bo:
a) ma ograniczenia długości treści
b) szybko gubi kontekst. Gpt szybko się rozprasza gdy wrzucimy zbyt dużo treści.
Dlaczego nie możemy od razu wyszukiwać po contencie? Bo będzie to drogie i nie efektywne. Należy stworzyć kilka poziomów przeszukiwania. Ostatecznie, gdy mamy wytypowane kilka paragrafów, możemy je wrzucić do Gpt i na ich podstawie wytypuje najlepszy. Następnie na podstawie jednego paragrafu ułoży odpowiedź.
Mogąc odczytać pytanie użytkownika i mając przygotowane dane oraz system wyszukiwania możemy odpytać nasz system. Odpowiedz wraz z podanym źródłem przesyłamy w odpowiedzi na telegrama.
Projekty oparte o NLP i large language models mają tą cechę, że są nie deterministyczne. Gpt zapytany 5 razy o to samo udzieli innej odpowiedzi, podobnej, ale innej. Rzadko kiedy jest możliwe osiągnięcie 100% skuteczności rozwiązania.
Dlatego projekty takie nie powinny być używane w krytycznych miejscach biznesu. Jednak jak zwiększać skuteczność takich rozwiązań?
Należy zacząć od badania skuteczności. Przykładowo osoba dobrze zaznajomiona z instrukcją musi przygotować 50-100 pytań. Następnie należy odpytać program i sprawdzić w ilu przypadkach odpowiedział dobrze. Mając tak przygotowane możliwości badań skuteczności możemy przejść do kolejnego kroku.
Wspominaliśmy wcześniej, że:
Te czynności możemy zrobić automatycznie i to robimy na początku. Jednak, aby zwiększać efektywność rozwiązania dobrze, aby osoba zaznajomiona z instrukcja nadzorowała manualnie procesy dzielenia paragrafów oraz opisów do tytułów. Im lepiej się to zrobi tym wyszukiwanie będzie lepsze. Po każdej takiej modyfikacji należy ponownie przeprowadzić testy i sprawdzić skuteczność. Tak więc cały proces jest również iteracyjno-eksperymentalny, tak jak to ma miejsce w klasycznych metodykach machine learningu.
Kolejnym zabezpieczeniem jest podanie źródła na podstawie którego, program stworzył odpowiedź. Warto, więc aby użytkownik przynajmniej przez jakiś czas sprawdzał odpowiedzi porównując ze źródłem. Ograniczy to potencjalne pomyłki.
Opisaliśmy możliwości na podstawie jednej instrukcji. Jednak technologie tą można użyć przy tworzeniu rozległych baz wiedzy. Przykładowo można stworzyć działy: instrukcje, klienci, projekty, kampanie marketingowe i wszystko przeszukiwać językiem naturalnym.
Skontaktuj się i zacznij podejmować skuteczniejsze decyzje na podstawie analizy danych