Jak połączyć automatyzację z GPT? Prosty sposób

Damian

05 października, 2023

Uważasz, że tworzenie automatyzacji jest trudne, a dołączanie do nich AI wymaga mistrzowskiego poziomu? Nic bardziej mylnego!

W ostatnich materiałach na temat automatyzacji skupialiśmy się na poznawaniu funkcji Make od strony praktycznej. W pierwszym wpisie tworzyliśmy automatyzację agregującą dla nas faktury otrzymane na e-mail w jednym miejscu, a w drugim dodawaliśmy do Notion funkcję planowania postów social media.

Dzisiaj z kolei przygotujemy automat, który korzystając z AI (po raz pierwszy!), będzie pobierał dla nas informacje z otrzymywanych wiadomości e-mail, a później będzie te informacje zapisywał w arkuszu kalkulacyjnym.

Zaczynamy?

Co trzeba wiedzieć?

Żeby zrozumieć treść dzisiejszego artykułu, powinieneś / powinnaś znać już podstawy Make.com (może pomóc przeczytanie dwóch pierwszych artykułów z serii) i mieć ogólne pojęcie o tym, jak działa ChatGPT od strony użytkownika.

Wszystkie pozostałe rzeczy będziemy wyjaśniać po drodze.

Co będziemy robić?

Przygotujemy dzisiaj automatyzację, która będzie czytać wybrane przez nas wiadomości e-mail i pobierać z nich interesujące nas informacje. Finalnie nasz proces będzie kończył się zapisaniem tych informacji w arkuszu kalkulacyjnym.

Aby oprzeć się na konkretnym przykładzie, zrobimy to na podstawie faktur.

Nasza automatyzacja, gdy otrzyma wiadomość e-mail fakturą, odczyta jej dane (z pomocą AI) i zapisze dla nas w arkuszu kalkulacyjnym (wykorzystamy Google Sheets).

Może Ci się wydawać, że taka automatyzacja będzie bardzo złożona. Tak naprawdę będzie ona jednak miała… 3 kroki!

Poznajemy moduł OpenAI

Zacznijmy od tego, że „mózgiem” naszej automatyzacji będzie moduł OpenAI, dostępny w Make.com. Znajdziesz go bez problemu w menu modułów, korzystając z wyszukiwarki.

Akcje dostępne w module OpenAI.

Możemy z jego pomocą wykonać następujące akcje:

  1. Create a Completion — czyli przeanalizowanie tekstu wejściowego i zwrócenie odpowiedzi;
  2. Create an Edit — z pomocą tej akcji możemy zmodyfikować już przetworzone zapytanie;
  3. Create a Moderation — ta opcja sprawdza, czy podane polecenie nie narusza zasad polityki treści OpenAI;
  4. Generate an Image — pozwala wygenerować grafikę, używając DALL-E;
  5. Create a Translation (Whisper) – daje możliwość stworzenia transkrypcji, a następnie jej tłumaczenia, prosto z nagrania dźwiękowego;
  6. Create a Transcription (Whisper) – pozwala stworzyć transkrypcję z pliku dźwiękowego;
  7. Make an API Call — ta akcja pozwoli nam zbudować samodzielnie zapytanie do OpenAI (raczej dla zaawansowanych);
  8. I w końcu: Transform a Text to a Structured Data — ta akcja pozwala na przekształcenie tekstu wejściowego, w jakiś format danych — na przykład na wyciągnięcie z niego określonych parametrów. To ona będzie nas interesować.

Każda z powyższych akcji może przyjmuje jakieś dane wejściowe i prompt. Następnie tworzone jest zapytanie, które wysyłane jest do OpenAI. OpenAI przetwarza to zapytanie i zwraca nam wynik, w efekcie czego otrzymujemy odpowiedź, którą możemy dalej przetwarzać w ramach automatyzacji.

Przypomnijmy, że chcemy dzisiaj przygotować automatyzację, która pobierze z wiadomości e-mail parametry faktury i zapisze je dla nas w arkuszu kalkulacyjnym.

Chciałbym Ci pokazać przede wszystkim, w jaki sposób połączyć automatyzację z AI, dlatego w tym wpisie przyjmiemy założenie, że odczytywać będziemy informacje bezpośrednio z treści wiadomości. Nie będziemy brać pod uwagę załączników.

Automatyzacja

Przyjmujemy e-mail

Aby przyjąć e-mail, wykorzystamy (podobnie jak w przypadku naszej pierwszej automatyzacji) moduł Webhooks, a dokładniej akcję Custom Mailhook.

