Skip to content

Latest commit

 

History

History
132 lines (91 loc) · 4.34 KB

README.md

File metadata and controls

132 lines (91 loc) · 4.34 KB

OpenAI API client for Kotlin

Maven Central License Documentation

Kotlin client for OpenAI's API with multiplatform and coroutines capabilities.

📦 Setup

  1. Install OpenAI API Kotlin client by adding the following dependency to your build.gradle file:
repositories {
    mavenCentral()
}

dependencies {
    implementation "com.aallam.openai:openai-client:3.3.0"
}
  1. Choose and add to your dependencies one of Ktor's engines.

BOM

Alternatively, you can use openai-client-bom by adding the following dependency to your build.gradle file

dependencies {
    // import Kotlin API client BOM
    implementation platform('com.aallam.openai:openai-client-bom:3.3.0')

    // define dependencies without versions
    implementation 'com.aallam.openai:openai-client'
    runtimeOnly 'io.ktor:ktor-client-okhttp'
}

Multiplaform

In multiplatform projects, add openai client dependency to commonMain, and choose an engine for each target.

⚡️ Getting Started

Note: OpenAI encourages using environment variables for the API key. Read more.

Create an instance of OpenAI client:

val openai = OpenAI(
    token = "your-api-key",
    timeout = Timeout(socket = 60.seconds),
    // additional configurations...
)

Or you can create an instance of OpenAI using a pre-configured OpenAIConfig:

val config = OpenAIConfig(
    token = apiKey,
    timeout = Timeout(socket = 60.seconds),
    // additional configurations...
)

val openAI = OpenAI(config)

Use your OpenAI instance to make API requests. Learn more.

Supported features

📚 Guides

Get started and understand more about how to use OpenAI API client for Kotlin with these guides:

ℹ️ Sample apps

Sample apps are available under sample, please check the README for running instructions.

🔒 ProGuard / R8

The specific rules are already bundled into the Jar which can be interpreted by R8 automatically.

📸 Snapshots

Snapshot

Learn how to import snapshot version

To import snapshot versions into your project, add the following code snippet to your gradle file:

repositories {
   //...
   maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' }
}

⚠️️ Throubleshooting

I'm seeing "The model: gpt-4 does not exist"

The access to GPT-4 API is restricted at the moment. You can join the waitlist using this form.

📄 License

OpenAI Kotlin API Client is an open-sourced software licensed under the MIT license. This is an unofficial library, it is not affiliated with nor endorsed by OpenAI. Contributions are welcome.