- Opublikowano
Złożone integracje z systematmi zewnętrznymi za pomocą ChatGPT i Actions GPT
- Autorzy
- Imię i nazwisko
- Bartosz Golebiowski
- @BartoszEbiowski
Wstęp
W poprzednich artykułach Integracje z API za pomocą GPT Actions oraz Od słów do wykresów z Actions GPT zaprezentowałem, jak można wykorzystać ChatGPT do integracji z zewnętrznymi systemami. Były to trywialne przykłady, w których ChatGPT wykonywał tylko jedno zapytanie do API. W tym artykule pokażemy jak można połączyć kilka zapytań API, aby realizować bardziej złożone zadania.
Wywoływanie zapytań API
Współczesne duże modele językowe są na tyle zaawansowane, że mogą domyślać się kontekstu i wykonywać łańcuchy zapytań API, aby spełnić oczekiwania użytkownika chatu. Musimy tylko odpowiednio zdefiniować integracje z zewnętrznymi systemami z poziomu ChatGPT.
Załózmy, że Customowy GPT posiada 5 różnych integracji do 5 różnych systemów zewnętrznych. Każde zapytanie API zwraca dane, ale nie zawsze wszystkie integracje są wymagane. W zależności od kontekstu, użytkownik może chcieć zobaczyć dane z jednego systemu, z dwóch, z trzech, itd. Może również się zdarzyć sytuacja, że dane z jednego systemu są potrzebne do zapytania do drugiego systemu. Np. aby pobrać dane sprzedażowe produktu, najpierw musimy uzyskać jego identyfikator, a następnie zapytać o dane sprzedażowe.
Przykład
Zapytanie
Załózmy przykład pobierania danych sprzedażowych dla zadanego produktu dla zadanego zakresu dat.
Jaka była sprzedaż produktu "smart watch" w marcu 2023
Analiza zapytania
W pierwszej kolejności ChatGPT próbuje zrozumieć zapytanie. Zastanawia się, czy spośród zdefiniowanych integracji, znajdują się takie, które mogą pomóc w odpowiedzi na zadane pytanie. Jeżeli tak, to następnym krokiem jest wytypowanie tych integracji, które są potrzebne do uzyskania odpowiedzi.
Kolorem zielonym zaznaczone są integracje, które są potrzebne do uzyskania odpowiedzi na zadane pytanie. Kolor czerwony oznacza integracje, które są zbędne. Gdy już zostały wybrane integracje, ChatGPT zastanawia się, w jakiej kolejności powinny być wywoływane zapytania API.
Kolejnosc wywoływania zapytań
Ciekawostką jest to, że ChatGPT potrafi rozpoznać, że dane z jednego systemu są potrzebne do zapytania do drugiego systemu. Nie możemy wywołać zapytania Pobierz dane sprzedażowe produktu dla zadanego zakresu dat bez wcześniejszego pobrania identyfikatora produktu. Dlatego ChatGPT zaczyna od zapytania Pobierz identyfikator produktu, a następnie Pobierz dane sprzdażowe produktu dla zadanego zakresu dat.
Wnioski
Modele GPT, są na tyle zaawansowane, że potrafią zrozumieć kontekst i realizować bardziej złożone zadania dzięki kompozycji zapytań API. Co więcej, ChatGPT jest w stanie rozpoznać, które integracje są niezbędne do udzielenia odpowiedzi na zadane pytanie.
Takie podejście umożliwia przekształcenie tradycyjnych, skomplikowanych interfejsów użytkownika, wypełnionych wieloma polami formularzy, w proste i intuicyjne interakcje w języku naturalnym. Zamiast wymagać od użytkowników wypełniania formularza, można pozwolić im poprosić asystenta o pomoc w naturalny sposób.
Extra - wizualizacja scenariusza interakcji z Chatem GPT
Załóżmy scenariusz, że użytkownik chciałby pobrać dane o sprzedaży produktu o zadanym identyfiaktorze dla każdego unikalnego klienta, który go kupił.
Tutaj przykład zapytania i ostatecznego rezultatu:
Oto diagram sekwencji, który pokazuje cały proces:
Dane wymienione z systemu 1 są wykorzystywane jako dane wejściowe dla systemu 2:
Wizualizacja interakcji z Chatem GPT: