Zamień ten tekst na URL Webhooka

Biznes i Automatyzacje

Automatyzacje z make.com oraz GPT-3

Wydanie nr
6
opublikowane
2023-01-24
Adam Gospodarczyk
Adam Gospodarczyk
overment
No items found.

Scenariusze automatyzacji tworzone w make.com, zapier czy podobnych narzędziach, potrafią realizować ściśle określone zadania. Przepływające przez nie informacje są przesyłane pomiędzy modułami, zmieniane, usuwane, dodawane i zwracane. Wszystko odbywa się według zdefiniowanego z góry scenariusza, który mógł zmieniać swoje zachowanie wyłącznie na podstawie wprowadzonych danych, bądź co najwyżej, na podstawie losowo generowanych liczb. Teraz wykorzystanie 0GPT-3 zmienia zasady gry. To właśnie o nich opowiem Ci w tym wydaniu.


Na tym etapie musisz wiedzieć czym jest GPT-3 oraz znać podstawy jego wykorzystania. Konieczna będzie też znajomość make.com.

Zanim zaczniemy musisz pamiętać, że korzystanie z GPT-3 jest płatne a rachunek zależy od wykorzystania w danym okresie rozliczeniowym. Niezależnie od tego czy korzystasz z make.com czy programujesz, upewnij się że w ustawieniach konta openAI masz ustawione limity. Podchodź też ostrożnie do scenariuszy, makr i skryptów, które mogą wykonywać się wiele razy.

Szybki start z GPT-3

Jeżeli jeszcze nie znasz GPT-3, wejdź tutaj, zaloguj się i zadaj dowolne pytanie. Następnie przejdź tutaj i przeczytaj opisane tam przykłady, wykorzystując je w Playground.

Oczywiście nie wystarczy Ci to aby wykorzystać potencjał Sztucznej Inteligencji (albo bardziej — jej wczesnej formy). Jednocześnie będzie to wystarczające, aby zacząć wykorzystywać GPT-3 w swoich automatyzacjach, tym bardziej, że w make.com znajdziesz już natywny moduł.

Automatyzacja i GPT-3


Na powyższym obrazku oczywiście zmieniłem nazwę modułu na "Think" (myśl), jednak można powiedzieć, że dokładnie tym się zajmuje. Na podstawie samodzielnie zebranych informacji i mojego zapytania, podejmuje decyzje, co zrobić dalej. Pytanie jednak, czym to się różni od prostego modułu zmieniającego zachowanie scenariusza na podstawie przekazanych wartości. Przykładowo poniżej mamy wybieranie dni tygodnia.

Różnica jest oczywista. W drugim przypadku przekazane informacje to data zapisana w odpowiednim formacie. Jeżeli przekażemy tam cokolwiek innego, co najwyżej otrzymamy wynik "else?", który powiązany jest ze wszystkim, co nie pasuje do wcześniej przewidzianego schematu. Taki scenariusz jest mało elastyczny i wymusza od nas np. ręczne ustalanie daty przy określaniu np. terminu spotkania.
Natomiast w przypadku GPT-3, moglibyśmy opisać zadanie konieczne do zrealizowania oraz podać kilka przykładów. Na tej podstawie, niezależnie od wprowadzonych danych, GPT-3 będzie w stanie określić o jaką datę może nam chodzić.

Nie musiałem precyzyjnie określać dnia i godziny aby GPT-3 wiedział kiedy chcę iść na łyżwy. W tym przypadku godzinę ustawił na 9:00, ponieważ zasugerował się pierwszym przykładem. Dla mnie jest to w porządku.

Praktyczne zastosowania

Jeżeli zastanawiasz się jak można wykorzystać to w praktyce, spójrz na scenariusz dodający zadania do mojego Notion:

GPT-3 na podstawie mojego jednego zdania, kategoryzuje zadanie, określa jego termin, nadaje krótki tytuł a nawet ustala priorytet. Zamiast "wyklikiwać" ustawienia w aplikacji do zadań, po prostu dyktuję tekst.

