Come interagire con un LLM in Java

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 come HttpClient (Java 11+)
  • Libreria JSON per parsing, come org.json o Gson

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.

Torna su