ChatCompletionParams

Parameters for configuring chat completion requests to DeepSeek models.

This class encapsulates all the options available when sending chat completion requests, allowing fine-grained control over the model's behavior and output.

Example:

val params = chatCompletionParams {
model = ChatModel.DEEPSEEK_CHAT
temperature = 0.7
maxTokens = 1000
presencePenalty = 0.5
}

client.chat(params, messages)

Types

Link copied to clipboard
class Builder

Builder for creating ChatCompletionParams with standard (non-streaming) configuration.

Link copied to clipboard

Builder for creating ChatCompletionParams specifically configured for streaming responses.

Properties

Link copied to clipboard

Reduces repetition by penalizing tokens based on their frequency in the text

Link copied to clipboard
val logprobs: Boolean? = null

Whether to return log probabilities of output tokens

Link copied to clipboard
val maxTokens: Int? = null

Maximum number of tokens to generate in the response

Link copied to clipboard

The DeepSeek model to use for chat completion

Link copied to clipboard
val presencePenalty: Double? = null

Reduces repetition by penalizing tokens that have appeared in the text

Link copied to clipboard

Format specification for the model's output

Link copied to clipboard
val stop: StopReason? = null

Custom stop sequence that causes the model to stop generating further tokens

Link copied to clipboard
val stream: Boolean? = null

Whether to stream the response back piece by piece

Link copied to clipboard

Configuration options for streaming responses

Link copied to clipboard
val temperature: Double? = null

Controls randomness in output generation (higher = more random)

Link copied to clipboard
val toolChoice: ToolChoice? = null

Controls how the model selects tools to use

Link copied to clipboard
val tools: List<Tool>? = null

List of tools that the model may use during chat completion

Link copied to clipboard
val topLogprobs: Int? = null

How many most likely tokens to return at each position (max 20)

Link copied to clipboard
val topP: Double? = null

Controls diversity via nucleus sampling (consider only tokens with top_p probability mass)

Functions

Link copied to clipboard

Creates chat completion parameters with custom settings.

Link copied to clipboard

Creates chat completion stream parameters with custom settings.

Link copied to clipboard
fun copy(model: ChatModel = this.model, frequencyPenalty: Double? = this.frequencyPenalty, maxTokens: Int? = this.maxTokens, presencePenalty: Double? = this.presencePenalty, responseFormat: ResponseFormat? = this.responseFormat, stop: StopReason? = this.stop, stream: Boolean? = this.stream, streamOptions: StreamOptions? = this.streamOptions, temperature: Double? = this.temperature, topP: Double? = this.topP, tools: List<Tool>? = this.tools, toolChoice: ToolChoice? = this.toolChoice, logprobs: Boolean? = this.logprobs, topLogprobs: Int? = this.topLogprobs): ChatCompletionParams

Creates a copy of these parameters with optional changes to specific properties.

Link copied to clipboard

Creates a ChatCompletionRequest from these parameters and the provided messages.

Link copied to clipboard
open operator override fun equals(other: Any?): Boolean
Link copied to clipboard

Creates file-in-the-middle (FIM) completion parameters with custom settings.

Link copied to clipboard

Creates file-in-the-middle (FIM) completion stream parameters with custom settings.

Link copied to clipboard
open override fun hashCode(): Int
Link copied to clipboard
open override fun toString(): String