SDKs
Kotlin SDK
Install and use the Assisters Kotlin SDK
Installation
Add to build.gradle.kts:
dependencies {
implementation("io.misar:assisters-kotlin:1.0.0")
}Quick Start
import io.misar.assisters.AssistersClient
import io.misar.assisters.models.*
suspend fun main() {
val client = AssistersClient(apiKey = System.getenv("ASSISTERS_API_KEY"))
val response = client.chat.completions.create(
ChatCompletionRequest(
model = "assisters-chat-v1",
messages = listOf(ChatMessage(role = "user", content = "Hello, world!")),
)
)
println(response.choices.first().message.content)
client.close()
}Available Methods
| Method | Description |
|---|---|
client.chat.completions.create(request) | Create a chat completion |
client.chat.completions.createStream(request) | Create a streaming completion — returns Flow<ChatCompletionChunk> |
client.embeddings.create(request) | Generate embeddings |
client.moderations.create(request) | Moderate text content |
client.rerank.create(request) | Rerank documents against a query |
client.models.list() | List available models |
client.audio.transcriptions.create(request) | Transcribe an audio file |
client.close() | Close the underlying HTTP client |
Streaming
val flow = client.chat.completions.createStream(
ChatCompletionRequest(
model = "assisters-chat-v1",
messages = listOf(ChatMessage(role = "user", content = "Tell me a story")),
stream = true,
)
)
flow.collect { chunk ->
val content = chunk.choices.firstOrNull()?.delta?.content
if (content != null) print(content)
}Error Handling
import io.misar.assisters.exceptions.*
try {
val response = client.chat.completions.create(request)
println(response.choices.first().message.content)
} catch (e: AssistersApiException) {
println("API error ${e.statusCode}: ${e.message}")
} catch (e: AssistersNetworkException) {
println("Network error: ${e.message}")
}