Zmagasz się z AI lub rozwojem full-stack? Nasi eksperci są tutaj, aby Cię poprowadzić: dostosowane porady, integracja techniczna i nie tylko. Skontaktuj się z nami pod adresem [email protected].

Jak zbudować chatbota przy użyciu modeli generatywnych, takich jak GPT-4, ChatGPT, LLaMA 3 i Mixtral 8x7b?

Zapotrzebowanie na konwersacyjną sztuczną inteligencję stale rośnie, podobnie jak zapotrzebowanie na zaawansowane technologie chatbotów, które mogą zapewnić spersonalizowane, podobne do ludzkich interakcje. W ostatnich latach modele generatywne, takie jak GPT-4 i ChatGPT, oraz alternatywy open-source, takie jak LLaMA 3 i Mixtral 8x7b, pojawiły się jako obiecujące narzędzia do tworzenia chatbotów, które mogą rozumieć i reagować na język naturalny z niespotykaną dotąd dokładnością i wyrafinowaniem.

W tym artykule zbadamy podstawy modeli generatywnych i sposób, w jaki można je wykorzystać do tworzenia chatbotów.

Chatbot i konwersacyjna sztuczna inteligencja

LLaMA 3 i Mixtral 8x7b: open-source'owe alternatywy dla ChatGPT i GPT-4

ChatGPT i GPT-4 to dwa zaawansowane modele językowe opracowane przez OpenAI. ChatGPT, skrót od "Chat Generative Pre-training Transformer", to duży model językowy, który może generować tekst podobny do ludzkiego na podstawie danych treningowych. Został wprowadzony w listopadzie 2022 roku i szybko zyskał szerokie zainteresowanie ze względu na swoją zdolność do interakcji z użytkownikami w sposób konwersacyjny, odpowiadając na pytania, dostarczając informacji i angażując się w różne zadania.

GPT-4, czyli "Generative Pre-training Transformer 4", jest następcą GPT-3 i został ogłoszony przez OpenAI w marcu 2023 roku. Stanowi znaczący skok w dziedzinie modeli językowych AI, oferując jeszcze większy rozmiar i ulepszone możliwości w porównaniu do swoich poprzedników. GPT-4 jest w stanie generować bardzo szczegółowy i dokładny tekst w szerokim zakresie dziedzin, w tym przetwarzania języka naturalnego, programowania komputerowego i kreatywnego pisania.

Zarówno ChatGPT, jak i GPT-4 są szkolone na ogromnych ilościach danych przy użyciu nienadzorowanego uczenia się, co pozwala im rozumieć i generować ludzki język z niezwykłą dokładnością i płynnością. Modele te otworzyły nowe możliwości dla rozwoju konwersacyjnej sztucznej inteligencji, generowania treści i różnych innych zastosowań w branżach takich jak obsługa klienta, edukacja i rozrywka.

Wkrótce potem LLaMA 3 została wydana przez Meta, a Mixtral 8x7b został wydany przez francuski startup AI Mistral AI. Te modele generatywne są open-source'owymi alternatywami dla ChatGPT i GPT-4. Są one bardzo dobrymi kandydatami, jeśli chcesz zbudować zaawansowanego chatbota. LLaMA 3 i Mixtral można wdrożyć na własnych serwerach lub łatwo korzystać z nich za pośrednictwem NLP Cloud API.

Wszystkie te generatywne modele AI LLM wymagają jednak nieco praktyki. Po pierwsze dlatego, że modele te muszą otrzymywać odpowiednie podpowiedzi, aby zachowywać się zgodnie z oczekiwaniami. A także dlatego, że są one "bezstanowe", co oznacza, że nie przechowują historii rozmów użytkownika.

Korzystanie z odpowiedniej zachęty dla chatbota

Jeśli naiwnie wyślesz zapytania do tych modeli bez odrobiny kontekstu i formatowania, będziesz rozczarowany odpowiedziami. Wynika to z faktu, że modele te są bardzo wszechstronne. Mogą nie tylko pomóc w tworzeniu chatbotów, ale także w wielu innych zastosowaniach, takich jak odpowiadanie na pytania, podsumowywanie, parafrazowanie, klasyfikacja, ekstrakcja encji, generowanie opisów produktów i wiele innych. Pierwszą rzeczą, którą musisz zrobić, to powiedzieć modelowi, jaki "tryb" powinien przyjąć.

Oto przykład żądania, które można wysłać:

This is a discussion between a [human] and an [ai]. 
The [ai] is very nice and empathetic.

[human]: I broke up with my girlfriend...
[robot]:
            

W tym przykładzie można zauważyć 2 rzeczy.

Najpierw dodaliśmy proste formatowanie, aby model zrozumiał, że jest w trybie konwersacji: ([human], [ai], ...).

Po drugie, dodaliśmy pewien kontekst na górze, aby pomóc modelowi zrozumieć, co robi i jakiego tonu powinien używać.:

Aby uprościć ten proces, zarówno OpenAI, jak i NLP Cloud proponują dedykowane punkty końcowe API chatbota, które zajmują się tym formatowaniem.