Ciekawostka: Dobre aplikacje do zarządzania zadaniami (np. Todoist) posiadają funkcję rozpoznawania daty czy priorytetu. Nie musisz więc wykorzystywać GPT-3 jeżeli nie masz takiego potrzeby. Sam zauważyłem, że dyktowanie zadania lub szybkie wpisanie go w polu tekstowym, jest znacznie wygodniejsze. Formularz który widzisz poniżej łatwo dostępny jest na komputerze (w ustawieniach Todoist przypiszesz "globalny skrót klawiszowy"), ale na telefonie nie jest to już tak łatwe.

Błędy i Prompt Design

Mam nadzieję, że na tym etapie rozumiesz ideę wykorzystania GPT-3 w automatyzacjach. Zanim podzielę się z Tobą kolejnymi przykładami, musisz pamiętać o tym, że GPT-3 nie potrafi samodzielnie myśleć. Jakość jego odpowiedzi w dużym stopniu zależy od przekazanej instrukcji i zestawu danych. Spójrz:

Jeżeli spojrzysz w kalendarz, to zobaczysz, że zwrócony wynik nie jest poprawny i powinien wskazywać na 02-02-2023. To z tego powodu powiedziałem wcześniej, że samo przeczytanie przykładów z dokumentacji nie wystarczy do tego aby sprawnie wykorzystywać GPT-3 w automatyzacji. Po prostu musisz mieć to na uwadze i czasem będziesz tworzyć coraz lepsze zapytania. Jeżeli chcesz dowiedzieć się więcej na ten temat, poszukaj informacji o tzw. "prompt design". Niebawem podzielę się także swoją wiedzą na ten temat na Ahoy! i nie tylko.

W niektórych przykładach, takich jak chociażby wspomniana data, GPT-3 łatwo może się zgubić. Jedną z dobrze działających technik, jest zrealizowanie zadania "krok po kroku" i podanie większej liczby przykładów. Zmodyfikowany prompt wygląda w ten sposób:

I teraz mogę wykorzystać go w dowolnym scenariuszu, który wymaga ode mnie odnalezienia daty. Wystarczy, że ze zwróconego wyniku "utnę" ostatni fragment. Oczywiście powyższy prompt to wyłącznie przykład i prawdopodobnie nie jest doskonały. Po prostu zadziałał najlepiej dla większości moich przypadków.

Limity, ograniczenia, koszty i możliwości

Istnieją także bardziej zaawansowane techniki, umożliwiające realizowanie przez GPT-3 specyficznych dla Ciebie zadań. Jedną z nich jest fine-tuning i na ten moment, tylko o niej wspomnę, aby wyjaśnić Ci, że długość Twojego zapytania jest bardzo istotna. Różni się w zależności od wykorzystywanych modeli (np. text-davinci-003) łączna długość zapytania i wygenerowanej odpowiedzi i liczona jest w tzw. tokenach (token ~ znaki). Liczba tokenów bezpośrednio wpływa na koszty jakie ponosisz za korzystanie z GPT-3. Ostatecznie na finalny koszt ma wpływ jeszcze szereg innych czynników.

W moim przypadku w ostatnich miesiącach opłaty za GPT-3 wyniosły kilka dolarów. Jednak w ostatnim miesiącu bardzo duża liczba eksperymentów doprowadziła mnie do kosztów na poziomie $60. Z tego powodu raz jeszcze podkreślam, że ustawienie limitów na Twoim koncie jest szczególnie istotne. Dodatkowo jednym z bardzo skutecznych sposobów obniżania kosztów, jest wykorzystywanie innych modeli niż text-davinci-003. Chociaż ten jest zdecydowanie najbardziej zaawansowany, jest też najwolniejszy i najdroższy. Do prostych tłumaczeń czy kategoryzacji mogą sprawdzić się modele curie czy babbage.

Musisz brać też pod uwagę fakt, że GPT-3 może się mylić i generować rezultaty niezgodne z Twoimi oczekiwaniami. Na szczęście większość z nich jesteś w stanie zaadresować odpowiednio napisanym zapytaniem. Dlatego tak ważne jest to, aby poszerzać swoją wiedzę na temat "prompt designu" oraz różnych ograniczeń i możliwości GPT-3.

