Połącz możliwości GPT-3 i automatyzacji
2 godz. 3 min · OpenAI · Biznes i Automatyzacje
Adam GospodarczykWykorzystanie API OpenAI nie różni się w żaden sposób od innych. Przesyłając dane i parametry na wskazany endpoint, otrzymujemy odpowiedź wygenerowaną przez model (np. text-da-vinci-003). Na tym jednak możliwości tego API się nie kończą. Przykładem z którego skorzystamy będzie zamiana danych na tzw. embedding (listę wektorów). Dane zapisane w takiej formie będą wstępem do "pamięci" bota i tym samym pierwszym punktem procesu nauki.
Prompt Engineering to rozwijająca się dziedzina skupiona na projektowaniu systemów zdolnych do skutecznego reagowania na dane wprowadzone przez użytkownika. W przypadku tworzonego przez nas bota, wykorzystamy pewne elementy tego procesu aby zmodyfikować jego domyślne zachowanie oraz przygotowywanie odpowiedzi na podstawie wyłącznie wcześniejszych danych. W przypadku braku wiedzy na jakiś temat, bot będzie nas o tym informował w sarkastyczny sposób lub nawet zwracał informacje w podanym przez nas formacie.
Wysyłając zapytanie do API OpenAI, jesteśmy ograniczeni liczbą znaków. Tworząc bota chcemy uwzględniać nie tylko to aby odpowiadał na nasze pytania ale także uwzględniał przekazany przez nas kontekst, składający się z informacji jakie zapamiętał bot. Problemem jest tutaj wybór, które dane ma brać pod uwagę. Rozwiązanie po które sięgamy w tym warsztacie polega na wykorzystaniu bazy wektorowej (Pinecone), która pełni rolę pamięci oraz bazy lokalnej w której przechowujemy faktyczne informacje. Ich połączenie pozwala na wybranie najbardziej istotnych danych i uwzględnienie ich w kontekście, który pozwoli GPT-3 przygotować odpowiedź.
Temat wykorzystania AI w codziennym życiu nie jest nowy ale nabrał szczególnego znaczenia po pojawieniu się ChatGPT. Wiele osób zaczęło wykorzystywać AI do rozwiązywania bieżących problemów i ułatwiania sobie różnych zadań. W tym warsztacie znajdziesz kilka inspiracji, które nakierują Cię na to jak możesz rozwijać swojego własnego, inteligentnego i uczącego się bota.
Warsztat został stworzony z myślą o osobach znających JavaScript i Node.js, chcących postawić pierwsze kroki w praktycznym wykorzystaniu GPT-3 oraz API OpenAI. Poza znajomością JavaScript, konieczne będzie minimum doświadczenia w pracy z API oraz bazami danych (SQL). Po ukończeniu tego warsztatu zyskasz ogólne zrozumienie możliwości GPT-3 oraz umiejętności umożliwiające wpływ na jego zachowanie i generowane odpowiedzi.
Pomimo tego, że zakończyliśmy już pracę
nad naszym avatarem, w rzeczywistości mogą one nigdy nie dobiegać końca.
W tej lekcji podsunę Ci kilka pomysłów
dotyczących tego, jak możesz rozbudować swój avatar.
Pierwszym pomysłem, który sam stosuję jest rozdzielanie źródeł danych.
Oczywiście możesz w tym celu wykorzystać nowe tabele bądź bazy danych.
Natomiast w moim przypadku działa zwykła
kolumna Select z pomocą której określam np.
notatki prywatne bądź publiczne.
To, jaki status uzyskuje dana notatka,
może być określane przeze mnie bądź bezpośrednio przez GPT3.
W ten sposób zadaję pytania M.A.N.D.A.Y, np.
dotyczące moich prywatnych notatek i wtedy otrzymuję odpowiedź wygenerowaną właśnie
na ich podstawie, a nie na podstawie wiedzy ogólnej, którą zdobyła, np.
czytając różne artykuły.
No i właśnie, jeżeli chodzi o czytanie
różnych artykułów, możliwe jest zbudowanie automatyzacji, która umożliwi odczytanie
treści strony internetowej i zapisanie jej w Airtable.
Nie pokazywałem tego sposobu ze względu na
to, że jest to dość zaawansowanej i wymaga wykorzystania programowania.
Kolejnym wątkiem, które możesz rozważyć
jest wykorzystanie dodatkowej kolumny o nazwie np.
Secret, wewnątrz niej możesz przechowywać jakieś
totalnie prywatne informacje, którymi nie chcesz dzielić się z OpenAI.
Wówczas na podstawie generowania
odpowiedzi może ona nadal zostać udzielana na podstawie kolumny Content, ale z
pomocą scenariusza Make dodasz do niej dopisek o nazwie Secret, wewnątrz którego
będzie zapisana jakaś informacja, której nie chcesz generować z pomocą OpenAI.
Sam korzystam z podobnego rozwiązania z tą różnicą, że u mnie jest to kolumna Source.
Wewnątrz niej znajduje się link prowadzący bezpośrednio do miejsca
z którym powiązana jest dana notatka.
Wówczas, gdy sięga po tą notatkę, automatyzacja dokleja
do odpowiedzi źródło, które jest z nim powiązane.
W ten sposób mogę zadać pytania np.
o jakiś artykuł i otrzymam dokładne
przekierowanie do miejsca, w którym mogę dowiedzieć się więcej.
Kolejną techniką, którą możesz zastosować projektując swój avatar jest wykorzystanie
techniki, którą pokazałem w ebooku Codzienność z GPT3.
Mianowicie w rozdziale Prywatne informacje omówiłem jak możemy wykorzystać zmienne w
taki sposób, aby GPT3 wykorzystywał je przy generowaniu odpowiedzi.
W związku z tym, że w tym przypadku
zmienna jest umieszczona wewnątrz znaku procenta, możemy wykorzystać w naszym
scenariuszu możliwość podmiany tej informacji.
Co ciekawe, ta technika sprawdzi się nie tylko w sytuacji, gdy chcemy ukryć jakieś
dane, ale także w sytuacji, gdy nie chcemy z jakiegoś powodu ich przekazywać.
Przykładem może być bardzo długi link, w przypadku którego nie chcemy, aby GPT3
przepisywał go za każdym razem zużywając tokeny, za które płacimy.
Zatem może być to jeden ze sposobów
optymalizacji naszego promptu, czyli czegoś, co tak jak już wiesz, odgrywa
niesamowicie ważną rolę w przypadku projektów takich jak Avatar AI.
W przeciwieństwie do pojedynczych pytań, które zwykle zadajemy GPT3,
w tej sytuacji korzystamy z nieco bardziej złożonej logiki i każda, nawet najmniejsza
oszczędność, na którą wpadniemy może okazać się bardzo pomocna.
Jeżeli chodzi o optymalizację promptów, wykorzystuje dwa sposoby.
Jeden z nich pokazałem Ci na przestrzeni
poprzednich lekcji i dotyczył wykorzystania Chat GPT który
zapytałem o możliwość naprawienia mojego
promptu, ale również mogłem poprosić o jego optymalizację.
Drugim sposobem jest przeglądanie artykułów takich jak ten, w których ktoś
inny zajmuje się tworzeniem własnych avatarów.
W związku z tym, że ich twórcy nierzadko
bardzo otwarcie dzielą się swoimi technikami, na podstawie ich wiedzy można
nauczyć się wielu ciekawych technik, które można zastosować tworząc własne avatary.
Idąc dalej, jedną z najbardziej zaawansowanych technik, z których
korzystam jest możliwość połączenia naszego avatara z innymi
automatyzacjami.
Jeżeli chodzi o techniki wywoływania tych
automatyzacji, one są już dostosowane do scenariuszy, na których pracujesz.
Z tego powodu nie pokazywałem jak ja to robię.
Ze względu na to, że stosuję tutaj dość
złożoną logikę polegającą na rozpoznawaniu intencji mojej wiadomości.
M.A.N.D.A.Y na podstawie tego tekstu wie dokładnie, że
chodzi mi o moją listę zadań i w związku z tym zna powiązane z tym scenariusz, a
następnie wykonuje go dla mnie i generuje odpowiedź.
Jest to bez wątpienia świetny sposób na
to, aby rozwinąć możliwości swojego avatara, o nie tylko zapamiętywanie i
odpowiadanie, ale także o podejmowanie działań.
Tym bardziej, że w ten sposób możemy połączyć się nie tylko z usługami
udostępniające mi API, ale także z urządzeniami, które dostępne są np.
w naszej lokalnej sieci WiFi.
Świetnym przykładem, które możemy tutaj
pokazać, jest wykorzystanie aplikacji Keyboard Maestro, która udostępnia tzw.
Remote Trigger.
Oznacza to, że to makro może zostać wykonane z pomocą scenariusza Make, a
następnie włączyć bądź wyłączyć światło w moim pokoju.
Jest to niezwykle przydatne ze względu na to, że wykonując makro w ten sposób,
możesz wykonać praktycznie dowolną akcję na swoim komputerze.
Pamiętaj jednak o tym, że jeżeli stosujesz jakieś makra, które mogą.
Szkoda na Twoim komputerze.
Jeżeli zostaną użyte w niewłaściwy sposób,
to warto dodać tutaj jakąś warstwę zabezpieczającą, np.
pewnego rodzaju klucz, który musi zostać przekazany wraz z zapytaniem, bądź innego
rodzaju sposób weryfikacji, który sprawi, że nawet jeżeli ktoś pozna ten adres i tak
nie będzie w stanie wykonać tej akcji na Twoim komputerze.
Jeżeli podoba Ci się sposób, który właśnie tutaj omawiam, zapraszam Cię do mojego
kursu Keyboard Maestro dostępnego również tutaj na Eduweb.pl.
Poza tym na sam koniec zapraszam Cię również do naszej społeczności
Ahoj! Wewnątrz której znajdziesz między innymi
moje wpisy na temat zastosowania GPT3 oraz automatyzacji w swojej codzienności.
Na przykład jeden z ostatnich wpisów dotyczy tematu Fine-tuningu, czyli
zaawansowanej techniki optymalizacji sposobu pracy z GPT3.
Teraz jednak nie pozostaje mi nic innego
jak bardzo podziękować Ci za uwagę i za wspólnie spędzony czas.
I mam nadzieję, że ten materiał okazał się
dla Ciebie wartościowy i niebawem zastosujesz przynajmniej niektóre
techniki, które omówiłem, a także stworzysz własne.
Jeżeli chcesz podzielić się nimi ze mną,
zawsze chętnie odpisuję na wiadomości, które możesz wysłać mi na ten adres.
Raz jeszcze dziękuję Ci i miłego dnia.