Wie man die ChatGPT API in ein Kotlin-Projekt integriert: Schritt-für-Schritt-Anleitung

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Warum sollte man ChatGPT in eine Kotlin-App integrieren?



Stellen Sie sich vor: Sie schreiben eine App in Kotlin und plötzlich stellen Sie fest, dass ihr ein „Gehirn“ fehlt. Der Benutzer stellt eine Frage, und das Programm reagiert nicht. Kommt Ihnen das bekannt vor? Die Integration der ChatGPT API in Kotlin verwandelt eine gewöhnliche App in einen intelligenten Assistenten. Das ist kein modischer Trend, sondern ein praktisches Werkzeug: Chatbots, Content-Generatoren, Übersetzer, Code-Assistenten – all das können Sie selbst erstellen.



In diesem Artikel werden wir nicht um den heißen Brei herumreden. Ich zeige Ihnen, wie Sie in buchstäblich 15 Minuten ChatGPT in Ihr Projekt einbinden, unter Verwendung moderner Kotlin-Tools: Retrofit, OkHttp, Coroutines und Gson. Auch wenn Sie ein Anfänger sind, folgen Sie einfach den Schritten – der Code ist funktionsfähig und getestet.



Was brauchen wir? Werkzeuge und Vorbereitung



Für die Arbeit mit der OpenAI API Kotlin benötigen wir ein Minimum an Werkzeugen. Halten Sie bereit:



  • OpenAI-API-Schlüssel – Registrieren Sie sich auf platform.openai.com und erstellen Sie einen Schlüssel im Bereich API keys. Bewahren Sie ihn geheim auf!
  • Entwicklungsumgebung – IntelliJ IDEA (Community reicht aus) oder Android Studio, wenn Sie für Mobilgeräte entwickeln.
  • Gradle oder Maven – zum Einbinden von Abhängigkeiten.


Wir werden Retrofit Kotlin als HTTP-Client und Gson Kotlin für die Arbeit mit JSON verwenden. Warum gerade diese? Retrofit ermöglicht sauberen, deklarativen Code, und Gson kann API-Antworten ohne großen Aufwand in Data-Klassen umwandeln.



Schritt 1. Projekt erstellen und Abhängigkeiten einbinden



Erstellen Sie ein neues Gradle-Projekt (Kotlin/JVM). Fügen Sie in die Datei build.gradle.kts Folgendes ein:



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")}


Wichtig: logging-interceptor ist optional, aber er wird Sie beim Debuggen retten – Sie sehen, was tatsächlich zum Server gesendet und zurück empfangen wird. Wenn Sie für Android entwickeln, fügen Sie zusätzlich implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.8.0") hinzu.



Schritt 2. Datenmodelle: Wie ChatGPT Ihre Anfrage „sieht“



Die OpenAI API akzeptiert und liefert striktes JSON. Um sich nicht mit manuellem Parsing herumzuplagen, erstellen wir Data-Klassen. Dies ist die Grundlage jedes Kotlin-Codebeispiels für ChatGPT.



// Modell für die Anfrage an ChatGPTdata class ChatRequest(    val model: String = "gpt-4o-mini",  // das günstigste und schnellste Modell    val messages: List<Message>,    val temperature: Double = 0.7)

data class Message( val role: String, // "user", "assistant", "system" val content: String)

// Modell für die Antwort von ChatGPTdata class ChatResponse( val choices: List<Choice>?)

data class Choice( val message: Message?, val finish_reason: String?)


Beachten Sie: Als model setzen wir gpt-4o-mini – das ist ein modernes Modell von OpenAI, das nur wenig kostet, aber ordentliche Ergebnisse liefert. Für Tests ideal.



Schritt 3. Retrofit: Client für die Kommunikation mit OpenAI einrichten



Jetzt erstellen wir ein Interface, das unseren einzigen Endpunkt beschreibt. Dies ist der klassische Ansatz von Retrofit Kotlin.



interface OpenAiApi {    @POST("v1/chat/completions")    @Headers("Content-Type: application/json")    suspend fun chatCompletion(        @Header("Authorization") auth: String,        @Body request: ChatRequest    ): ChatResponse}


Der entscheidende Punkt: suspend

Blogs

Buchempfehlungen