OpenAIKit is a Swift package used to communicate with the OpenAI API.


Add the dependency to Package.swift:

dependencies: [
    .package(url: "", from: "1.0.0")
targets: [
    .target(name: "App", dependencies: [
        .product(name: "OpenAIKit", package: "openai-kit"),

Register the config and the provider.

let httpClient = HTTPClient(...)
let configuration = Configuration(apiKey: "YOUR_API_KEY", organization: "YOUR_ORGANIZATION")

let openAIClient = OpenAIKit.Client(httpClient: httpClient, configuration: configuration)

Using the API

The OpenAIKit.Client implements a handful of methods to interact with the OpenAI API:

import OpenAIKit

let completion = try await openAIClient.completions.create(
    model: Model.GPT3.davinci,
    prompts: ["Write a haiku"]

What’s Implemented

Error handling

If the request to the API failed for any reason an OpenAIKit.APIErrorResponse is thrown. Simply ensure you catch errors thrown like any other throwing function

do {
} catch let error as APIErrorResponse {


View Github