Pourquoi intégrer ChatGPT dans une application Kotlin ?
Imaginez : vous écrivez une application en Kotlin et soudain, vous réalisez qu'il lui manque un « cerveau ». L'utilisateur pose une question, et le programme reste bloqué. Cela vous dit quelque chose ? L'intégration de l'API ChatGPT en Kotlin transforme une application ordinaire en un assistant intelligent. Ce n'est pas une tendance passagère, mais un outil fonctionnel : chatbots, générateurs de contenu, traducteurs, assistants de code — tout cela peut être réalisé par vous-même.
Dans cet article, nous ne tournerons pas autour du pot. Je vais vous montrer comment connecter ChatGPT à votre projet en seulement 15 minutes, en utilisant des outils Kotlin modernes : Retrofit, OkHttp, Coroutines et Gson. Même si vous êtes débutant, suivez simplement les étapes — le code est fonctionnel et testé.
De quoi avons-nous besoin ? Outils et préparation
Pour travailler avec l'API OpenAI Kotlin, nous avons besoin d'un ensemble minimal. Munissez-vous de :
- Clé API OpenAI — inscrivez-vous sur platform.openai.com, créez une clé dans la section API keys. Gardez-la secrète !
- Environnement de développement — IntelliJ IDEA (la version Community suffit) ou Android Studio si vous développez pour mobile.
- Gradle ou Maven — pour ajouter les dépendances.
Nous utiliserons Retrofit Kotlin comme client HTTP et Gson Kotlin pour travailler avec JSON. Pourquoi ceux-ci ? Retrofit offre un code propre et déclaratif, tandis que Gson transforme les réponses API en data-classes sans effort superflu.
Étape 1. Créer le projet et ajouter les dépendances
Créez un nouveau projet Gradle (Kotlin/JVM). Dans le fichier build.gradle.kts, ajoutez :
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")}Important : logging-interceptor n'est pas obligatoire, mais il vous sauvera lors du débogage — vous verrez ce qui est réellement envoyé au serveur et ce qui est reçu. Si vous développez pour Android, ajoutez également implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.8.0").
Étape 2. Modèles de données : comment ChatGPT « voit » votre requête
L'API OpenAI accepte et renvoie un JSON strict. Pour éviter de vous embêter avec un parsing manuel, créons des data-classes. C'est la base de tout exemple de code Kotlin ChatGPT.
// Modèle de requête vers ChatGPTdata class ChatRequest( val model: String = "gpt-4o-mini", // le modèle le moins cher et le plus rapide val messages: List<Message>, val temperature: Double = 0.7)
data class Message( val role: String, // "user", "assistant", "system" val content: String)
// Modèle de réponse de ChatGPTdata class ChatResponse( val choices: List<Choice>?)
data class Choice( val message: Message?, val finish_reason: String?)Remarque : nous définissons model sur gpt-4o-mini — c'est un modèle moderne d'OpenAI qui coûte peu mais donne des résultats satisfaisants. Idéal pour les tests.
Étape 3. Retrofit : configurer le client pour communiquer avec OpenAI
Créons maintenant une interface qui décrira notre unique endpoint. C'est l'approche classique 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}Point clé : suspend