From ca817a7dbb62354a1dbf8654fd6c720651b2cef9 Mon Sep 17 00:00:00 2001 From: Ilayaperumal Gopinathan Date: Tue, 19 Nov 2024 14:05:56 +0000 Subject: [PATCH] Remove explicit ChatOptions for the models using FunctionCallingOptions - Since FunctionCallingOptions already extends ChatOptions, removing explicit usage of ChatOptions in the Model Options classes --- .../org/springframework/ai/anthropic/AnthropicChatOptions.java | 3 +-- .../ai/azure/openai/AzureOpenAiChatOptions.java | 3 +-- .../org/springframework/ai/minimax/MiniMaxChatOptions.java | 2 +- .../org/springframework/ai/mistralai/MistralAiChatOptions.java | 3 +-- .../org/springframework/ai/moonshot/MoonshotChatOptions.java | 3 +-- .../java/org/springframework/ai/ollama/api/OllamaOptions.java | 3 +-- .../java/org/springframework/ai/openai/OpenAiChatOptions.java | 3 +-- .../ai/vertexai/gemini/VertexAiGeminiChatOptions.java | 3 +-- .../org/springframework/ai/zhipuai/ZhiPuAiChatOptions.java | 3 +-- 9 files changed, 9 insertions(+), 17 deletions(-) diff --git a/models/spring-ai-anthropic/src/main/java/org/springframework/ai/anthropic/AnthropicChatOptions.java b/models/spring-ai-anthropic/src/main/java/org/springframework/ai/anthropic/AnthropicChatOptions.java index 08ea7de8cf3..5c9d1694ab4 100644 --- a/models/spring-ai-anthropic/src/main/java/org/springframework/ai/anthropic/AnthropicChatOptions.java +++ b/models/spring-ai-anthropic/src/main/java/org/springframework/ai/anthropic/AnthropicChatOptions.java @@ -29,7 +29,6 @@ import org.springframework.ai.anthropic.api.AnthropicApi; import org.springframework.ai.anthropic.api.AnthropicApi.ChatCompletionRequest; -import org.springframework.ai.chat.prompt.ChatOptions; import org.springframework.ai.model.function.FunctionCallback; import org.springframework.ai.model.function.FunctionCallingOptions; import org.springframework.boot.context.properties.NestedConfigurationProperty; @@ -43,7 +42,7 @@ * @since 1.0.0 */ @JsonInclude(Include.NON_NULL) -public class AnthropicChatOptions implements ChatOptions, FunctionCallingOptions { +public class AnthropicChatOptions implements FunctionCallingOptions { // @formatter:off private @JsonProperty("model") String model; diff --git a/models/spring-ai-azure-openai/src/main/java/org/springframework/ai/azure/openai/AzureOpenAiChatOptions.java b/models/spring-ai-azure-openai/src/main/java/org/springframework/ai/azure/openai/AzureOpenAiChatOptions.java index a22af74affb..cc09ae1ed7f 100644 --- a/models/spring-ai-azure-openai/src/main/java/org/springframework/ai/azure/openai/AzureOpenAiChatOptions.java +++ b/models/spring-ai-azure-openai/src/main/java/org/springframework/ai/azure/openai/AzureOpenAiChatOptions.java @@ -28,7 +28,6 @@ import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonProperty; -import org.springframework.ai.chat.prompt.ChatOptions; import org.springframework.ai.model.function.FunctionCallback; import org.springframework.ai.model.function.FunctionCallingOptions; import org.springframework.util.Assert; @@ -43,7 +42,7 @@ * @author Soby Chacko */ @JsonInclude(Include.NON_NULL) -public class AzureOpenAiChatOptions implements FunctionCallingOptions, ChatOptions { +public class AzureOpenAiChatOptions implements FunctionCallingOptions { /** * The maximum number of tokens to generate. diff --git a/models/spring-ai-minimax/src/main/java/org/springframework/ai/minimax/MiniMaxChatOptions.java b/models/spring-ai-minimax/src/main/java/org/springframework/ai/minimax/MiniMaxChatOptions.java index 9ea03bae576..203a0ba3274 100644 --- a/models/spring-ai-minimax/src/main/java/org/springframework/ai/minimax/MiniMaxChatOptions.java +++ b/models/spring-ai-minimax/src/main/java/org/springframework/ai/minimax/MiniMaxChatOptions.java @@ -45,7 +45,7 @@ * @since 1.0.0 M1 */ @JsonInclude(Include.NON_NULL) -public class MiniMaxChatOptions implements FunctionCallingOptions, ChatOptions { +public class MiniMaxChatOptions implements FunctionCallingOptions { // @formatter:off /** diff --git a/models/spring-ai-mistral-ai/src/main/java/org/springframework/ai/mistralai/MistralAiChatOptions.java b/models/spring-ai-mistral-ai/src/main/java/org/springframework/ai/mistralai/MistralAiChatOptions.java index 5d025d208fe..9801e7dcc0a 100644 --- a/models/spring-ai-mistral-ai/src/main/java/org/springframework/ai/mistralai/MistralAiChatOptions.java +++ b/models/spring-ai-mistral-ai/src/main/java/org/springframework/ai/mistralai/MistralAiChatOptions.java @@ -27,7 +27,6 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; -import org.springframework.ai.chat.prompt.ChatOptions; import org.springframework.ai.mistralai.api.MistralAiApi; import org.springframework.ai.mistralai.api.MistralAiApi.ChatCompletionRequest.ResponseFormat; import org.springframework.ai.mistralai.api.MistralAiApi.ChatCompletionRequest.ToolChoice; @@ -45,7 +44,7 @@ * @since 0.8.1 */ @JsonInclude(JsonInclude.Include.NON_NULL) -public class MistralAiChatOptions implements FunctionCallingOptions, ChatOptions { +public class MistralAiChatOptions implements FunctionCallingOptions { /** * ID of the model to use diff --git a/models/spring-ai-moonshot/src/main/java/org/springframework/ai/moonshot/MoonshotChatOptions.java b/models/spring-ai-moonshot/src/main/java/org/springframework/ai/moonshot/MoonshotChatOptions.java index 8b6eda05ed2..4588c62c395 100644 --- a/models/spring-ai-moonshot/src/main/java/org/springframework/ai/moonshot/MoonshotChatOptions.java +++ b/models/spring-ai-moonshot/src/main/java/org/springframework/ai/moonshot/MoonshotChatOptions.java @@ -26,7 +26,6 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; -import org.springframework.ai.chat.prompt.ChatOptions; import org.springframework.ai.model.function.FunctionCallback; import org.springframework.ai.model.function.FunctionCallingOptions; import org.springframework.ai.moonshot.api.MoonshotApi; @@ -39,7 +38,7 @@ * @author Thomas Vitale */ @JsonInclude(JsonInclude.Include.NON_NULL) -public class MoonshotChatOptions implements FunctionCallingOptions, ChatOptions { +public class MoonshotChatOptions implements FunctionCallingOptions { /** * ID of the model to use diff --git a/models/spring-ai-ollama/src/main/java/org/springframework/ai/ollama/api/OllamaOptions.java b/models/spring-ai-ollama/src/main/java/org/springframework/ai/ollama/api/OllamaOptions.java index b79d98a9495..db8734e20a1 100644 --- a/models/spring-ai-ollama/src/main/java/org/springframework/ai/ollama/api/OllamaOptions.java +++ b/models/spring-ai-ollama/src/main/java/org/springframework/ai/ollama/api/OllamaOptions.java @@ -29,7 +29,6 @@ import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonProperty; -import org.springframework.ai.chat.prompt.ChatOptions; import org.springframework.ai.embedding.EmbeddingOptions; import org.springframework.ai.model.ModelOptionsUtils; import org.springframework.ai.model.function.FunctionCallback; @@ -48,7 +47,7 @@ * @see Ollama Types */ @JsonInclude(Include.NON_NULL) -public class OllamaOptions implements FunctionCallingOptions, ChatOptions, EmbeddingOptions { +public class OllamaOptions implements FunctionCallingOptions, EmbeddingOptions { private static final List NON_SUPPORTED_FIELDS = List.of("model", "format", "keep_alive", "truncate"); diff --git a/models/spring-ai-openai/src/main/java/org/springframework/ai/openai/OpenAiChatOptions.java b/models/spring-ai-openai/src/main/java/org/springframework/ai/openai/OpenAiChatOptions.java index 69e3aa85d69..0d5e6a4b3a9 100644 --- a/models/spring-ai-openai/src/main/java/org/springframework/ai/openai/OpenAiChatOptions.java +++ b/models/spring-ai-openai/src/main/java/org/springframework/ai/openai/OpenAiChatOptions.java @@ -29,7 +29,6 @@ import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonProperty; -import org.springframework.ai.chat.prompt.ChatOptions; import org.springframework.ai.model.ModelOptionsUtils; import org.springframework.ai.model.function.FunctionCallback; import org.springframework.ai.model.function.FunctionCallingOptions; @@ -48,7 +47,7 @@ * @since 0.8.0 */ @JsonInclude(Include.NON_NULL) -public class OpenAiChatOptions implements FunctionCallingOptions, ChatOptions { +public class OpenAiChatOptions implements FunctionCallingOptions { // @formatter:off /** diff --git a/models/spring-ai-vertex-ai-gemini/src/main/java/org/springframework/ai/vertexai/gemini/VertexAiGeminiChatOptions.java b/models/spring-ai-vertex-ai-gemini/src/main/java/org/springframework/ai/vertexai/gemini/VertexAiGeminiChatOptions.java index 5b31eaefa35..bdd81c3e45d 100644 --- a/models/spring-ai-vertex-ai-gemini/src/main/java/org/springframework/ai/vertexai/gemini/VertexAiGeminiChatOptions.java +++ b/models/spring-ai-vertex-ai-gemini/src/main/java/org/springframework/ai/vertexai/gemini/VertexAiGeminiChatOptions.java @@ -28,7 +28,6 @@ import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonProperty; -import org.springframework.ai.chat.prompt.ChatOptions; import org.springframework.ai.model.function.FunctionCallback; import org.springframework.ai.model.function.FunctionCallingOptions; import org.springframework.ai.vertexai.gemini.VertexAiGeminiChatModel.ChatModel; @@ -43,7 +42,7 @@ * @since 1.0.0 */ @JsonInclude(Include.NON_NULL) -public class VertexAiGeminiChatOptions implements FunctionCallingOptions, ChatOptions { +public class VertexAiGeminiChatOptions implements FunctionCallingOptions { // https://cloud.google.com/vertex-ai/docs/reference/rest/v1/GenerationConfig diff --git a/models/spring-ai-zhipuai/src/main/java/org/springframework/ai/zhipuai/ZhiPuAiChatOptions.java b/models/spring-ai-zhipuai/src/main/java/org/springframework/ai/zhipuai/ZhiPuAiChatOptions.java index ec2216f50c1..70db60e1be0 100644 --- a/models/spring-ai-zhipuai/src/main/java/org/springframework/ai/zhipuai/ZhiPuAiChatOptions.java +++ b/models/spring-ai-zhipuai/src/main/java/org/springframework/ai/zhipuai/ZhiPuAiChatOptions.java @@ -27,7 +27,6 @@ import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonProperty; -import org.springframework.ai.chat.prompt.ChatOptions; import org.springframework.ai.model.function.FunctionCallback; import org.springframework.ai.model.function.FunctionCallingOptions; import org.springframework.ai.zhipuai.api.ZhiPuAiApi; @@ -41,7 +40,7 @@ * @since 1.0.0 M1 */ @JsonInclude(Include.NON_NULL) -public class ZhiPuAiChatOptions implements FunctionCallingOptions, ChatOptions { +public class ZhiPuAiChatOptions implements FunctionCallingOptions { // @formatter:off /**