ChatGPT API auf Swift: Integration in 30 Minuten

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 Swift und ChatGPT Liebe auf den ersten Commit sind



Stellen Sie sich vor: Sie schreiben eine App in Swift, und plötzlich merken Sie, dass ihr das „Gehirn“ fehlt. Der Benutzer stellt eine Frage, und Ihr Code schweigt wie ein Fisch auf dem Trockenen. Kommt Ihnen das bekannt vor? Bis vor kurzem war es schwierig, Intelligenz in eine iOS-App zu integrieren: Man musste entweder ein eigenes NLP-Modell schreiben oder schwere Bibliotheken einbinden. Jetzt ist alles anders.



ChatGPT API auf Swift ist nicht nur ein modisches Feature, sondern ein echtes Werkzeug, das Ihre App in einen intelligenten Assistenten verwandeln kann. Möchten Sie einen KI-Assistenten, einen Content-Generator oder einfach einen Chatbot erstellen? All das kann an einem Abend umgesetzt werden. In diesem Artikel zeige ich Ihnen, wie Sie OpenAI API in Swift von Grund auf einbinden, ohne überflüssige Magie oder komplexe Architekturen. Los geht's!



Was brauchen wir?



Bevor wir in den Code springen, lassen Sie uns die Werkzeuge klären. Für die Arbeit mit ChatGPT in iOS benötigen Sie nur drei Dinge:



  • OpenAI-API-Schlüssel — Registrieren Sie sich auf platform.openai.com, erstellen Sie einen Schlüssel im Bereich API Keys. Bewahren Sie ihn wie Ihren Augapfel – committen Sie ihn nicht in Git!
  • Xcode 15+ — um modernes Swift mit async/await zu nutzen.
  • Grundlegendes Verständnis von SwiftUI oder UIKit — ich zeige ein Beispiel mit SwiftUI, aber die Logik der Netzwerkarbeit ist universell.


Bereit? Dann öffnen Sie Xcode, erstellen Sie ein neues Projekt (iOS App, SwiftUI, Sprache – Swift) und los geht's mit dem Schreiben von Code.



Architektur der Anfrage: Wie man mit ChatGPT auf Swift „spricht“



OpenAI stellt eine REST-API bereit. Das bedeutet, wir senden HTTP-Anfragen und erhalten JSON-Antworten. Die gesamte Kommunikation erfolgt über den Endpunkt https://api.openai.com/v1/chat/completions. Wir müssen eine POST-Anfrage mit einem Body senden, der ein Array von Nachrichten (Rolle + Inhalt) enthält, und erhalten eine Antwort vom Modell.



Lassen Sie uns ein Datenmodell für Anfrage und Antwort erstellen. Dies ist ein ideales Beispiel für die Verwendung von Decodable in Swift.



// Modell für eine einzelne Nachrichtstruct Message: Codable {    let role: String      // "system", "user" oder "assistant"    let content: String}

// Struktur für die API-Anfragestruct ChatGPTRequest: Codable { let model: String let messages: [Message] let temperature: Double?

init(model: String = "gpt-4o-mini", messages: [Message], temperature: Double = 0.7) { self.model = model self.messages = messages self.temperature = temperature }}

// Struktur für die Antwortstruct ChatGPTResponse: Codable { struct Choice: Codable { let message: Message let finishReason: String?

enum CodingKeys: String, CodingKey { case message case finishReason = "finish_reason" } }

let choices: [Choice]}


Beachten Sie die CodingKeys – in Swift werden Eigenschaftsnamen in camelCase geschrieben, während die API snake_case zurückgibt. Dies ist eine Standardtechnik für die Arbeit mit API in Swift.



Netzwerkschicht: URLSession + async/await



Jetzt kommt der spannende Teil – das Senden der Anfrage. Ich verwende modernes async/await, damit der Code sauber und lesbar ist. Keine Closures und Delegates – nur Schönheit.



class ChatGPTService {

private let apiKey: String private let session = URLSession.shared private let baseURL = URL(string: "https://api.openai.com/v1/chat/completions")!

init(apiKey: String) { self.apiKey = apiKey }

func sendMessage(_ text: String) async throws -> String {

// Nachrichten erstellen: system prompt + Benutzeranfrage let systemMessage = Message(role: "system", content: "Du bist ein hilfreicher Assistent. Antworte kurz und präzise.") let userMessage = Mess

Blogs

Buchempfehlungen