diff --git a/openai-client/src/main/scala/io/cequence/openaiscala/service/impl/EndPoint.scala b/openai-client/src/main/scala/io/cequence/openaiscala/service/impl/EndPoint.scala index 09e52885..cdffebf3 100644 --- a/openai-client/src/main/scala/io/cequence/openaiscala/service/impl/EndPoint.scala +++ b/openai-client/src/main/scala/io/cequence/openaiscala/service/impl/EndPoint.scala @@ -34,6 +34,7 @@ object Param { case object model extends Param case object prompt extends Param case object suffix extends Param + @Deprecated case object max_tokens extends Param case object temperature extends Param case object top_p extends Param diff --git a/openai-client/src/main/scala/io/cequence/openaiscala/service/impl/OpenAIChatCompletionServiceImpl.scala b/openai-client/src/main/scala/io/cequence/openaiscala/service/impl/OpenAIChatCompletionServiceImpl.scala index e7fb8483..746de834 100644 --- a/openai-client/src/main/scala/io/cequence/openaiscala/service/impl/OpenAIChatCompletionServiceImpl.scala +++ b/openai-client/src/main/scala/io/cequence/openaiscala/service/impl/OpenAIChatCompletionServiceImpl.scala @@ -114,7 +114,7 @@ trait ChatCompletionBodyMaker { case _ => Some(settingsFinal.stop) } }, - Param.max_tokens -> settingsFinal.max_tokens, + Param.max_completion_tokens -> settingsFinal.max_tokens, Param.presence_penalty -> settingsFinal.presence_penalty, Param.frequency_penalty -> settingsFinal.frequency_penalty, Param.logit_bias -> { diff --git a/openai-core/src/main/scala/io/cequence/openaiscala/domain/ModelId.scala b/openai-core/src/main/scala/io/cequence/openaiscala/domain/ModelId.scala index 90795d2b..87a05659 100644 --- a/openai-core/src/main/scala/io/cequence/openaiscala/domain/ModelId.scala +++ b/openai-core/src/main/scala/io/cequence/openaiscala/domain/ModelId.scala @@ -134,6 +134,12 @@ object ModelId { val canary_tts = "canary-tts" val canary_whisper = "canary-whisper" + val gpt_5 = "gpt-5" + val gpt_5_2025_08_07 = "gpt-5-2025-08-07" + val gpt_5_nano = "gpt-5-nano" + val gpt_5_mini = "gpt-5-mini" + val gpt_5_mini_2025_08_07 = "gpt-5-mini-2025-08-07" + val gpt_4o_mini_transcribe = "gpt-4o-mini-transcribe" val gpt_4o_mini_audio_preview = "gpt-4o-mini-audio-preview" val gpt_4o_mini_vision_preview = "gpt-4o-mini-vision-preview" diff --git a/openai-core/src/main/scala/io/cequence/openaiscala/service/adapter/ChatCompletionSettingsConversions.scala b/openai-core/src/main/scala/io/cequence/openaiscala/service/adapter/ChatCompletionSettingsConversions.scala index 851ddf12..787dd3fa 100644 --- a/openai-core/src/main/scala/io/cequence/openaiscala/service/adapter/ChatCompletionSettingsConversions.scala +++ b/openai-core/src/main/scala/io/cequence/openaiscala/service/adapter/ChatCompletionSettingsConversions.scala @@ -35,17 +35,6 @@ object ChatCompletionSettingsConversions { } private val oBaseConversions = Seq( - // max tokens - FieldConversionDef( - _.max_tokens.isDefined, - settings => - settings.copy( - max_tokens = None, - extra_params = - settings.extra_params + ("max_completion_tokens" -> settings.max_tokens.get) - ), - Some("O models don't support max_tokens, converting to max_completion_tokens") - ), // temperature FieldConversionDef( settings => settings.temperature.isDefined && settings.temperature.get != 1,