Spring Boot daje nam ogromne możliwości, a kiedy połączymy go ze sztuczną inteligencją, zaczynają się dziać prawdziwe cuda. Dzisiaj pokażę Ci, jak zintegrować OpenAI GPT z aplikacją Spring Boot i stworzyć coś, co może w pełni wykorzystać moc AI.
I choć Spring IA to znacznie więcej niż często utożsamiany wrapper na ChatGPT, dziś właśnie od tego zaczniemy, a na koniec artykułu przedstawię Ci źródła z bardziej zaawansowanymi przykładami użycia Spring IA.
1. Klucz do sukcesu to klucz do OpenAI API
Zarejestruj się na stronie OpenAI i pobierz swój klucz API z https://platform.openai.com/api-keys. Wiąże się to z podpięciem karty kredytowej i konfiguracją płatności. Każde wywołanie API obliguje Cię do opłaty. Kiedyś OpenAI oferowało darmowy pakiet startowy – ale niestety, nie załapałeś się 🙃
W zależności od wybranego modelu opłaty są różne, a dokładny cennik znajdziesz na ich stronie. W sieci są przydatne kalkulatory, które na podstawie zapytania potrafią wyliczyć koszt użycia API.
Pamiętaj, że brane są pod uwagę zarówno Twoje dane wejściowe (czyli zapytanie do API), jak i dane wyjściowe (czyli odpowiedź). Zapytania są rozliczane w tokenach.
Zgrubnie przyjmuje się, że 750 słów zużywa około 1000 tokenów.
W modelu GPT-4 zapłacisz:
- Tokeny wejściowe: około 0,03 USD za 1000 tokenów.
- Tokeny wyjściowe: około 0,06 USD za 1000 tokenów.
Więc jeśli Twoje zapytanie zawiera 750 słów i odpowiedź będzie tej samej długości, zapłacisz około 0,09 USD.
Pamiętaj, że ta kalkulacja jest baaaaardzo przybliżona i dokładna jak pośliniony palec na wietrze. Koszt tokenów zależy od takich rzeczy jak model, jaki wykorzystasz, kodowanie znaków, cache, i kilka innych czynników. Dlatego do dokładnych obliczeń odsyłam do kalkulatorów, np. takich jak GPTForWork.
2. Stwórz projekt w Spring Boot
Wystarczy, że dodasz zależność spring-starter-web, oraz:
<dependency> <groupId>org.springframework.ai</groupId> <artifactId>spring-ai-openai-spring-boot-starter</artifactId> </dependency>
którą możesz wybrać z listy dostępnych zależności przy zakładaniu projektu.
3. Ustaw swój klucz
W pliku application.properties
wstaw swój klucz API. Możesz też tutaj zarządzać modelem, który chcesz wykorzystać do obsługi swoich zapytań:
spring.ai.openai.api-key=kluczApiTutaj spring.ai.openai.chat.options.model=gpt-4
4. Utwórz obiekt ChatModel
Możesz stworzyć prosty kontroler, który będzie obsługiwał Twoje zapytania. Stwórz w nim obiekt ChatModel
. Metoda call
służy do wywołania zapytań, które chcesz przekazać do modelu. W odpowiedzi dostaniesz wynik:
@RestController public class ChatController { private final ChatModel chatModel; public ChatController(ChatModel chatModel) { this.chatModel = chatModel; } @GetMapping("/chat") public String get(@RequestParam(value = "message") String message) { return chatModel.call(message); } }
Open IA + Spring Boot w boju!
I teraz po przejściu pod adres:
localhost:8080/chat?message=Podaj dokładną kwotę w PLN, która odzwierciedla koszt wykonania tego zapytania przez API
dostaniemy:
więc w dogrywce:
localhost:8080/chat?message=to chociaż opowiedz kawał
I choć moja wymiana wiadomości z modelem może wyglądać jak konwersacja, to pamiętaj, że API nie przechowuje historii. Każde zapytanie jest wykonywane niezależnie (w odróżnieniu od chatu, który zna i bazuje na historii rozmowy).
Dlatego bardziej rozbudowane przykłady, wraz z praktycznymi projektami, przedstawiam na moich LiveStreamach, które regularnie prowadzę na EduFlow.pl.
Jeden z ciekawszych projektów, w którym wykorzystałem Spring IA Functions, polegał na tym, aby sztuczna inteligencja zeskanowała i przeanalizowała moje CV, automatycznie pobierała najnowsze oferty pracy, analizowała je pod kątem CV i przygotowywała listy motywacyjne na najlepiej dopasowane stanowiska pracy – wszystko w pełni automatycznie! Nie tylko sztuczna inteligencja, ale również automatyzacja, która wykonuje za nas ciężką pracę. To wszystko w materiale: Czym Jest i Jak Działa Spring AI? Praktyczny Projekt Krok Po Kroku.