¿Por qué vale la pena integrar ChatGPT en una aplicación Kotlin?
Imagine: está escribiendo una aplicación en Kotlin y de repente se da cuenta de que le falta un "cerebro". El usuario hace una pregunta y el programa se queda en blanco. ¿Le suena familiar? La integración de la API de ChatGPT en Kotlin convierte una aplicación común en un asistente inteligente. No es una moda pasajera, sino una herramienta funcional: chatbots, generadores de contenido, traductores, asistentes de código: todo esto se puede hacer con sus propias manos.
En este artículo no divagaremos sin sentido. Le mostraré cómo conectar ChatGPT a su proyecto en solo 15 minutos, utilizando herramientas modernas de Kotlin: Retrofit, OkHttp, Coroutines y Gson. Incluso si es principiante, simplemente siga los pasos: el código es funcional y probado.
¿Qué necesitamos? Herramientas y preparación
Para trabajar con la API de OpenAI en Kotlin necesitamos un conjunto mínimo. Prepárese con:
- Clave de API de OpenAI: regístrese en platform.openai.com, cree una clave en la sección API keys. ¡Manténgala en secreto!
- Entorno de desarrollo: IntelliJ IDEA (la versión Community es suficiente) o Android Studio, si desarrolla para dispositivos móviles.
- Gradle o Maven: para agregar las dependencias.
Usaremos Retrofit Kotlin como cliente HTTP y Gson Kotlin para trabajar con JSON. ¿Por qué precisamente estos? Retrofit proporciona un código limpio y declarativo, mientras que Gson puede convertir las respuestas de la API en clases de datos sin esfuerzo adicional.
Paso 1. Crear el proyecto y agregar las dependencias
Cree un nuevo proyecto Gradle (Kotlin/JVM). En el archivo build.gradle.kts, agregue:
dependencies { implementation("com.squareup.retrofit2:retrofit:2.9.0") implementation("com.squareup.retrofit2:converter-gson:2.9.0") implementation("com.squareup.okhttp3:okhttp:4.12.0") implementation("com.squareup.okhttp3:logging-interceptor:4.12.0") implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.0") implementation("com.google.code.gson:gson:2.10.1")}Importante: logging-interceptor no es obligatorio, pero le salvará durante la depuración: podrá ver qué se envía realmente al servidor y qué se recibe. Si desarrolla para Android, agregue también implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.8.0").
Paso 2. Modelos de datos: cómo "ve" ChatGPT su solicitud
La API de OpenAI recibe y devuelve un JSON estricto. Para no sufrir con el análisis manual, crearemos clases de datos. Esta es la base de cualquier ejemplo de código Kotlin con ChatGPT.
// Modelo de solicitud a ChatGPTdata class ChatRequest( val model: String = "gpt-4o-mini", // el modelo más barato y rápido val messages: List<Message>, val temperature: Double = 0.7)
data class Message( val role: String, // "user", "assistant", "system" val content: String)
// Modelo de respuesta de ChatGPTdata class ChatResponse( val choices: List<Choice>?)
data class Choice( val message: Message?, val finish_reason: String?)Tenga en cuenta: configuramos model como gpt-4o-mini; este es un modelo moderno de OpenAI que cuesta muy poco pero ofrece resultados decentes. Es ideal para pruebas.
Paso 3. Retrofit: configurar el cliente para comunicarse con OpenAI
Ahora creamos una interfaz que describirá nuestro único endpoint. Este es el enfoque clásico de Retrofit Kotlin.
interface OpenAiApi { @POST("v1/chat/completions") @Headers("Content-Type: application/json") suspend fun chatCompletion( @Header("Authorization") auth: String, @Body request: ChatRequest ): ChatResponse}Punto clave: suspend