ChatGPT API en Java: cómo agregar IA a tu proyecto

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

¿Por qué un desarrollador Java necesita ChatGPT? O cómo dejar de temerle y amar las redes neuronales

\n

¡Hola, colega! Si estás leyendo esto, significa que, como yo, estás harto de escribir respuestas repetitivas para el soporte técnico, generar descripciones aburridas de productos o analizar reseñas manualmente. ¿Y si te dijera que en solo una tarde puedes darle vida a tu aplicación Java conectándole inteligencia artificial de verdad? Sí, sí, me refiero a ese ChatGPT que sabe contar chistes, escribir código e incluso explicarle el teorema de Pitágoras a un gato.

\n

En este artículo no vamos a analizar teoría de probabilidades ni a enseñar transformadores. Simplemente tomaremos Java, añadiremos una pizca de peticiones HTTP y haremos que GPT-4 (o 3.5, si el presupuesto aprieta) trabaje para nosotros. ¿Suena a magia? En realidad es pura ingeniería. ¡Allá vamos!

\n\n

¿Qué necesitamos? El kit básico indispensable

\n

Antes de escribir código, asegúrate de tener:

\n
    \n
  • JDK 11 o superior (usaremos el nuevo HttpClient, que apareció precisamente en la versión 11);
  • \n
  • Clave API de OpenAI — puedes obtenerla en la plataforma de OpenAI. No olvides recargar saldo (literalmente unos pocos dólares, para pruebas es suficiente);
  • \n
  • Cualquier IDE — IntelliJ IDEA, Eclipse o incluso un bloc de notas, si eres un hardcore;
  • \n
  • Maven o Gradle — para conectar dependencias de forma cómoda (pero nos limitaremos al mínimo).
  • \n
\n

Por cierto, si piensas que la integración de ChatGPT en Java es algo complicado que requiere aprendizaje automático, me apresuro a alegrarte: todo se resuelve con una simple petición HTTP. Nada de redes neuronales en tiempo de ejecución, solo REST API.

\n\n

Preparación del proyecto: Maven y dependencias

\n

Crea un nuevo proyecto Maven y añade en pom.xml una sola librería — Jackson para trabajar con JSON. Sin ella no podemos avanzar, porque ChatGPT se comunica con el mundo exclusivamente en este idioma.

\n\n
<dependency>\n    <groupId>com.fasterxml.jackson.core</groupId>\n    <artifactId>jackson-databind</artifactId>\n    <version>2.15.2</version>\n</dependency>
\n\n

¡Eso es todo! Sin SDK, sin envoltorios, solo Java puro y nuestro ingenio. Si usas Gradle, simplemente añade implementation 'com.fasterxml.jackson.core:jackson-databind:2.15.2'.

\n\n

Estructura de la petición a la API de OpenAI

\n

Antes de escribir código, analicemos qué espera el servidor de nosotros. La API de ChatGPT acepta una petición POST en el endpoint https://api.openai.com/v1/chat/completions. El cuerpo de la petición es un JSON con esta estructura:

\n\n
{\n  "model": "gpt-3.5-turbo",\n  "messages": [\n    {"role": "system", "content": "Eres un asistente útil."},\n    {"role": "user", "content": "Cuenta un chiste sobre desarrolladores Java."}\n  ],\n  "temperature": 0.7\n}
\n\n

Analicemos los campos:\n

    \n
  • model — qué modelo responde. Para ahorrar, usa gpt-3.5-turbo; para respuestas increíbles, gpt-4;
  • \n
  • messages — array de mensajes. El mensaje del sistema establece el tono, y el de user es nuestra consulta;
  • \n
  • temperature — de 0 a 2. Cuanto más alto, más creativa la respuesta (y más probabilidades de que la red neuronal comience a alucinar).
  • \n
\n

\n\n

La respuesta también llega en JSON, y nos interesa el campo choices[0].message.content. Ahí es donde se esconde el texto que mostraremos al usuario.

\n\n

Escribimos el código: Cliente Java para ChatGPT

\n

Crearemos la clase ChatGPTClient. Se encargará de enviar peticiones y procesar respuestas. Todo el código en un solo archivo, para no multiplicar entidades.

\n\n
import java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpRes                

Blogs

Book Recommendations