Kotlin e ChatGPT: criando um assistente de IA para código

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Kotlin encontra IA: por que desenvolvedores Kotlin já usam o ChatGPT

\n\n

O mundo do desenvolvimento está mudando diante dos nossos olhos. Ontem ainda temíamos que as redes neurais substituíssem os programadores, e hoje — as usamos ativamente como superajudantes. E se você programa em Kotlin, tem uma vantagem única: esta linguagem é ideal para criar aplicações rápidas, modernas e seguras que podem se comunicar com o ChatGPT.

\n\n

Neste artigo, vamos explorar como usar o ChatGPT no desenvolvimento com Kotlin — não como um conceito teórico, mas como uma ferramenta de trabalho. Você aprenderá a integrar a API OpenAI no seu projeto, processar as respostas da rede neural e construir funcionalidades úteis a partir delas. Sem rodeios, com exemplos reais de código.

\n\n

Onde Kotlin e IA se encontram na prática

\n\n

Kotlin não é apenas Android. É backend com Ktor, microsserviços com Spring Boot, data science e até aplicações multiplataforma. Adicionando a API ChatGPT a isso, você obtém a capacidade de:

\n\n
    \n
  • Gerar automaticamente documentação de código
  • \n
  • Criar chatbots com linguagem natural
  • \n
  • Analisar a entrada do usuário e classificá-la
  • \n
  • Implementar busca "inteligente" em bases de conhecimento
  • \n
  • Verificar código em busca de erros e sugerir correções
  • \n
\n\n

E tudo isso — no seu Kotlin nativo. Nada de Python, nenhuma dependência extra. Apenas Ktor, ktor-client e um pouco de mágica de prompts.

\n\n

Preparando o projeto: conjunto mínimo para trabalhar com ChatGPT

\n\n

Para começar, precisamos de um cliente HTTP. No mundo Kotlin, a melhor escolha é o Ktor Client. Ele é leve, assíncrono e ideal para trabalhar com APIs REST.

\n\n

Adicione as dependências no build.gradle.kts:

\n\n
dependencies {\n    implementation("io.ktor:ktor-client-core:2.3.7")\n    implementation("io.ktor:ktor-client-cio:2.3.7")\n    implementation("io.ktor:ktor-client-content-negotiation:2.3.7")\n    implementation("io.ktor:ktor-serialization-kotlinx-json:2.3.7")\n    implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.2")\n}
\n\n

Agora, vamos criar uma classe simples para se comunicar com a OpenAI. Ela enviará requisições para a API ChatGPT e retornará a resposta de forma conveniente.

\n\n

Escrevendo o código: primeira requisição ao ChatGPT em Kotlin

\n\n

Vamos começar com o modelo de dados. Usaremos Kotlin Serialization para trabalhar com JSON.

\n\n
@Serializable\ndata class ChatMessage(\n    val role: String,\n    val content: String\n)\n\n@Serializable\ndata class ChatRequest(\n    val model: String = "gpt-3.5-turbo",\n    val messages: List<ChatMessage>,\n    val temperature: Double = 0.7\n)\n\n@Serializable\ndata class ChatResponse(\n    val choices: List<Choice>\n)\n\n@Serializable\ndata class Choice(\n    val message: ChatMessage\n)
\n\n

Agora, vamos escrever uma função que envia uma mensagem para o ChatGPT e retorna a resposta:

\n\n
class OpenAIClient(private val apiKey: String) {\n    private val client = HttpClient(CIO) {\n        install(ContentNegotiation) {\n            json(Json {\n                ignoreUnknownKeys = true\n            })\n        }\n    }\n\n    suspend fun ask(prompt: String): String {\n        val request = ChatRequest(\n            messages = listOf(\n                ChatMessage("user", prompt)\n            )\n        )\n\n        val response: ChatResponse = client.post("https://api.openai.com/v1/chat/completions") {\n            header("Authorization", "Bearer $apiKey")\n            contentType(ContentType.Application.Json)\n            setBody(request)\n        }.body()\n\n        return response.choices.first().message.content\n    }\n}
\n\n

Observe: usamos uma função suspend — isso significa que a chamada não bloqueia a thread. Perfeito

Blogs

Book Recommendations