w ,

Integracja OpenAI GPT z Spring Boot w 4 Krokach!

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.

Napisane przez Przemysław Bykowski

Aktywny programista i energiczny trener. Specjalizuje się w Spring Boot i uczę go w ramach AkademiaSpring.pl. Po godzinach udzielam się na YouTubach. Więcej o mnie.

Dodaj komentarz

Przegląd Klientów HTTP w Springu: RestTemplate, WebClient, RestClient, Retrofit i Inne

Aktualne Trendy w Architekturze Oprogramowania [Dane na IV Kwartał 2024]