Dzięki temu otrzymamy adres e-mail, na który będziemy przekazywali wiadomości e-mail, na których treści później będzie operować automatyzacja.

Znajdujemy moduł Webhook i wybieramy interesującą nas akcję.

Akcje dostępne w module “Webhook”

Takiemu adresowi e-mail możesz (w przeciwieństwie do mnie 😅) nadać jakąś nazwę — do czego zachęcam, bo łatwiej nam się będzie w nich później odnaleźć, gdy automatyzacji będziemy mieć więcej.

Tworzenie nowego “Mailhooka”

Po zapisaniu otrzymamy adres e-mail, na który będziemy mogli przekazywać wiadomości. Dobry pierwszy krok.

Gotowy “Mailhook”.

Dodajemy połączenie z OpenAI

W następnym kroku musimy dodać połączenie z OpenAI. Znajdujemy więc moduł OpenAI i wybieramy akcję “Transform a Text to a Structured Data”.

Podobnie, jak w przypadku innych modułów, będziemy potrzebowali nowego połączenia pomiędzy Make.com a naszym kontem OpenAI. Gdy spróbujemy go dodać, Make.com poprosi nas o tajemniczy „API Key”.

Ekran dodawania połączenia z OpenAI.

Skąd go wziąć? Wystarczy, że otworzysz stronę, do której link znajduje się pod tym polem (albo tutaj: https://beta.openai.com/account/api-keys). Pod tym adresem logujesz się na swoje konto OpenAI (lub zakładasz nowe, za darmo) i klikniesz „Create new secret key”.

Kluczowi musisz nadać nazwę (np. “Make”) i przejść dalej.

Generowanie klucza API w OpenAI – Krok 1.

W efekcie otrzymasz wartość, którą kopiujesz do Make.com.

Wygenerowany klucz API.

To wszystko. Możemy przejść do zabawy!

Czas na magię!

To, jak sprawnie pójdą nam kolejne kroki, może się wydawać magiczne i moim zdaniem pokazuje ogromną siłę rozwiązań no-code, które znajdują zastosowanie w naprawdę wielu obszarach i pozwalają tworzyć narzędzia usprawniające nasze codzienne życie i pracę.

Konfiguracja modułu Transform a Text to a Structured Data wygląda tak, że najpierw wybieramy, z którego modelu językowego chcemy skorzystać. W skrócie, im wyższa wartość, tym moduł lepszy, ale nieco droższy. Na nasze potrzeby powinien wystarczyć gpt-3.5.

Następnie mówimy, z jakiego tekstu chcemy wyciągać dane (wybieramy treść naszej wiadomości e-mail, z poprzedniego modułu).

I piszemy prompt, który poinstruuje model językowy, o co właściwie nam chodzi. Możesz na początek skorzystać z mojego (nie jest idealny, ale powinien wystarczyć):

Otrzymujesz kopię wiadomości e-mail, która zawiera informacje o fakturze. Pobierz z wiadomości dane, zgodnie z założonym formatem. Wszystkie informacje zwróć w języku polskim.

Wstępna konfiguracja modułu Transform a Text to a Structured Data.

Teraz naszym zadaniem będzie określenie, jakie informacje chcemy pobrać. W sekcji Structured Data Definition będziemy po kolei dodawać wszystkie parametry, które chcemy otrzymać na koniec.

Będą to:

  • Nazwa sprzedającego („sprzedający”),
  • Numer faktury („numer”),
  • Kwota („kwota”),
  • Waluta („waluta”),
  • Data wystawienia („data”),
  • Termin płatności („termin”),
  • Status („status”).

Dla każdego pola określamy:

  1. Jego nazwę w strukturze (musi być uproszczona i nie zawierać spacji),
  2. Opis (dzięki któremu model rozpozna informację w tekście),
  3. Typ danych (czy chodzi nam o liczbę, tekst, czy o coś innego).

Tak wygląda konfiguracja parametru „Kwota”:

Przykład konfiguracji parametru kwoty.

Możemy również podać przykłady wartości, dzięki którym będzie bardziej prawdopodobne, że otrzymamy prawidłowy wynik. Przyda nam się to np. w przypadku walut.

Przykład konfiguracji parametru waluty.

W efekcie powinniśmy uzyskać 7 pól:

Lista wszystkich parametrów, które mają być pobierane.

Próbne uruchomienie

Nasza automatyzacja na razie umie tylko odczytać dane i nic więcej z nimi nie robi, ale w tym momencie warto na próbę ją sobie uruchomić.

Kopiujemy wartość adresu e-mail z pierwszego modułu, klikamy w przycisk „Run once” na dole kreatora automatyzacji i wysyłamy na próbę jakąś wiadomość e-mail.

Przycisk do jednorazowego uruchomienia automatyzacji.

Dzięki temu Make.com nauczy się, jakie parametry mamy do wykorzystania w kolejnych krokach. Możesz mi nie uwierzyć, ale… zostało nam jeszcze tylko zapisać dane do arkusza.

Zapisujemy dane

Jeszcze go nie mamy arkusza, do którego będziemy zapisywać dane. Utworzymy sobie więc nowy arkusz kalkulacyjny w Google (co ciekawe wystarczy, że klikniesz tutaj: https://sheet.new). Arkusz powinien posiadać kolumny analogiczne do danych, które odczytujemy.

Struktura naszego arkusza kalkulacyjnego.

Teraz przechodzimy do Make, gdzie skorzystamy z modułu Google Sheets, a konkretnej z akcji „Add a row”.

Moduł Add a Row.

W trakcie konfiguracji tego modułu będziemy musieli dodać nowe połączenie z Google. Klikamy więc „Add” przy dostępnych połączeniach, nadajemy nazwę (lub korzystamy z domyślnej) i wybieramy „Sign in with Google)

Dodawanie połączenia z Google – Krok 1.

Google poprosi nas o potwierdzenie nadania uprawnień dostępowych dla Make.com, a po ich potwierdzeniu będziemy mogli wrócić do dalszej konfiguracji.

Dodawanie połączenia z Google – Krok 2.

Wybieramy z listy arkusz kalkulacyjny, który przed chwilą stworzyliśmy.

Wybór arkusza z listy.

Make odczyta nagłówki kolumn i pokaże nam gotowy do wypełnienia formularz.

Formularz dodawania wiersza.

Wszystko, co musimy zrobić, to wstawić do poszczególnych pól dostępne parametry. Make.com rozpoznał poszczególne pola i daje nam je wprost do wykorzystania.

Udostępnione przez moduł OpenAI parametry.

Konfiguracja w tym momencie wygląda następująco:

Wstępna konfiguracja “Add a Row”.

A gdy wszystko zapiszemy, klikniemy „Run once” i wyślemy przykładową wiadomość e-mail, do naszego arkusza powinien już trafić nowy wiersz.

Wartości po pierwszym uruchomieniu automatyzacji.

Możemy zauważyć jednak problem. Kwota nie jest odczytywana przez arkusz jako wartość liczbowa. Jest tak dlatego, że arkusz oczekuje w niej przecinka, zamiast kropki.

Aby naprawić ten problem, wracamy do edycji modułu „Add a Row”, gdzie musimy wykonać jedną małą zmianę.

Przechodzimy do pola „Kwota”. Będziemy chcieli zamienić kropkę na przecinek. Zmiana danych w ten sposób jest możliwa z pomocą wbudowanych w Make funkcji.

Funkcje to taki mechanizm, pozwalający bezpośrednio w polach edycji modyfikować dane. W tym przypadku będzie nas interesować funkcja, która wykona w podanym tekście zamianę kropki na przecinek.

Funkcje mają angielskie nazwy, znajdujemy więc (jak można się domyślić) taką o nazwie replace.

Znajdowanie funkcji “replace”.

Ta funkcja przyjmuje 3 parametry: tekst początkowy, wartość, którą chcemy zamienić i wartość, na jaką chcemy ją zamienić.

Instrukcja funkcji “replace”.

Zamieniamy w parametrze kwota kropkę na przecinek:

Konfiguracja pola “Kwota”.

Konfiguracja po zmianach wygląda następująco:

Finalna konfiguracja modułu “Add a Row”.

Możemy ją ponownie przetestować i zobaczyć, że wynik tym razem jest już taki, jakiego oczekiwaliśmy.

Drugie uruchomienie automatyzacji. W wierszu 3 widać, że dane są już poprawne.

Najwyższy czas ponownie zapisać naszą automatyzację i uruchomić jej ciągłe działanie.

Uruchomienie automatyzacji na stałe.

Finalna automatyzacja

Ostatecznie nasza automatyzacja, która przyjmuje wiadomości e-mail, analizuje ich treść, pobierając interesujące nas parametry, a następnie wstawia te wartości do arkusza (hej, to konkretny i całkiem złożony proces!) składa się z 3 kroków:

Finalna struktura automatyzacji.

Możemy ją oczywiście rozbudowywać dalej, ale jest to już bardzo dobra podstawa, z którą Cię dzisiaj zostawiam.

Ile to kosztuje?

Taką automatyzację na próbę można zbudować, korzystając z darmowego pakietu Make.com. Koszt Make.com będzie więc zerowy.

W tym przypadku będziemy jednak ponosić jeszcze koszty wykorzystania API GPT. Jak duże?

W trakcie pisania tego artykułu korzystałem z modelu GPT-3.5 i przeprocesowałem 10 takich wiadomości. Sumaryczne zużycie na moim koncie w OpenAI wyniosło $0.02 za 10 wiadomości.

Koszt jednostkowy jest uzależniony od długości wiadomości, a sumaryczny dodatkowo od ich liczby w miesiącu. Jak jednak widzisz, ta wartość jest niewspółmiernie niska, jeśli wziąć pod uwagę czas, który należałoby poświęcić na przepisywanie tych danych samodzielnie.

Dodatkowe informacje

Na koniec mam dla Ciebie jeszcze kilka dodatkowych wskazówek i przemyśleń, które możesz wziąć pod uwagę, nawiązując do tej automatyzacji:

  1. Do tak przygotowanego procesu możesz wysyłać wiadomości ręcznie lub skonfigurować sobie filtr (np. w Gmail), który będzie je automatycznie przekazywał (na podstawie listy nadawców lub słów kluczowych). O konfiguracji filtrów pisałem w tym artykule: Ukryte funkcje Gmaila, które pomogą Ci w organizacji;
  2. Dodając do tej automatyzacji wiedzę z poprzednich wpisów, możesz uwzględnić przypadek, w którym wiadomość e-mail ma załączniki i wziąć je pod uwagę w odczytywaniu danych. Będziesz wtedy po drodze potrzebować jeszcze modułu, który dostarczy Ci tekst z pliku pdf. Możesz użyć do tego PDF.co lub Google Cloud Vision;
  3. Możesz również stworzyć rozgałęzienie automatyzacji i zbudować w ten sposób bardziej złożony proces. Na przykład, jeżeli odczytany parametr kwoty jest większy niż jakaś wartość, to możesz wysyłać sobie dodatkowe powiadomienie, czy zapisać zadanie „Opłać fakturę”, jeśli ta jest nieopłacona;
  4. Możesz poeksperymentować także z innymi akcjami modułu „OpenAI”, w szczególności z „Create a Completion”, dzięki któremu rozwiążesz inne przypadki biznesowe — jak np. generowanie tekstów w ramach automatyzacji.

Podsumowanie

Pisząc ten artykuł, chciałem pokazać Ci dwie rzeczy:

  1. Po pierwsze, w jaki sposób można włączyć Sztuczną Inteligencję do naszych procesów automatyzacyjnych i przekazywać jej zadania, których realizacja w inny sposób byłaby bardzo trudna;
  2. Po drugie, że korzystanie z Make.com, gdy już nabierzesz w nim wprawy, pozwala na automatyzację konkretnych procesów biznesowych i to czasem nawet w trzech, prostych krokach. Ot siła i możliwości no-code;

To wszystko na dzisiaj. Daj znać w komentarzu, jakie są Twoje przemyślenia dotyczące tego wpisu. A może masz pomysł, jak konkretnie usprawnić ten proces?

1 komentarz

  1. Codeno

    Interesujące, ale np. dla potrzeb księgowych nie wystarczy, oczywiście.

    Ja sobie ustawiłem jedną taką automatyzację u Klienta, ale z wykorzystaniem pakietu księgowego wfirma. System wfirma potrafi czytać faktury z Dysku Google, zakładając w nim specjalny katalog wfirma.pl i sprawdzając cyklicznie, czy nie pojawiło się tam coś nowego. Zatem, scenariusz w Make sprawdza mi (a w zasadzie Klientowi mojej księgowości 🙂 ) pocztę pod kątem tytułu ‘faktura’ lub ‘fv’, pobiera załączniki w PDF i wrzuca na Dysk Google, a wfirma już sobie je obrabia dalej.

    To duże ułatwienie w pracy. Rano sobie tylko sprawdzam jakie się pojawiły dokumenty robocze, a ponieważ 99% dokumentów jest powtarzalne, wfirma już je rozksięgowuje wstępnie. Pozostaje mi tylko zatwierdzić wersje robocze, względnie – jeśli pojawi się jakiś nowy dokument – przypisać mu schemat księgowy. Oceniam, że oszczędzam w ten sposób do 15 godzin miesięcznie…

    Odpowiedz

Wyślij komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.