ChatGPTSwift

Alt text

Access ChatGPT “Official” API from Swift. Works on all Apple platforms.

Supported Platforms

  • iOS/tvOS 15 and above
  • macOS 12 and above
  • watchOS 8 and above

Requirement

Register for API key from OpenAPI. Initialize with api key

let api = ChatGPTAPI(apiKey: "API_KEY")

Usage

There are 2 APIs: stream and normal

Stream

The server will stream data one by one until complete, the method AsyncThrowingStream which you can loop using For-Loop like so:

Task {
    do {
        let stream = try await api.sendMessageStream(text: "What is ChatGPT?")
        for try await line in stream {
            print(line)
        }
    } catch {
        print(error.localizedDescription)
    }
}

Normal

A normal HTTP request and response lifecycle. Server will send the complete text (it will take more time to response)

Task {
    do {
        let response = try await api.sendMessage(text: "What is ChatGPT?")
        print(response)
    } catch {
        print(error.localizedDescription)
    }
}
        

GitHub

View Github