Skip to content

OpenAI API client for Kotlin with multiplatform and coroutines capabilities.

License

Notifications You must be signed in to change notification settings

vgerbot-libraries/openai-kotlin

 
 

Repository files navigation

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.2.3"
}
  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.2.3')

    // 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

Create an instance of OpenAI client:

val openAI = OpenAI(apiKey)

In addition to creating an instance of OpenAI using just the API key, you can also use OpenAIConfig to configure the OpenAI client in a more detailed way.

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

val openAI = OpenAI(config)

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

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

Supported features

ℹ️ 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/' }
}

📄 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.

About

OpenAI API client for Kotlin with multiplatform and coroutines capabilities.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Kotlin 100.0%