From e956a759b120de35cbe22111a5c3b401d91d74b8 Mon Sep 17 00:00:00 2001 From: Ilayaperumal Gopinathan Date: Tue, 2 Dec 2025 17:25:14 +0000 Subject: [PATCH] Remove default temperature option from the models - remove default temperature option from the models' autoconfiguration properties Signed-off-by: Ilayaperumal Gopinathan --- .../anthropic/autoconfigure/AnthropicChatProperties.java | 1 - .../openai/autoconfigure/AzureOpenAiChatProperties.java | 3 --- .../deepseek/autoconfigure/DeepSeekChatProperties.java | 7 +------ .../model/minimax/autoconfigure/MiniMaxChatProperties.java | 7 +------ .../mistralai/autoconfigure/MistralAiChatProperties.java | 3 --- .../genai/autoconfigure/OCICohereChatModelProperties.java | 3 --- .../openaisdk/autoconfigure/OpenAiSdkChatProperties.java | 7 +------ .../autoconfigure/OpenAiAudioTranscriptionProperties.java | 3 --- .../model/zhipuai/autoconfigure/ZhiPuAiChatProperties.java | 7 +------ .../springframework/ai/anthropic/AnthropicChatModel.java | 3 --- .../ai/azure/openai/AzureOpenAiChatModel.java | 3 --- .../springframework/ai/oci/cohere/OCICohereChatModel.java | 4 +--- 12 files changed, 5 insertions(+), 46 deletions(-) diff --git a/auto-configurations/models/spring-ai-autoconfigure-model-anthropic/src/main/java/org/springframework/ai/model/anthropic/autoconfigure/AnthropicChatProperties.java b/auto-configurations/models/spring-ai-autoconfigure-model-anthropic/src/main/java/org/springframework/ai/model/anthropic/autoconfigure/AnthropicChatProperties.java index 83058bfa273..5e357f7d768 100644 --- a/auto-configurations/models/spring-ai-autoconfigure-model-anthropic/src/main/java/org/springframework/ai/model/anthropic/autoconfigure/AnthropicChatProperties.java +++ b/auto-configurations/models/spring-ai-autoconfigure-model-anthropic/src/main/java/org/springframework/ai/model/anthropic/autoconfigure/AnthropicChatProperties.java @@ -42,7 +42,6 @@ public class AnthropicChatProperties { private final AnthropicChatOptions options = AnthropicChatOptions.builder() .model(AnthropicChatModel.DEFAULT_MODEL_NAME) .maxTokens(AnthropicChatModel.DEFAULT_MAX_TOKENS) - .temperature(AnthropicChatModel.DEFAULT_TEMPERATURE) .build(); public AnthropicChatOptions getOptions() { diff --git a/auto-configurations/models/spring-ai-autoconfigure-model-azure-openai/src/main/java/org/springframework/ai/model/azure/openai/autoconfigure/AzureOpenAiChatProperties.java b/auto-configurations/models/spring-ai-autoconfigure-model-azure-openai/src/main/java/org/springframework/ai/model/azure/openai/autoconfigure/AzureOpenAiChatProperties.java index eb25cb30388..5f544f28bff 100644 --- a/auto-configurations/models/spring-ai-autoconfigure-model-azure-openai/src/main/java/org/springframework/ai/model/azure/openai/autoconfigure/AzureOpenAiChatProperties.java +++ b/auto-configurations/models/spring-ai-autoconfigure-model-azure-openai/src/main/java/org/springframework/ai/model/azure/openai/autoconfigure/AzureOpenAiChatProperties.java @@ -27,12 +27,9 @@ public class AzureOpenAiChatProperties { public static final String DEFAULT_DEPLOYMENT_NAME = "gpt-4o"; - private static final Double DEFAULT_TEMPERATURE = 0.7; - @NestedConfigurationProperty private final AzureOpenAiChatOptions options = AzureOpenAiChatOptions.builder() .deploymentName(DEFAULT_DEPLOYMENT_NAME) - .temperature(DEFAULT_TEMPERATURE) .build(); public AzureOpenAiChatOptions getOptions() { diff --git a/auto-configurations/models/spring-ai-autoconfigure-model-deepseek/src/main/java/org/springframework/ai/model/deepseek/autoconfigure/DeepSeekChatProperties.java b/auto-configurations/models/spring-ai-autoconfigure-model-deepseek/src/main/java/org/springframework/ai/model/deepseek/autoconfigure/DeepSeekChatProperties.java index 4e6e8e4f58d..0cc15049157 100644 --- a/auto-configurations/models/spring-ai-autoconfigure-model-deepseek/src/main/java/org/springframework/ai/model/deepseek/autoconfigure/DeepSeekChatProperties.java +++ b/auto-configurations/models/spring-ai-autoconfigure-model-deepseek/src/main/java/org/springframework/ai/model/deepseek/autoconfigure/DeepSeekChatProperties.java @@ -33,8 +33,6 @@ public class DeepSeekChatProperties extends DeepSeekParentProperties { public static final String DEFAULT_CHAT_MODEL = DeepSeekApi.ChatModel.DEEPSEEK_CHAT.getValue(); - private static final Double DEFAULT_TEMPERATURE = 1D; - public static final String DEFAULT_COMPLETIONS_PATH = "/chat/completions"; public static final String DEFAULT_BETA_PREFIX_PATH = "/beta"; @@ -49,10 +47,7 @@ public class DeepSeekChatProperties extends DeepSeekParentProperties { private String betaPrefixPath = DEFAULT_BETA_PREFIX_PATH; @NestedConfigurationProperty - private final DeepSeekChatOptions options = DeepSeekChatOptions.builder() - .model(DEFAULT_CHAT_MODEL) - .temperature(DEFAULT_TEMPERATURE) - .build(); + private final DeepSeekChatOptions options = DeepSeekChatOptions.builder().model(DEFAULT_CHAT_MODEL).build(); public DeepSeekChatOptions getOptions() { return this.options; diff --git a/auto-configurations/models/spring-ai-autoconfigure-model-minimax/src/main/java/org/springframework/ai/model/minimax/autoconfigure/MiniMaxChatProperties.java b/auto-configurations/models/spring-ai-autoconfigure-model-minimax/src/main/java/org/springframework/ai/model/minimax/autoconfigure/MiniMaxChatProperties.java index 8eb78d54a4b..756d848d7b8 100644 --- a/auto-configurations/models/spring-ai-autoconfigure-model-minimax/src/main/java/org/springframework/ai/model/minimax/autoconfigure/MiniMaxChatProperties.java +++ b/auto-configurations/models/spring-ai-autoconfigure-model-minimax/src/main/java/org/springframework/ai/model/minimax/autoconfigure/MiniMaxChatProperties.java @@ -33,13 +33,8 @@ public class MiniMaxChatProperties extends MiniMaxParentProperties { public static final String DEFAULT_CHAT_MODEL = MiniMaxApi.ChatModel.ABAB_5_5_Chat.value; - private static final Double DEFAULT_TEMPERATURE = 0.7; - @NestedConfigurationProperty - private final MiniMaxChatOptions options = MiniMaxChatOptions.builder() - .model(DEFAULT_CHAT_MODEL) - .temperature(DEFAULT_TEMPERATURE) - .build(); + private final MiniMaxChatOptions options = MiniMaxChatOptions.builder().model(DEFAULT_CHAT_MODEL).build(); public MiniMaxChatOptions getOptions() { return this.options; diff --git a/auto-configurations/models/spring-ai-autoconfigure-model-mistral-ai/src/main/java/org/springframework/ai/model/mistralai/autoconfigure/MistralAiChatProperties.java b/auto-configurations/models/spring-ai-autoconfigure-model-mistral-ai/src/main/java/org/springframework/ai/model/mistralai/autoconfigure/MistralAiChatProperties.java index eae92c59fcc..4177a7e86f8 100644 --- a/auto-configurations/models/spring-ai-autoconfigure-model-mistral-ai/src/main/java/org/springframework/ai/model/mistralai/autoconfigure/MistralAiChatProperties.java +++ b/auto-configurations/models/spring-ai-autoconfigure-model-mistral-ai/src/main/java/org/springframework/ai/model/mistralai/autoconfigure/MistralAiChatProperties.java @@ -37,8 +37,6 @@ public class MistralAiChatProperties extends MistralAiParentProperties { public static final String DEFAULT_CHAT_MODEL = MistralAiApi.ChatModel.SMALL.getValue(); - private static final Double DEFAULT_TEMPERATURE = 0.7; - private static final Double DEFAULT_TOP_P = 1.0; private static final Boolean IS_ENABLED = false; @@ -46,7 +44,6 @@ public class MistralAiChatProperties extends MistralAiParentProperties { @NestedConfigurationProperty private final MistralAiChatOptions options = MistralAiChatOptions.builder() .model(DEFAULT_CHAT_MODEL) - .temperature(DEFAULT_TEMPERATURE) .safePrompt(!IS_ENABLED) .topP(DEFAULT_TOP_P) .build(); diff --git a/auto-configurations/models/spring-ai-autoconfigure-model-oci-genai/src/main/java/org/springframework/ai/model/oci/genai/autoconfigure/OCICohereChatModelProperties.java b/auto-configurations/models/spring-ai-autoconfigure-model-oci-genai/src/main/java/org/springframework/ai/model/oci/genai/autoconfigure/OCICohereChatModelProperties.java index 3b28310c56c..b902cbba432 100644 --- a/auto-configurations/models/spring-ai-autoconfigure-model-oci-genai/src/main/java/org/springframework/ai/model/oci/genai/autoconfigure/OCICohereChatModelProperties.java +++ b/auto-configurations/models/spring-ai-autoconfigure-model-oci-genai/src/main/java/org/springframework/ai/model/oci/genai/autoconfigure/OCICohereChatModelProperties.java @@ -32,12 +32,9 @@ public class OCICohereChatModelProperties { private static final String DEFAULT_SERVING_MODE = ServingMode.ON_DEMAND.getMode(); - private static final Double DEFAULT_TEMPERATURE = 0.7; - @NestedConfigurationProperty private final OCICohereChatOptions options = OCICohereChatOptions.builder() .servingMode(DEFAULT_SERVING_MODE) - .temperature(DEFAULT_TEMPERATURE) .build(); public OCICohereChatOptions getOptions() { diff --git a/auto-configurations/models/spring-ai-autoconfigure-model-openai-sdk/src/main/java/org/springframework/ai/model/openaisdk/autoconfigure/OpenAiSdkChatProperties.java b/auto-configurations/models/spring-ai-autoconfigure-model-openai-sdk/src/main/java/org/springframework/ai/model/openaisdk/autoconfigure/OpenAiSdkChatProperties.java index 717c9bcd25b..ccd98a69e25 100644 --- a/auto-configurations/models/spring-ai-autoconfigure-model-openai-sdk/src/main/java/org/springframework/ai/model/openaisdk/autoconfigure/OpenAiSdkChatProperties.java +++ b/auto-configurations/models/spring-ai-autoconfigure-model-openai-sdk/src/main/java/org/springframework/ai/model/openaisdk/autoconfigure/OpenAiSdkChatProperties.java @@ -33,13 +33,8 @@ public class OpenAiSdkChatProperties extends AbstractOpenAiSdkOptions { public static final String DEFAULT_CHAT_MODEL = OpenAiSdkChatOptions.DEFAULT_CHAT_MODEL; - private static final Double DEFAULT_TEMPERATURE = 1.0; - @NestedConfigurationProperty - private final OpenAiSdkChatOptions options = OpenAiSdkChatOptions.builder() - .model(DEFAULT_CHAT_MODEL) - .temperature(DEFAULT_TEMPERATURE) - .build(); + private final OpenAiSdkChatOptions options = OpenAiSdkChatOptions.builder().model(DEFAULT_CHAT_MODEL).build(); public OpenAiSdkChatOptions getOptions() { return this.options; diff --git a/auto-configurations/models/spring-ai-autoconfigure-model-openai/src/main/java/org/springframework/ai/model/openai/autoconfigure/OpenAiAudioTranscriptionProperties.java b/auto-configurations/models/spring-ai-autoconfigure-model-openai/src/main/java/org/springframework/ai/model/openai/autoconfigure/OpenAiAudioTranscriptionProperties.java index 68b9a92d53b..2fe5a375118 100644 --- a/auto-configurations/models/spring-ai-autoconfigure-model-openai/src/main/java/org/springframework/ai/model/openai/autoconfigure/OpenAiAudioTranscriptionProperties.java +++ b/auto-configurations/models/spring-ai-autoconfigure-model-openai/src/main/java/org/springframework/ai/model/openai/autoconfigure/OpenAiAudioTranscriptionProperties.java @@ -28,14 +28,11 @@ public class OpenAiAudioTranscriptionProperties extends OpenAiParentProperties { public static final String DEFAULT_TRANSCRIPTION_MODEL = OpenAiAudioApi.TranscriptionModels.WHISPER_1.getValue(); - private static final Double DEFAULT_TEMPERATURE = 0.7; - private static final OpenAiAudioApi.TranscriptResponseFormat DEFAULT_RESPONSE_FORMAT = OpenAiAudioApi.TranscriptResponseFormat.TEXT; @NestedConfigurationProperty private final OpenAiAudioTranscriptionOptions options = OpenAiAudioTranscriptionOptions.builder() .model(DEFAULT_TRANSCRIPTION_MODEL) - .temperature(DEFAULT_TEMPERATURE.floatValue()) .responseFormat(DEFAULT_RESPONSE_FORMAT) .build(); diff --git a/auto-configurations/models/spring-ai-autoconfigure-model-zhipuai/src/main/java/org/springframework/ai/model/zhipuai/autoconfigure/ZhiPuAiChatProperties.java b/auto-configurations/models/spring-ai-autoconfigure-model-zhipuai/src/main/java/org/springframework/ai/model/zhipuai/autoconfigure/ZhiPuAiChatProperties.java index 5c876c6f795..bd61aa20a59 100644 --- a/auto-configurations/models/spring-ai-autoconfigure-model-zhipuai/src/main/java/org/springframework/ai/model/zhipuai/autoconfigure/ZhiPuAiChatProperties.java +++ b/auto-configurations/models/spring-ai-autoconfigure-model-zhipuai/src/main/java/org/springframework/ai/model/zhipuai/autoconfigure/ZhiPuAiChatProperties.java @@ -33,13 +33,8 @@ public class ZhiPuAiChatProperties extends ZhiPuAiParentProperties { public static final String DEFAULT_CHAT_MODEL = ZhiPuAiApi.ChatModel.GLM_4_Air.value; - private static final Double DEFAULT_TEMPERATURE = 0.7; - @NestedConfigurationProperty - private final ZhiPuAiChatOptions options = ZhiPuAiChatOptions.builder() - .model(DEFAULT_CHAT_MODEL) - .temperature(DEFAULT_TEMPERATURE) - .build(); + private final ZhiPuAiChatOptions options = ZhiPuAiChatOptions.builder().model(DEFAULT_CHAT_MODEL).build(); public ZhiPuAiChatOptions getOptions() { return this.options; diff --git a/models/spring-ai-anthropic/src/main/java/org/springframework/ai/anthropic/AnthropicChatModel.java b/models/spring-ai-anthropic/src/main/java/org/springframework/ai/anthropic/AnthropicChatModel.java index 6cd8987e446..3d416bc745a 100644 --- a/models/spring-ai-anthropic/src/main/java/org/springframework/ai/anthropic/AnthropicChatModel.java +++ b/models/spring-ai-anthropic/src/main/java/org/springframework/ai/anthropic/AnthropicChatModel.java @@ -105,8 +105,6 @@ public class AnthropicChatModel implements ChatModel { public static final Integer DEFAULT_MAX_TOKENS = 500; - public static final Double DEFAULT_TEMPERATURE = 0.8; - private static final Logger logger = LoggerFactory.getLogger(AnthropicChatModel.class); private static final ChatModelObservationConvention DEFAULT_OBSERVATION_CONVENTION = new DefaultChatModelObservationConvention(); @@ -879,7 +877,6 @@ public static final class Builder { private AnthropicChatOptions defaultOptions = AnthropicChatOptions.builder() .model(DEFAULT_MODEL_NAME) .maxTokens(DEFAULT_MAX_TOKENS) - .temperature(DEFAULT_TEMPERATURE) .build(); private RetryTemplate retryTemplate = RetryUtils.DEFAULT_RETRY_TEMPLATE; diff --git a/models/spring-ai-azure-openai/src/main/java/org/springframework/ai/azure/openai/AzureOpenAiChatModel.java b/models/spring-ai-azure-openai/src/main/java/org/springframework/ai/azure/openai/AzureOpenAiChatModel.java index e00a64edc69..e3949bc9a48 100644 --- a/models/spring-ai-azure-openai/src/main/java/org/springframework/ai/azure/openai/AzureOpenAiChatModel.java +++ b/models/spring-ai-azure-openai/src/main/java/org/springframework/ai/azure/openai/AzureOpenAiChatModel.java @@ -133,8 +133,6 @@ public class AzureOpenAiChatModel implements ChatModel { private static final String DEFAULT_DEPLOYMENT_NAME = "gpt-4o"; - private static final Double DEFAULT_TEMPERATURE = 0.7; - private static final ChatModelObservationConvention DEFAULT_OBSERVATION_CONVENTION = new DefaultChatModelObservationConvention(); private static final ToolCallingManager DEFAULT_TOOL_CALLING_MANAGER = ToolCallingManager.builder().build(); @@ -1003,7 +1001,6 @@ public static final class Builder { private AzureOpenAiChatOptions defaultOptions = AzureOpenAiChatOptions.builder() .deploymentName(DEFAULT_DEPLOYMENT_NAME) - .temperature(DEFAULT_TEMPERATURE) .build(); private ToolCallingManager toolCallingManager; diff --git a/models/spring-ai-oci-genai/src/main/java/org/springframework/ai/oci/cohere/OCICohereChatModel.java b/models/spring-ai-oci-genai/src/main/java/org/springframework/ai/oci/cohere/OCICohereChatModel.java index e90514b1946..31326ff6de0 100644 --- a/models/spring-ai-oci-genai/src/main/java/org/springframework/ai/oci/cohere/OCICohereChatModel.java +++ b/models/spring-ai-oci-genai/src/main/java/org/springframework/ai/oci/cohere/OCICohereChatModel.java @@ -69,8 +69,6 @@ public class OCICohereChatModel implements ChatModel { private static final ChatModelObservationConvention DEFAULT_OBSERVATION_CONVENTION = new DefaultChatModelObservationConvention(); - private static final Double DEFAULT_TEMPERATURE = 0.7; - /** * The {@link GenerativeAiInference} client used to interact with OCI GenAI service. */ @@ -247,7 +245,7 @@ private ChatRequest newChatRequest(OCICohereChatOptions options, Message message .maxTokens(options.getMaxTokens()) .topK(options.getTopK()) .topP(options.getTopP()) - .temperature(Objects.requireNonNullElse(options.getTemperature(), DEFAULT_TEMPERATURE)) + .temperature(options.getTemperature()) .preambleOverride(options.getPreambleOverride()) .stopSequences(options.getStopSequences()) .documents(options.getDocuments())