Thinking
Switches a model between its thinking and non-thinking mode.
Omitting this field is equivalent to ThinkingType.ENABLED. A thinking response carries its chain-of-thought in AssistantMessage.reasoningContent and bills the extra tokens under CompletionTokenDetails.reasoningTokens; the non-thinking mode answers faster and cheaper. Either way ChatCompletion.model echoes the slug that was sent.
How long that reasoning pass runs is a separate, top-level request field — see ReasoningEffort.
Example:
val params = chatCompletionParams {
model = ChatModel.DEEPSEEK_FLASH
thinking = Thinking(ThinkingType.DISABLED) // skip the reasoning pass
}Content copied to clipboard