ChatGPT instead of application backend? (film, 9 minutes)
In today's video, Jakub Mrugalski, known as 'unknow' from UW-TEAM.org, shares his experience in utilizing artificial intelligence to generate backend for applications. His aim is to create an API that, upon receiving text, returns the appropriate hashtags. The video begins with the explanation that instead of writing backend code, Jakub will use AI directly as the backend, making the process much simpler and more efficient. For this purpose, he employs two key tools: Make and Hopscotch. Make is an automation platform that simplifies the configuration of the necessary elements, while Hopscotch is an HTTP client that allows for convenient submission of requests to the API.
The first step in building the backend is to create a webhook in Make, where Jakub demonstrates how to do this step-by-step. After successfully configuring the webhook, he sends data to his HTTP client to test if everything works correctly. He explains how to use the debugging feature in Make to verify what data has been sent. Jakub emphasizes the ability of Make to recognize the data structure, which allows for further use of this tool in the future.
Next, Jakub moves on to integration with ChatGPT, which is a key element of the whole process. He explains how to configure the appropriate model and how to prepare a query so that the AI generates the right hashtags based on the provided text. What sets this episode apart is its accessibility - Jakub describes each step in detail, making it ideal for newcomers to AI and programming.
In subsequent stages, Jakub tests how the hashtags change depending on the given context. After many modifications, he managed to achieve satisfactory results, showcasing the flexibility and power of AI in generating responses tailored to users' specific needs. Although the created backend is not yet production-ready due to response speed, he proclaims its potential for quick application prototyping, which is crucial in the tech world.
At the end of the video, Jakub encourages viewers to sign up for the waiting list for a new project related to OpenAI that he plans to launch soon. As of the time of writing this article, the video has received an impressive 10,788 views and 451 likes, reflecting its popularity among programmers and technology enthusiasts. A deeper analysis and access to such materials will undoubtedly enrich the knowledge of many who wish to explore the possibilities of artificial intelligence in their daily work.
Toggle timeline summary
-
Introduction by Kuba Mrugalski about generating backend with AI.
-
Discussion on the type of application and API to be created.
-
Introduction of the tools to be used: Make and Hopscotch.
-
Creating a webhook in Make.
-
Webhook URL is generated and copied to the HTTP client.
-
Setting up the request body with a text variable.
-
Successful response received after sending request.
-
Naming and saving the scenario.
-
Running the scenario after saving.
-
Adding a new module to interact with OpenAI.
-
Configuring and selecting the GPT-35 Turbo model.
-
Setting instructions for generating hashtags from provided text.
-
Finalizing the response handling for the webhook.
-
Displaying the output response from the Chat GPT model.
-
Refining the output to return the best matching hashtags.
-
Final tests showing generated hashtags in JSON format.
-
Summary of the backend generation process.
-
Invitation to learn more about using OpenAI and a secret project.
-
Conclusion and closing remarks.
Transcription
Cześć, tu Kuba Mrugalski. Dzisiaj pokażę Ci, jak wygenerować backend z użyciem sztucznej inteligencji. A mówiąc konkretniej, nie będziemy generować kodu backendu, tylko użyjemy AI jako backendu bezpośrednio. Chcę użyć chat GPT do zwracania mi odpowiedzi w takim formacie, jaki będzie użyteczny dla mojej aplikacji. A co to za aplikacja? Chciałbym wygenerować API. API, które pobiera tekst na wejściu, a na wyjściu daje hasztagi dostosowane do tego tekstu. Czyli jeżeli podaje na przykład tekst, ale ma kota, to chciałbym dostać hasztagi ala i kot. Jak to więc zrobić? Użyjemy dwóch narzędzi, które nam to ułatwią. Po pierwsze użyję Make'a. Make'a, dlaczego akurat to narzędzie? Dlatego, że jest bardzo proste do wyklikania tego, co jest nam potrzebne. A drugie narzędzie to będzie Hopscotch, który jest klientem HTTP. Równie dobrze możesz używać Postmana albo Curla, co tam lubisz. Ale zaczniemy od Make'a. Klikamy sobie na dodawanie nowego elementu. Ten nowy element nazywa się webhook. Wpisuję więc webhook w tym miejscu i klikam dodaj. Jakiego rodzaju to będzie webhook? Czy będzie to mailhook, czy może webhook urlowy? To będzie URL, do którego ja chciałbym wysyłać dane. Klikam więc sobie na tę drugą opcję. Klikam teraz na utworzenie nowego webhooka i gotowe. Webhook będzie utworzony, tylko trzeba dodać mu nazwę. Nazywam więc go hasztagi. Mamy teraz wygenerowanego urla. Kopiuję sobie go do schowka, idę do naszego klienta HTTP i w to miejsce sobie go wklejam. Nie chcę wysyłać danych gettem, tylko zmienię sobie to na posta. A następnie w ciele dokumentu dodam jedną zmienną. Jak się ona nazywa? No tak jak sobie wymyślę, niech się nazywa np. txt. A co będzie w środku zmiennej txt? Ala ma kota i kot lubi pierogi. Klikam sobie teraz na wyślij. Czekam chwilę. Czekam, czekam, czekam i dostaję odpowiedź accept. A co się pojawia w make'u? A w make'u pojawia mi się successful. Dlaczego w ten sposób? Dlatego, że make stara się rozpoznać strukturę danych, jaką otrzymał. Udało mu się to rozpoznać, nauczył się tej struktury i teraz mogę z niej korzystać. A jak zapisać mój scenariusz? Warto nadać mu jakąś nazwę. Np. moje API. OK. I klikam sobie na zapisz. Teraz klikam na run once i w moim kliencie HTTP wysyłam request. Czekam chwilę, czekam, czekam. Nic nie słucha na zapytania. Dlaczego nic nie słucha na zapytania? No dlatego, że nie aktywowałem sobie tego czegoś. I teraz będzie run once. Zapisamy sobie. Wyślij. Accept. Wszystko jest dobrze. I tutaj widzimy taką lupę. Ta lupa umożliwia nam debagowanie naszego zapytania. Widzimy, co dokładnie dostaliśmy. Dostaliśmy takiego bundla, gdzie napisane jest Ala ma kota i kot lubi pierogi. No dobra. Teraz co z tym chcemy zrobić? Chcemy to wysłać do chat GPT. Klikam sobie na dodanie nowego modułu. Na liście nie mam niczego fajnego, więc wpisuję sobie OpenAI. OpenAI. Jest tu jeden taki moduł. Ja już mam go skonfigurowanego, więc od razu mnie pyta opcję. U ciebie będzie pytał o klucz API. Skąd wziąć klucz API? No musisz zalogować się do OpenAI, kliknąć ustawienia i pobrać ten klucz API. Klikamy teraz na tworzenie nowego uzupełniania, czyli na odpowiedź na pytania, mówiąc prościej. Klikam sobie na to coś. Trwa ładowanie modułu. I teraz wybieramy, co chcemy zrobić. Chcemy użyć nie Prompta, a Chata. Następnie, z jakiego modelu chcemy korzystać? Aktualnie od kilku dni dostępny jest jeden moduł. On się nazywa ten model GPT-35 Turbo. Klikamy na to coś i dodajemy nowy message do Chata. Dokładnie tak, jakbyśmy go pisali w oknie Chat GPT. Na początku, kim jesteś? Czy jesteś informacją systemową, użytkownikiem, czy asystentem, który odpowiada? Do czego to jest? Doczytasz sobie w dokumentacji. Ty jesteś użytkownikiem, bo zadajesz pytania. Jaki to będzie message? No, message będzie brzmiało na przykład. Do podanego tekstu wygeneruj mi hasztagi. No i tyle. Możemy teraz powiedzieć, w jakim formacie chcemy mieć odpowiedź. Czyli na przykład odpowiedź zwróć jako tekst i rozdziel hasztagi spacjami. OK, daję dwóch kropek i następnie wklejam tutaj, co? Zmienną teksta. To jest ta zmienna teksta pobrana z poprzedniego zapytania. Czyli do podanego tekstu wygeneruj mi hasztagi. Odpowiedź zwróć jako tekst i rozdziel hasztagi spacjami. Wygląda dobrze. Zapisujemy oczywiście. I teraz ważna rzecz. Co się stanie z odpowiedzią? No nic się nie stanie z odpowiedzią, dlatego że ta odpowiedź po prostu przepadnie. Klikamy więc dodanie kolejnego modułu i to będzie kolejny webhook, ale tym razem webhook response, to znaczy odpowiedź na tego webhooka, którego dostaliśmy. Jaka to będzie odpowiedź? 200 OK. A co będzie w odpowiedzi? A o tym za chwilę. Dajemy sobie teraz zapisz, run once. Dlaczego za chwilę? Dlatego, że jeszcze ten webhook końcowy nie wie jaką strukturę danych zwraca GPT. W takim razie wysyłamy naszą testową tutaj pytanie. Czekamy, czekamy. Dlaczego tak długo to trwa? Dlatego, że chat GPT musi przetworzyć odpowiedź. Mamy teraz accept. A tutaj mamy w debugu, jaka była odpowiedź. Teraz zwróćmy uwagę na output. Output wygląda tak, że tu mamy listę dostępnych odpowiedzi. Jest to jedna odpowiedź. I tutaj w message'ach jest ala kod pierogi, czyli dokładnie to, o co nam chodziło. Chcemy teraz zwrócić te odpowiedzi w tym miejscu. Więc tutaj w body wybieramy dokładnie to, co przed chwilą Ci pokazywałem, czyli wybory dostępne, message'e dostępne i następnie content. Zamykam, zatwierdzam, zapisuję. I teraz daję wyślij. Popatrz teraz, jak to będzie działało. Ala kod pierogi lubi zwierzak jedzenia. Powiedziałbym, nie jest źle. Gdybyśmy to używali jako hasztagi na Instagrama, to byłoby całkiem fajnie. Gdybyśmy chcieli mieć bardziej szczegółowe hasztagi, znaczy bardziej pasujące do tekstu, to możemy to dopisać sobie na przykład. Zwracaj tylko najlepiej pasujące hasztagi. No i teraz powinno być trochę lepiej. Klikamy na zapisz. Uruchom ponownie. Wysyłamy nasze zapytanie do backendu. I najlepiej pasujące hasztagi to, czekamy chwilę, kod ala pierogi, zwierzak, smakowanie życia. Jest gorzej niż myślałem. Można więc uszczegółowić to w taki sposób. A żeby dopisać na przykład, zwracaj tylko najlepiej pasujące hasztagi, najlepiej pasujące do tekstu hasztagi. Czasami trzeba nadać taki kontekst, który wyjaśni, co my tak naprawdę mamy na myśli. Klikamy na wyślij i sprawdzamy, czy teraz poszło trochę lepiej. Domowe przysmaki, jedzenie. OK. Możemy więc powiedzieć, zwracaj tylko hasztagi zawarte w tekście. OK. I teraz możemy dać sobie zatwierdzenie, zapisanie, uruchomienie. I odpalamy. I teraz mamy ala kod pierogi. Dokładnie o to mi chodziło. Możemy też zmienić format odpowiedzi, no bo jesteśmy programistami. Co będziemy? Tekst czytać? A bez sensu. W takim razie zmieniamy sobie tutaj odpowiedź zwróć jako tekst. Nie, nie, nie. Odpowiedź zwróć jako JSON. I teraz powinniśmy mieć pełnoprawne API. Klikamy sobie na uruchomienie, a następnie na wyślij. Czekamy chwilę na przetworzenie naszego zapytania i widzimy, że są hasztagi ala kod pierogi. Wszystko w formacie oczywiście JSON. Dokładnie o to chodziło. Jak widzisz, wygenerowanie backendu nie zajęło nam wiele czasu i było stosunkowo proste. Cały backend składa się z trzech elementów. Jest element przyjmujący dane od użytkownika, element odpowiadający i po środku jest ta magia, która jest właśnie klockiem chat GPT. W ten sposób można bardzo szybko prototypować aplikacje. To nie nadaje się za bardzo do użycia produkcyjnego ze względu na szybkość odpowiedzi, ale jak najbardziej do szybkiego otworzenia prototypów mogłoby Ci pomóc w codziennej pracy. Jeszcze jedna rzecz. Jeżeli chcesz dowiedzieć się więcej na temat tego, jak używać OpenAI jako programista, jak lepiej prototypować, jak automatyzować swoje życie, to w takim razie tutaj pod filmem masz linka do listy oczekujących na start pewnego tajnego projektu, który niebawem ujrzy światło dzienne. Jeżeli interesują Cię te tematy, wpisz się na listę, a ja szybko wyślę Ci wiadomość, gdy tylko coś nowego w tym projekcie Ci pojawi. A tymczasem do zobaczenia w kolejnym filmie. Cześć.