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.
W tej lekcji przechodzimy już do tworzenia logiki naszego avatara.
Wszystkie interakcje, które będziemy z nim podejmować, będą kierowane bezpośrednio do
tego scenariusza, który rozpoczniemy Webhookiem, który właśnie tworzę.
Podam tutaj jego nazwę i po zapisaniu zmian mogę zapisać także zmiany samego
scenariusza oraz upewnić się, że jest aktywny.
Następnie utworzymy sobie dwie zmienne do przechowywania kluczy do OpenAI oraz Pinecone.
Nazwa zmiennej jest tutaj dowolna,
natomiast w moim przypadku będzie to OpenAI_key
jeżeli chodzi o klucze, możesz je pobrać
bezpośrednio z ustawień Twojego konta, a następnie z zakładki API Keys.
Po zapisaniu zmian w celu zachowania porządku ustawię jeszcze tutaj nazwę tego
modułu, a następnie będzie nam potrzebna jeszcze jedna zmienna dla drugiego klucza.
Przechowywanie kluczy właśnie w taki
sposób jest niezwykle dobrą praktyką ze względu na to, że będziemy mogli do
nich sięgać łatwo na przestrzeni różnych modułów.
Jednocześnie w sytuacji, gdy dojdzie do
konieczności zmiany klucza, po prostu podmienimy go w jednym miejscu
i teraz jeszcze w ramach konfiguracji naszego scenariusza.
Konieczne będzie nawiązanie połączenia z Airtable poprzez wybranie dowolnej akcji, a
następnie utworzenie nowego połączenia bądź też wykorzystania istniejącego.
I tutaj można wykorzystać klucz API, bądź
też bardziej token Twojego konta, który możesz utworzyć w tym miejscu, następnie
nadać jego nazwę, zakres jego uprawnień oraz dostępu do bazy danych.
Po utworzeniu tokena on wyświetli Ci się
na chwilę, więc możesz go skopiować, a następnie tutaj nazwać swoje połączenie.
No i oczywiście wkleić swój token.
Połączenie zostało poprawnie nawiązane,
więc mogę teraz usunąć ten moduł, ponieważ i tak będziemy do tego jeszcze wracać.
Kolejną usługą, z którą musimy nawiązać połączenie jest OpenAI i w tym przypadku
również wybieramy opcję utworzenia nowego połączenia, a następnie wklejamy tutaj
klucz API dokładnie taki, który umieściliśmy w tym module.
Jeżeli zastanawiasz się teraz, dlaczego musieliśmy powtórzyć ten klucz, to chodzi
wyłącznie o to, że będziemy korzystać z OpenAI również bezpośrednio.
Ze względu na to, że moduł OpenAI
wbudowany w Make jest niestety dość ograniczony i będziemy potrzebowali
skorzystać z dodatkowych opcji, które oferuje OpenAI
jeszcze zanim zakończymy, musimy wrócić na chwilę do Pinecone, gdzie dokładnie w tym
miejscu możesz przejść do indeksów, a następnie utworzyć nowy indeks.
W moim przypadku nie będzie to już
możliwe, ponieważ korzystam z bezpłatnego konta.
Natomiast w Twoim przypadku możesz podać
tutaj nazwę, a następnie ustawić liczbę wymiarów na 1536.
Jest to liczba, która pochodzi bezpośrednio z dokumentacji OpenAI i w
związku z tym dokładnie taka wartość nas tutaj interesuje.
No i ostatnią opcją jest ustawienie tzw.
Pod Type, który w naszym przypadku to oczywiście P2.
Po utworzeniu indeksu jedyne co musisz zrobić to skopiować ten adres, ponieważ
będzie nam potrzebny razem z naszym kluczem API.
Poza tym pomimo tego, że oczywiście możesz
tu sobie zaglądać w praktyce i nie będzie takiej potrzeby ze względu na to, że
z Pinecone będziemy komunikować się wyłącznie poprzez API.
No i teraz jeżeli chodzi o nasz scenariusz wszystko jest tutaj gotowe.
Ja tylko usunę ten moduł i zapiszę zmiany.
Za każdym razem, gdy będziemy komunikować
się z naszym avatarem, będziemy wykorzystywać właśnie ten scenariusz oraz
przesyłane do niego dane i na ich podstawie będziemy określać kolejne
ścieżki naszego scenariusza oraz to, jakie akcje mają zostać wykonane.
W naszym przypadku będzie to zapisywanie,
zapamiętywanie, usuwanie danych czy też zapominanie oraz odpowiadanie na nasze
pytania na podstawie kontekstu zgromadzonego z pomocą Pinecone oraz Airtable.
Jeżeli chodzi o tę lekcję na ten moment to by było na tyle.
W związku z tym dziękuję Ci za uwagę.
Słyszymy się za chwilę.