Um eine Verbindung zu der ChatGPT-API von OpenAI über Swift herzustellen, müssen Sie als Erstes sicherstellen, dass Sie über die notwendige API-Version sowie den erforderlichen API-Schlüssel verfügen. Wenn Sie diese Informationen bereit haben, können Sie einen HTTP-Client erstellen und einen POST-Request zur API-Endpunkt-URL senden. Hier ist ein rudimentäres Beispiel dafür, wie das aussehen könnte:
```swift
import Foundation
struct Response: Codable {
let id: String
let object: String
let created: Int
let model: String
let choices: [Choice]
}
struct Choice: Codable {
let text: String
let index: Int
let logprobs: AnyObject
let finishReason: String
}
var request = URLRequest(url: URL!)
request.httpMethod = “POST“
let parameters = [
“prompt”: “Übersetze den folgenden englischen Text ins Deutsche: Swift is a powerful and intuitive programming language for iOS, macOS, watchOS, and tvOS. “,
“max_tokens”: 60
] as [String : Any]
request.httpBody = try? JSONSerialization.data(withJSONObject: parameters, options: .prettyPrinted)
request.addValue(“Bearer YOUR_OPEN_AI_KEY”, forHTTPHeaderField: “Authorization”)
request.addValue(“application/json”, forHTTPHeaderField: “Content-Type”)
let task = URLSession.shared.dataTask(with: request) { data, response, error in guard let data = data, let response = try? JSONDecoder().decode(Response.self, from: data) else { print(“No data or \(error!.localizedDescription)”) return }
print(“Response Data:\n”, response) }task.resume()
```
Ersetzen Sie “YOUR_OPEN_AI_KEY” durch Ihren tatsächlichen API-Schlüssel. Stellen Sie sicher, dass Sie Fehler angemessen behandeln und sicherheitsrelevante Aspekte berücksichtigen. Überlegen Sie auch, wie Sie die Antwort verarbeiten, um das Gespräch fortzusetzen.
Es sei darauf hingewiesen, dass der Code über “URLSession”, das native Netzwerkmodul von Swift, ausgeführt wird. Abhängig von Ihrem spezifischen Anwendungsfall können Sie erwägen, Bibliotheken wie Alamofire zu verwenden, um Netzwerkanfragen zu vereinfachen und bessere Kontrolle und Fehlertoleranz zu haben.