Crea la tua applicazione ChatGPT utilizzando Spring Boot

Crea la tua app ChatGPT con Spring Boot

In questo blog, cercherò di spiegare come integrarsi con le API di completamento chat di OpenAI per utilizzarle e creare la propria versione di ChatGPT. Questo utilizzerà l’applicazione classica Spring Boot con Java core e l’API di completamento chat di OpenAI.

Esporremo un endpoint REST che prenderà la query dall’utente finale nel formato requestParam, la elaborerà e restituirà la risposta in formato testo leggibile dall’uomo.

Seguiamo i passaggi seguenti:

Prerequisiti

Utilizzeremo l’API di completamento ChatGPT di OpenAI nella nostra app.

I vari parametri importanti di questa API sono descritti di seguito:

model: invieremo richieste a “gpt-3.5-turbo”

Cos’è GPT-3.5-Turbo?

GPT-3.5 Turbo è un modello di linguaggio alimentato da un’intelligenza artificiale incredibilmente potente. Può comprendere e generare testo simile a quello umano basandosi solo su un prompt, rendendolo uno strumento prezioso per una vasta gamma di applicazioni. Ti consente di comunicare con il modello e ricevere risposte dettagliate in modo conversazionale.

Messaggi: rappresenta la richiesta effettiva inviata al modello in modo che il modello possa analizzare il messaggio e generare una risposta corrispondente in un formato leggibile dall’uomo.

Questo contiene ulteriormente un paio di sottoproprietà:

role: specifica il mittente del messaggio (è ‘utente’ per la richiesta e ‘assistente’ per la risposta).

content: questo è il messaggio effettivo.

Il DTO del messaggio assomiglierà a qualcosa del genere:

Senza ulteriori indugi, iniziamo l’integrazione con la nostra app Spring Boot.

Crea un’app Spring Boot di base. Per fare ciò, vai su start.spring.io e utilizza le seguenti selezioni: ci serve solo la dipendenza Spring web:

Crea un pacchetto per il livello Controller e inserisci il codice seguente:

Creiamo la classe ChatRequest:

Qui, utilizziamo le seguenti proprietà, che inseriremo in application.properties:

Importante: Una parola sulla chiave API di OpenAI:

OpenAI consente di generare una chiave API unica per consumare le API di OpenAI. Per farlo, clicca qui. Qui è necessario registrarsi e creare la propria chiave API (che è un passaggio piuttosto semplice, come mostrato nello screenshot di seguito). Assicurati di mantenerla sicura e non farla compromettere, ad esempio, mantenendola codificata nel tuo codice.

Clicca su “crea nuova chiave segreta” e segui i passaggi visualizzati. Ora hai la tua chiave API OpenAI.

Successivamente, utilizziamo RestTemplate per effettuare chiamate agli URL delle API di OpenAI. Quindi, aggiungiamo un interceptor come segue:

L’interceptor intercetta la richiesta e aggiunge la chiave API di OpenAI all’intestazione della richiesta.

Ecco fatto! Ora possiamo semplicemente eseguire l’applicazione usando la classe principale e iniziare a invocare l’API.

Testing

Vai su Postman (o il tuo browser preferito, cioè Chrome :P) e accedi all’URL seguente. Passa la tua query a cui desideri chiedere al modello. Sarai stupito di vedere la correttezza della sua risposta. (Assicurati di passare la query nel parametro della richiesta).

Esempio n. 1

http://localhost:8080/chat?prompt=quali sono alcune buone librerie di Spring Boot

Esempio n. 2

Il modello GPT 3.5 Turbo è sufficientemente avanzato da mostrare una risposta altamente realistica. (Grazie a miliardi di righe di testo con cui il modello è stato addestrato).

Nota: la chiamata effettiva all’API di OpenAI curl sarebbe qualcosa del genere:

Avvertenze

Nel corso dello sviluppo dell’applicazione, di seguito sono elencati i problemi comuni che si possono incontrare. Leggi e prova queste soluzioni se incontri una situazione del genere:

  1. Assicurati di creare un costruttore senza argomenti e fornire anche i metodi getter e setter per:

  2. OpenAI fornisce una quota di base. La tua quota per l’ID email corrente è stata esaurita, quindi hai utilizzato un nuovo ID email.

  3. Prova a invocare l’API dopo un po’ di tempo. (Per motivi di sicurezza, una finestra di lavoro ottimale è di 30 minuti).

Conclusion

In questo breve articolo abbiamo appreso del modello GPT 3.5 Turbo di OpenAI. I suoi parametri importanti e l’API di completamento chat. Abbiamo anche analizzato l’importanza della chiave API di OpenAI per il consumo delle API in un ordine limitato e come generarne una per l’uso individuale.

Inoltre, abbiamo visto quanto sia facile integrare la nostra classica applicazione Spring Boot con l’API di completamento chat di OpenAI, effettuato chiamate effettive all’endpoint e convalidato la risposta.

Avvertenze

L’API di OpenAI è una risorsa regolamentata. La quantità di chiamate che stiamo effettuando all’API è limitata e puoi tenerne traccia qui.