A community Swift package used to interact with the OpenAI API

OpenAIKit

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

Setup

Add the dependency to Package.swift:

dependencies: [
    ...
    .package(url: "https://github.com/dylanshine/openai-kit.git", 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 {
    print(error)
}

GitHub

View Github