Skip to content

Commit 4d7a1c9

Browse files
committed
Add methods for configuring CreateChatCompletionSettings with various parameters including temperature, top_p, max_tokens, and more.
1 parent 00b63bb commit 4d7a1c9

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

openai-core/src/main/scala/io/cequence/openaiscala/domain/settings/CreateChatCompletionSettings.scala

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,9 +126,45 @@ case class CreateChatCompletionSettings(
126126
extra_params: Map[String, Any] = Map.empty
127127
) {
128128

129+
def withTemperature(temperature: Double): CreateChatCompletionSettings =
130+
copy(temperature = Some(temperature))
131+
132+
def withTopP(topP: Double): CreateChatCompletionSettings =
133+
copy(top_p = Some(topP))
134+
135+
def withMaxTokens(maxTokens: Int): CreateChatCompletionSettings =
136+
copy(max_tokens = Some(maxTokens))
137+
138+
def withPresencePenalty(presencePenalty: Double): CreateChatCompletionSettings =
139+
copy(presence_penalty = Some(presencePenalty))
140+
141+
def withFrequencyPenalty(frequencyPenalty: Double): CreateChatCompletionSettings =
142+
copy(frequency_penalty = Some(frequencyPenalty))
143+
144+
def withLogitBias(logitBias: Map[String, Int]): CreateChatCompletionSettings =
145+
copy(logit_bias = logitBias)
146+
147+
def withTopLogprobs(topLogprobs: Int): CreateChatCompletionSettings =
148+
copy(top_logprobs = Some(topLogprobs))
149+
150+
def withResponseFormatType(responseFormatType: ChatCompletionResponseFormatType)
151+
: CreateChatCompletionSettings =
152+
copy(response_format_type = Some(responseFormatType))
153+
154+
def withReasoningEffort(reasoningEffort: ReasoningEffort): CreateChatCompletionSettings =
155+
copy(reasoning_effort = Some(reasoningEffort))
156+
157+
def withServiceTier(serviceTier: ServiceTier): CreateChatCompletionSettings =
158+
copy(service_tier = Some(serviceTier))
159+
160+
def withParallelToolCalls(parallelToolCalls: Boolean): CreateChatCompletionSettings =
161+
copy(parallel_tool_calls = Some(parallelToolCalls))
162+
129163
def withJsonSchema(jsonSchema: JsonSchemaDef): CreateChatCompletionSettings =
130164
copy(jsonSchema = Some(jsonSchema))
131165

166+
def withExtraParams(extraParams: Map[String, Any]): CreateChatCompletionSettings =
167+
copy(extra_params = extraParams)
132168
}
133169

134170
sealed trait ChatCompletionResponseFormatType extends EnumValue

0 commit comments

Comments
 (0)