Por que integrar o ChatGPT em uma aplicação Kotlin?
Imagine: você está escrevendo um aplicativo em Kotlin e, de repente, percebe que falta um "cérebro". O usuário faz uma pergunta e o programa trava. Conhecido? A integração da API ChatGPT em Kotlin transforma um aplicativo comum em um assistente inteligente. Isso não é uma tendência da moda, mas uma ferramenta de trabalho: chatbots, geradores de conteúdo, tradutores, assistentes de código — tudo isso pode ser feito com suas próprias mãos.
Neste artigo, não vamos encher linguiça. Vou mostrar como, em apenas 15 minutos, conectar o ChatGPT ao seu projeto, usando ferramentas modernas do Kotlin: Retrofit, OkHttp, Coroutines e Gson. Mesmo que você seja iniciante, basta repetir os passos — o código é funcional e testado.
O que vamos precisar? Ferramentas e preparação
Para trabalhar com a API OpenAI Kotlin, precisamos de um conjunto mínimo. Prepare-se com:
- Chave da API OpenAI — registre-se em platform.openai.com, crie uma chave na seção API keys. Mantenha-a em segredo!
- Ambiente de desenvolvimento — IntelliJ IDEA (Community é suficiente) ou Android Studio, se estiver desenvolvendo para dispositivos móveis.
- Gradle ou Maven — para gerenciar as dependências.
Usaremos Retrofit Kotlin como cliente HTTP e Gson Kotlin para trabalhar com JSON. Por que eles? Retrofit oferece um código limpo e declarativo, e o Gson consegue transformar as respostas da API em data classes sem esforço extra.
Passo 1. Criar o projeto e adicionar as dependências
Crie um novo projeto Gradle (Kotlin/JVM). No arquivo build.gradle.kts, adicione:
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 é opcional, mas vai te salvar na depuração — você verá o que realmente é enviado ao servidor e o que retorna. Se estiver desenvolvendo para Android, adicione também implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.8.0").
Passo 2. Modelos de dados: como o ChatGPT "vê" sua requisição
A API OpenAI recebe e retorna um JSON estrito. Para não sofrer com parsing manual, vamos criar data classes. Esta é a base de qualquer exemplo de código Kotlin ChatGPT.
// Modelo de requisição para o ChatGPTdata class ChatRequest( val model: String = "gpt-4o-mini", // modelo mais barato e 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 resposta do ChatGPTdata class ChatResponse( val choices: List<Choice>?)
data class Choice( val message: Message?, val finish_reason: String?)Observe: definimos model como gpt-4o-mini — é um modelo moderno da OpenAI que custa centavos, mas oferece resultados decentes. Perfeito para testes.
Passo 3. Retrofit: configurar o cliente para comunicação com a OpenAI
Agora, criamos uma interface que descreverá nosso único endpoint. Esta é a abordagem clássica do Retrofit Kotlin.
interface OpenAiApi { @POST("v1/chat/completions") @Headers("Content-Type: application/json") suspend fun chatCompletion( @Header("Authorization") auth: String, @Body request: ChatRequest ): ChatResponse}Ponto chave: suspend