Kolejnym istotnym wątkiem związanym z GPT-3, jest generowanie tekstów. Musisz wiedzieć, że istnieją mechanizmy umożliwiające wykrycie tego, czy tekst został napisany przez Ciebie czy nie. Oznacza to, że wykorzystywanie ich na potrzeby SEO, nie jest dobrym pomysłem. Podobnie też nie jest dobrym pomysłem generowanie treści, które bez jakiejkolwiek weryfikacji trafiają do użytkownika końcowego. GPT-3 może Ci jednak znacząco ułatwić napisanie artykułów, odpisywanie na maile czy pisanie postów w Social Media. W takiej sytuacji mówimy jednak o wsparciu a nie automatycznym generowaniu.

Ostatnim ograniczeniem jakie przychodzi mi w tej chwili do głowy, jest ogólna stabilność GPT-3. W porównaniu do ChatGPT, dostępność API GPT-3 jest znacznie lepsza ale nadal zdarzają się błędy związane z przekroczeniem limitów lub błędami serwera. Nieustannie moje scenariusze przestają działać ze względu na zbytnie obciążenie serwerów OpenAI. Sytuacja powinna się jednak niebawem ustabilizować. Dodatkowo jedną z możliwych opcji jest wykorzystanie GPT-3 na Azure. Sam jednak, nie miałem okazji ich przetestować ale jeżeli tworzyłbym produkt oparty o API OpenAI, prawdopodobnie skorzystałbym właśnie z tej opcji.

Podsumowując, korzystając z GPT-3 w automatyzacjach, musisz zachować ostrożność oraz projektować scenariusze w taki sposób, aby ewentualne błędy nie miały znaczącego wpływu na podejmowane działania. Przykładowo nie wykorzystałbym GPT-3 do zarządzania wysyłką mojego newslettera, jednak z powodzeniem pomaga mi przy pojedynczych zadaniach związanych z jego opracowaniem (np. transformacja napisanego już tekstu).

Nowy wymiar automatyzacji

Jak zwykle w przypadku automatyzacji, najważniejsze są pomysły i kreatywne podejście. Sam fakt pojawienia się GPT-3 w make.com nie zmienia zbyt wiele. Dlatego przygotowałem serię pomysłów, które możesz wykorzystać w projektowaniu scenariuszy połączonych z AI.

Usprawnienie dyktowania
Jeżeli zdarza Ci się robić notatki głosowe, zamiast nagrywać audio, skorzystaj z funkcji dyktowania. Możesz ją aktywować na telefonie i komputerze. Następnie podyktowany tekst prześlij do scenariusza, który zapisze go w Twoich notatkach ale wcześniej poprawi ewentualne błędy. Sam korzystam z takiego promptu: "Poniższy tekst został podyktowany i zawiera błędy. Popraw błędy i gramatykę". w zupełności wystarcza do wprowadzania prostych poprawek.

Do przygotowania takiej automatyzacji możesz wykorzystać aplikację Shortcuts i dostępną w niej akcję "Dictate text":

Dzięki niej utworzysz nową notatkę, którą możesz przesłać bezpośrednio do make.com a tam z pomocą GPT-3 poprawić błędy w tłumaczeniu, wykorzystując wspomniany prompt. Poprawioną wersję możemy zapisać np. w Notion. Istnieje też możliwość nawiązania połączenia z GPT-3 bezpośrednio z poziomu aplikacji Shortcuts. Gotowe makra znajdziesz m.in. w e-booku "Codzienność na Autopilocie" oraz podstawowe makro w tym filmie.

Automatyczne tłumaczenia
Stworzenie takiej automatyzacji nie jest proste ale udało mi się to osiągnąć. Poza tym jest dość kosztowna w realizacji, ale jej rezultaty są niesamowicie dobre. Konkretnie jeżeli chcesz przetłumaczyć jakiś tekst na angielski, możesz podzielić go na fragmenty. GPT-3 może go dla Ciebie przetłumaczyć i w przeciwieństwie np. do Deepl, zachować formatowanie. Sam piszę wszystkie teksty z pomocą składni Markdown (w edytorze iA Writer) i dzięki temu jeden skrót klawiszowy przesyła cały tekst do scenariusza, który go tłumaczy. Zamiast tłumaczenia możesz zastosować poprawki gramatyki czy zwiększenie czytelności.