Czasami kontekst nie jest wystarczający. Na przykład wyobraź sobie, że chcesz stworzyć chatbota o bardzo specyficznym tonie i charakterze. W takim przypadku będziesz chciał dopracować swój własny model generatywny. Własnego chatbota opartego na generatywnej sztucznej inteligencji można dostroić w OpenAI i NLP Cloud.

Innym scenariuszem jest sytuacja, w której chcesz stworzyć chatbota odpowiadającego na pytania dotyczące konkretnej wiedzy domenowej. W takim przypadku dostrajanie nie jest rozwiązaniem. Zamiast tego będziesz chciał stworzyć własny system generowania rozszerzonego wyszukiwania (RAG) oparty na wyszukiwaniu semantycznym. Zobacz nasz dedykowany artykuł na temat RAG i wyszukiwania semantycznego tutaj.

Prowadzenie historii konwersacji dla chatbota

Modele generatywnej sztucznej inteligencji są modelami "bezstanowymi", co oznacza, że każde żądanie użytkownika jest nowe, a sztuczna inteligencja nie będzie pamiętać niczego o poprzednich żądaniach użytkownika.

Dla wielu przypadków użycia nie stanowi to problemu (podsumowanie, klasyfikacja, parafraza...), ale jeśli chodzi o chatboty, jest to zdecydowanie problem, ponieważ chcemy, aby nasz chatbot zapamiętywał historię dyskusji w celu udzielania bardziej trafnych odpowiedzi.

Na przykład, jeśli powiesz sztucznej inteligencji, że jesteś programistą, chcesz, aby zachowała to w pamięci, ponieważ będzie to miało wpływ na następujące odpowiedzi.

Najlepszym sposobem na osiągnięcie tego jest przechowywanie każdej odpowiedzi AI w lokalnej bazie danych. Na przykład baza danych PostgreSQL obsługuje przechowywanie długich tekstów z bardzo dobrą wydajnością.

Następnie, za każdym razem, gdy wysyłasz nowe żądanie do chatbota, powinieneś wykonać następujące czynności:

Jest to zarówno wszechstronny, jak i solidny system, który wymaga niewielkiego wysiłku i doskonale wykorzystuje moc modeli generatywnych, takich jak GPT-4, ChatGPT, LLaMA 3 i Mixtral.

Ważne jest, aby pamiętać, że każdy model ma swój własny rozmiar kontekstu, który określa, ile tekstu można przekazać do historii. Na przykład obecny rozmiar kontekstu dla GPT-4 wynosi 8 tys. tokenów (tj. mniej więcej 7 tys. słów), a obecny rozmiar kontekstu Mixtral 8x7b wynosi 16 tys. tokenów w NLP Cloud (tj. mniej więcej 14 tys. słów). Jeśli więc historia konwersacji przekracza tę wartość, warto albo przyciąć najstarszą część historii, albo zachować tylko najważniejsze części dyskusji.

Ograniczenia treści dla chatbota

OpenAI wdrożyła ograniczenia treści w ChatGPT i GPT-4, aby zapewnić, że tekst generowany przez sztuczną inteligencję jest zgodny z ich wytycznymi. Monitorując i regulując treści generowane przez chatboty, OpenAI dąży do stworzenia bardziej pozytywnego i niezawodnego doświadczenia użytkownika. Obejmuje to blokowanie żądań informacji na określone tematy lub dostarczanie tylko wstępnie zweryfikowanych, godnych zaufania informacji.

Niektórzy wolą jednak korzystać z modeli generatywnych, które nie mają takich ograniczeń i uważają, że jakość odpowiedzi jest bardziej zróżnicowana i dokładna. LLaMA 3 i Mixtral 8x7b nie mają takich ograniczeń. Podczas korzystania z takich modeli sztucznej inteligencji obowiązkiem dewelopera jest odpowiedzialne korzystanie ze sztucznej inteligencji. W razie potrzeby ograniczenia można nadal wdrażać, tworząc odpowiedni monit dla chatbota, dostosowując własnego chatbota lub filtrując żądania użytkowników, zanim dotrą do modelu AI.

Wnioski

Modele generatywnej sztucznej inteligencji, takie jak GPT-4, ChatGPT, LLaMA 3 i Mixtral 8x7b, naprawdę przeniosły chatboty i konwersacyjną sztuczną inteligencję na wyższy poziom. Te zaawansowane modele bardzo dobrze rozumieją kontekst użytkownika i dostosowują się do niego. W większości przypadków ustawienie odpowiedniego kontekstu jest wystarczające, ale w zaawansowanych przypadkach najlepszym rozwiązaniem jest trenowanie / dostrajanie własnego modelu sztucznej inteligencji (co jest dość łatwe, ponieważ modele te wymagają bardzo małych zbiorów danych).

W NLP Cloud można łatwo wypróbować między innymi modele LLaMA 3 i Mixtral 8x7b. Możesz je również dostroić i wdrożyć własne modele generatywnej sztucznej inteligencji za pomocą jednego kliknięcia. Jeśli jeszcze tego nie zrobiłeś, wypróbuj NLP Cloud za darmo.

Jeśli masz pytania dotyczące tego, jak wdrożyć własnego chatbota, skontaktuj się z nami!

François
Full-stack engineer w NLP Cloud