diff --git a/common/data/src/main/java/org/thingsboard/server/common/data/ai/model/AiModel.java b/common/data/src/main/java/org/thingsboard/server/common/data/ai/model/AiModel.java index 114fe2a528..f8e3eb6853 100644 --- a/common/data/src/main/java/org/thingsboard/server/common/data/ai/model/AiModel.java +++ b/common/data/src/main/java/org/thingsboard/server/common/data/ai/model/AiModel.java @@ -15,6 +15,7 @@ */ package org.thingsboard.server.common.data.ai.model; +import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.databind.annotation.JsonTypeIdResolver; import org.thingsboard.server.common.data.ai.provider.AiProviderConfig; @@ -29,6 +30,7 @@ public interface AiModel> { AiProviderConfig providerConfig(); + @JsonProperty("modelType") AiModelType modelType(); C modelConfig(); diff --git a/common/data/src/main/java/org/thingsboard/server/common/data/ai/model/chat/AmazonBedrockChatModel.java b/common/data/src/main/java/org/thingsboard/server/common/data/ai/model/chat/AmazonBedrockChatModel.java index e3cbaf426c..26eb885078 100644 --- a/common/data/src/main/java/org/thingsboard/server/common/data/ai/model/chat/AmazonBedrockChatModel.java +++ b/common/data/src/main/java/org/thingsboard/server/common/data/ai/model/chat/AmazonBedrockChatModel.java @@ -16,9 +16,11 @@ package org.thingsboard.server.common.data.ai.model.chat; import dev.langchain4j.model.chat.ChatModel; +import org.thingsboard.server.common.data.ai.model.AiModelType; import org.thingsboard.server.common.data.ai.provider.AmazonBedrockProviderConfig; public record AmazonBedrockChatModel( + AiModelType modelType, AmazonBedrockProviderConfig providerConfig, Config modelConfig ) implements AiChatModel { @@ -54,7 +56,7 @@ public record AmazonBedrockChatModel( @Override public AmazonBedrockChatModel withModelConfig(AmazonBedrockChatModel.Config config) { - return new AmazonBedrockChatModel(providerConfig, config); + return new AmazonBedrockChatModel(modelType, providerConfig, config); } } diff --git a/common/data/src/main/java/org/thingsboard/server/common/data/ai/model/chat/AnthropicChatModel.java b/common/data/src/main/java/org/thingsboard/server/common/data/ai/model/chat/AnthropicChatModel.java index 329f35382a..93c195ecab 100644 --- a/common/data/src/main/java/org/thingsboard/server/common/data/ai/model/chat/AnthropicChatModel.java +++ b/common/data/src/main/java/org/thingsboard/server/common/data/ai/model/chat/AnthropicChatModel.java @@ -16,9 +16,11 @@ package org.thingsboard.server.common.data.ai.model.chat; import dev.langchain4j.model.chat.ChatModel; +import org.thingsboard.server.common.data.ai.model.AiModelType; import org.thingsboard.server.common.data.ai.provider.AnthropicProviderConfig; public record AnthropicChatModel( + AiModelType modelType, AnthropicProviderConfig providerConfig, Config modelConfig ) implements AiChatModel { @@ -54,7 +56,7 @@ public record AnthropicChatModel( @Override public AnthropicChatModel withModelConfig(AnthropicChatModel.Config config) { - return new AnthropicChatModel(providerConfig, config); + return new AnthropicChatModel(modelType, providerConfig, config); } } diff --git a/common/data/src/main/java/org/thingsboard/server/common/data/ai/model/chat/AzureOpenAiChatModel.java b/common/data/src/main/java/org/thingsboard/server/common/data/ai/model/chat/AzureOpenAiChatModel.java index 9920b546f0..70e8b26711 100644 --- a/common/data/src/main/java/org/thingsboard/server/common/data/ai/model/chat/AzureOpenAiChatModel.java +++ b/common/data/src/main/java/org/thingsboard/server/common/data/ai/model/chat/AzureOpenAiChatModel.java @@ -16,9 +16,11 @@ package org.thingsboard.server.common.data.ai.model.chat; import dev.langchain4j.model.chat.ChatModel; +import org.thingsboard.server.common.data.ai.model.AiModelType; import org.thingsboard.server.common.data.ai.provider.AzureOpenAiProviderConfig; public record AzureOpenAiChatModel( + AiModelType modelType, AzureOpenAiProviderConfig providerConfig, Config modelConfig ) implements AiChatModel { @@ -54,7 +56,7 @@ public record AzureOpenAiChatModel( @Override public AzureOpenAiChatModel withModelConfig(AzureOpenAiChatModel.Config config) { - return new AzureOpenAiChatModel(providerConfig, config); + return new AzureOpenAiChatModel(modelType, providerConfig, config); } } diff --git a/common/data/src/main/java/org/thingsboard/server/common/data/ai/model/chat/GitHubModelsChatModel.java b/common/data/src/main/java/org/thingsboard/server/common/data/ai/model/chat/GitHubModelsChatModel.java index 165873e6e3..828169ec37 100644 --- a/common/data/src/main/java/org/thingsboard/server/common/data/ai/model/chat/GitHubModelsChatModel.java +++ b/common/data/src/main/java/org/thingsboard/server/common/data/ai/model/chat/GitHubModelsChatModel.java @@ -16,9 +16,11 @@ package org.thingsboard.server.common.data.ai.model.chat; import dev.langchain4j.model.chat.ChatModel; +import org.thingsboard.server.common.data.ai.model.AiModelType; import org.thingsboard.server.common.data.ai.provider.GithubModelsProviderConfig; public record GitHubModelsChatModel( + AiModelType modelType, GithubModelsProviderConfig providerConfig, Config modelConfig ) implements AiChatModel { @@ -54,7 +56,7 @@ public record GitHubModelsChatModel( @Override public GitHubModelsChatModel withModelConfig(GitHubModelsChatModel.Config config) { - return new GitHubModelsChatModel(providerConfig, config); + return new GitHubModelsChatModel(modelType, providerConfig, config); } } diff --git a/common/data/src/main/java/org/thingsboard/server/common/data/ai/model/chat/GoogleAiGeminiChatModel.java b/common/data/src/main/java/org/thingsboard/server/common/data/ai/model/chat/GoogleAiGeminiChatModel.java index c09903b305..80b7e46858 100644 --- a/common/data/src/main/java/org/thingsboard/server/common/data/ai/model/chat/GoogleAiGeminiChatModel.java +++ b/common/data/src/main/java/org/thingsboard/server/common/data/ai/model/chat/GoogleAiGeminiChatModel.java @@ -16,9 +16,11 @@ package org.thingsboard.server.common.data.ai.model.chat; import dev.langchain4j.model.chat.ChatModel; +import org.thingsboard.server.common.data.ai.model.AiModelType; import org.thingsboard.server.common.data.ai.provider.GoogleAiGeminiProviderConfig; public record GoogleAiGeminiChatModel( + AiModelType modelType, GoogleAiGeminiProviderConfig providerConfig, Config modelConfig ) implements AiChatModel { @@ -54,7 +56,7 @@ public record GoogleAiGeminiChatModel( @Override public GoogleAiGeminiChatModel withModelConfig(GoogleAiGeminiChatModel.Config config) { - return new GoogleAiGeminiChatModel(providerConfig, config); + return new GoogleAiGeminiChatModel(modelType, providerConfig, config); } } diff --git a/common/data/src/main/java/org/thingsboard/server/common/data/ai/model/chat/GoogleVertexAiGeminiChatModel.java b/common/data/src/main/java/org/thingsboard/server/common/data/ai/model/chat/GoogleVertexAiGeminiChatModel.java index a340430828..201311de23 100644 --- a/common/data/src/main/java/org/thingsboard/server/common/data/ai/model/chat/GoogleVertexAiGeminiChatModel.java +++ b/common/data/src/main/java/org/thingsboard/server/common/data/ai/model/chat/GoogleVertexAiGeminiChatModel.java @@ -16,9 +16,11 @@ package org.thingsboard.server.common.data.ai.model.chat; import dev.langchain4j.model.chat.ChatModel; +import org.thingsboard.server.common.data.ai.model.AiModelType; import org.thingsboard.server.common.data.ai.provider.GoogleVertexAiGeminiProviderConfig; public record GoogleVertexAiGeminiChatModel( + AiModelType modelType, GoogleVertexAiGeminiProviderConfig providerConfig, Config modelConfig ) implements AiChatModel { @@ -54,7 +56,7 @@ public record GoogleVertexAiGeminiChatModel( @Override public GoogleVertexAiGeminiChatModel withModelConfig(GoogleVertexAiGeminiChatModel.Config config) { - return new GoogleVertexAiGeminiChatModel(providerConfig, config); + return new GoogleVertexAiGeminiChatModel(modelType, providerConfig, config); } } diff --git a/common/data/src/main/java/org/thingsboard/server/common/data/ai/model/chat/MistralAiChatModel.java b/common/data/src/main/java/org/thingsboard/server/common/data/ai/model/chat/MistralAiChatModel.java index e4eae1b766..493c0582c6 100644 --- a/common/data/src/main/java/org/thingsboard/server/common/data/ai/model/chat/MistralAiChatModel.java +++ b/common/data/src/main/java/org/thingsboard/server/common/data/ai/model/chat/MistralAiChatModel.java @@ -16,9 +16,11 @@ package org.thingsboard.server.common.data.ai.model.chat; import dev.langchain4j.model.chat.ChatModel; +import org.thingsboard.server.common.data.ai.model.AiModelType; import org.thingsboard.server.common.data.ai.provider.MistralAiProviderConfig; public record MistralAiChatModel( + AiModelType modelType, MistralAiProviderConfig providerConfig, Config modelConfig ) implements AiChatModel { @@ -54,7 +56,7 @@ public record MistralAiChatModel( @Override public MistralAiChatModel withModelConfig(Config config) { - return new MistralAiChatModel(providerConfig, config); + return new MistralAiChatModel(modelType, providerConfig, config); } } diff --git a/common/data/src/main/java/org/thingsboard/server/common/data/ai/model/chat/OpenAiChatModel.java b/common/data/src/main/java/org/thingsboard/server/common/data/ai/model/chat/OpenAiChatModel.java index a4d7401cbf..3c138d97b7 100644 --- a/common/data/src/main/java/org/thingsboard/server/common/data/ai/model/chat/OpenAiChatModel.java +++ b/common/data/src/main/java/org/thingsboard/server/common/data/ai/model/chat/OpenAiChatModel.java @@ -16,9 +16,11 @@ package org.thingsboard.server.common.data.ai.model.chat; import dev.langchain4j.model.chat.ChatModel; +import org.thingsboard.server.common.data.ai.model.AiModelType; import org.thingsboard.server.common.data.ai.provider.OpenAiProviderConfig; public record OpenAiChatModel( + AiModelType modelType, OpenAiProviderConfig providerConfig, Config modelConfig ) implements AiChatModel { @@ -54,7 +56,7 @@ public record OpenAiChatModel( @Override public OpenAiChatModel withModelConfig(OpenAiChatModel.Config config) { - return new OpenAiChatModel(providerConfig, config); + return new OpenAiChatModel(modelType, providerConfig, config); } }