Sam korzystam z Shortcuts, z pomocą którego poprawiam pisownię zarówno w języku polskim i angielskim. Nie korzystam z niego zawsze, ale gdy mam jakieś wątpliwości do napisanego zdania, po prostu je zaznaczam i uruchamiam Shortcut skrótem klawiszowym. Jako ciekawostkę dodam, że Shortcut uruchamiam ... z pomocą makra Keyboard Maestro, które znacznie lepiej obsługuje skróty klawiszowe niż bezpośrednio aplikacja Shortcuts.

Kategoryzowanie treści
Jak zapewne wiesz, pracuję na bardzo dużych zestawach danych. W praktyce tylko część z nich jest uporządkowana a reszta to jeden, wielki chaos. Czasem stosowałem proste reguły (np. w aplikacji Hazel) do sortowania różnych dokumentów i plików. Teraz możesz wykorzystać AI do mądrzejszego porządkowania ich na podstawie nazwy, rozszerzenia czy nawet fragmentów zawartości. Pamiętaj tylko o tym aby nie przekazywać do AI wrażliwych danych.
Warto w tym miejscu dodać, że kategoryzowanie nie musi odbywać się wyłącznie na podstawie tego, "co uważa" GPT-3. Podobnie jak w przykładzie dotyczącym dat, możemy zbudować prompt opisujący sposób przypisania treści do konkretnych kategorii. Podanie kilku przykładów znacząco zwiększa skuteczność generowanej odpowiedzi.
Nieszablonowe komunikaty
Niektóre scenariusze muszą się z Tobą jakoś komunikować, np. poprzez powiadomienia czy maile. Do tej pory ich treści były statyczne i co najwyżej zawierały pojedyncze, dynamiczne pola. Możesz wykorzystać GPT-3 do parafrazowania tekstu i tym samym sprawić aby to samo powiadomienie, już nigdy nie wyglądało tak samo (lub przynajmniej nie zawsze).

W tym przypadku możesz wykorzystać także prompt, który wygeneruje treść zawierającą tzw. "placeholdery", które następnie make.com może zamienić na linki lub inne wartości (zrobisz to z pomocą wbudowanej funkcji replace()).


Oczywiście musisz dostosować prompt do swoich potrzeb.

Zapomnij o "pustej kartce"
Automatyzacja dodająca zadania nie musi kończyć się na samym wpisaniu zadania, ale także na wygenerowaniu opisu, który pomoże Ci w jego realizacji. Nawet wypisanie od punktów tematów powiązanych ze słowami kluczowymi zawartymi w zadaniu, może być pomocne i świetnie sprawdza się chociażby na potrzeby pisania maili (make.com może tworzyć Drafty w Gmail). Tak mała zmiana pozwoli Ci uniknąć efektu "pustej kartki" i ułatwić Ci ukończenie zadania.

Podłącz GPT-3 do Internetu
GPT-3 nie jest podłączone do Internetu. Co więcej posiada dane wyłącznie do 2021 roku. Z pomocą make.com możesz to jednak zmienić, posługując się nawet pojedynczymi informacjami. Dla mnie było to pomocne do kategoryzowania zapisywanych przeze mnie linków. Z pomocą modułu HTTP pobierałem ich zawartość a następnie dzięki "Match Pattern" odnajdywałem tytuł oraz opis strony:

Aktualnie korzystam ze znacznie skuteczniejszego sposobu, opartego o napisaną przeze mnie aplikację. Całkiem dobrze działającą alternatywą byłoby także wykorzystanie np. Feedly. Dodając do niego link, Feedly zwraca nam jego tytuł a nawet okładkę:

Przy okazji: Feedly jest genialnym narzędziem do pozostawania na bieżąco z wybranymi przez Ciebie tematami. Sam posiadam plan Pro+, dzięki któremu Feedly zajmuje się także porządkowaniem moich newsletterów.

Podsumowanie

GPT-3 samo w sobie daje już niezwykłe możliwości. W połączeniu z automatyzacją, zyskujemy jeszcze więcej. Jeżeli znasz make.com oraz nauczysz się pisać nawet podstawowe zapytania do GPT-3, możesz niemal natychmiast stworzyć pierwsze scenariusze wykorzystujące "AI". I choć "AI" nadal piszę w cudzysłowie, ponieważ GPT-3 nie potrafi samodzielnie myśleć, to i tak trudno dotrzeć do granicy tego, co jest możliwe dzięki przełączaniu swojej codzienności na całkiem "inteligentny autopilot".

Ciąg dalszy nastąpi...