DeepSeekClient

Client for unary (non-streaming) interactions with the DeepSeek API.

Use the DeepSeekClient top-level function to create instances. The client exposes chat completion, Fill-In-the-Middle completion, user balance, and model listing endpoints as extension functions declared in the org.oremif.deepseek.api package.

The client is designed to be long-lived — create one instance and reuse it. Calling close is usually unnecessary.

Example:

val client = DeepSeekClient(System.getenv("DEEPSEEK_API_KEY"))
val response = client.chat("Hello!")
println(response.choices.first().message.content)

Types

Link copied to clipboard
class Builder(token: String? = null) : DeepSeekClientBase.Builder

Builder for configuring and creating DeepSeekClient instances.

Properties

Link copied to clipboard

Configuration options for the DeepSeek client

Functions

Link copied to clipboard

Sends a chat request with default parameters and a DSL for building messages.

suspend fun DeepSeekClient.chat(message: String): ChatCompletion

Sends a single user message to the chat API.

Sends a chat request with default parameters.

Sends a chat request with custom parameters and a DSL for building messages.

Sends a chat request with custom parameters and messages.

Link copied to clipboard

Sends a fully customizable chat completion request.

Sends a chat completion request to the DeepSeek API.

Link copied to clipboard

Streams chat completion responses chunk by chunk from the DeepSeek API.

Link copied to clipboard
open fun close()

Closes the underlying HTTP client and releases its resources.

Link copied to clipboard
open suspend fun closeAndJoin()

Closes the underlying HTTP client and suspends until its coroutine scope completes.

Link copied to clipboard
suspend fun DeepSeekClient.fim(prompt: String): FIMCompletion

Generates a completion using the Fill-In-the-Middle capability with default parameters.

Generates a completion using the Fill-In-the-Middle capability with custom parameters.

Link copied to clipboard

Creates a fully customizable FIM completion request using a builder pattern.

Sends a Fill-In-the-Middle (FIM) completion request to the DeepSeek API.

Link copied to clipboard

Streams Fill-In-the-Middle (FIM) completions chunk by chunk from the DeepSeek API.

Link copied to clipboard

Retrieves the list of DeepSeek models available for the current API key.

Link copied to clipboard

Retrieves the current user's available API balance.