I modelli linguistici di grandi dimensioni (LLM) come quelli offerti da OpenAI possono essere utilizzati da applicazioni Java tramite richieste HTTP verso API REST. In questo articolo vedremo come inviare una richiesta a un LLM e ricevere una risposta in Java.
Prerequisiti
- Java 8 o superiore
- Una chiave API valida per il servizio LLM (es. OpenAI)
- Una libreria HTTP come
HttpURLConnection
o una più moderna comeHttpClient
(Java 11+) - Libreria JSON per parsing, come
org.json
oGson
Codice di esempio
Di seguito un esempio base che utilizza HttpClient
e org.json
per inviare una richiesta a OpenAI GPT.
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import org.json.JSONObject;
public class LLMClient {
public static void main(String[] args) throws Exception {
String apiKey = "YOUR_API_KEY"; // Unicamente a titolo di esempio
String endpoint = "https://api.openai.com/v1/chat/completions";
JSONObject message = new JSONObject();
message.put("role", "user");
message.put("content", "Spiegami la relatività ristretta.");
JSONObject requestBody = new JSONObject();
requestBody.put("model", "gpt-3.5-turbo");
requestBody.put("messages", new org.json.JSONArray().put(message));
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(endpoint))
.header("Content-Type", "application/json")
.header("Authorization", "Bearer " + apiKey)
.POST(HttpRequest.BodyPublishers.ofString(requestBody.toString()))
.build();
HttpClient client = HttpClient.newHttpClient();
HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println("Risposta del modello:");
System.out.println(response.body());
}
}
Note aggiuntive
- Assicurati di gestire eccezioni e timeout per una maggiore robustezza.
- Il parsing della risposta JSON consente di accedere al contenuto effettivo del messaggio del modello.
- Evita di esporre la tua chiave API nel codice sorgente.
Conclusione
Interagire con un LLM in Java è relativamente semplice grazie alle API REST. Utilizzando librerie standard per HTTP e JSON, puoi integrare potenti modelli linguistici nelle tue applicazioni Java.