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 9fc4d50985..8f88b7aa01 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 @@ -29,6 +29,7 @@ import org.thingsboard.server.common.data.ai.provider.AiProviderConfig; visible = true ) @JsonSubTypes({ + // OpenAI models @JsonSubTypes.Type(value = OpenAiChatModel.class, name = "o4-mini"), // @JsonSubTypes.Type(value = OpenAiChatModel.class, name = "o3-pro"), needs verification with Gov ID :) // @JsonSubTypes.Type(value = OpenAiChatModel.class, name = "o3"), needs verification with Gov ID :) @@ -40,6 +41,8 @@ import org.thingsboard.server.common.data.ai.provider.AiProviderConfig; @JsonSubTypes.Type(value = OpenAiChatModel.class, name = "gpt-4.1-nano"), @JsonSubTypes.Type(value = OpenAiChatModel.class, name = "gpt-4o"), @JsonSubTypes.Type(value = OpenAiChatModel.class, name = "gpt-4o-mini"), + + // Google AI Gemini models @JsonSubTypes.Type(value = GoogleAiGeminiChatModel.class, name = "gemini-2.5-pro"), @JsonSubTypes.Type(value = GoogleAiGeminiChatModel.class, name = "gemini-2.5-flash"), @JsonSubTypes.Type(value = GoogleAiGeminiChatModel.class, name = "gemini-2.0-flash"), @@ -47,7 +50,17 @@ import org.thingsboard.server.common.data.ai.provider.AiProviderConfig; @JsonSubTypes.Type(value = GoogleAiGeminiChatModel.class, name = "gemini-1.5-pro"), @JsonSubTypes.Type(value = GoogleAiGeminiChatModel.class, name = "gemini-1.5-flash"), @JsonSubTypes.Type(value = GoogleAiGeminiChatModel.class, name = "gemini-1.5-flash-8b"), - @JsonSubTypes.Type(value = MistralAiChatModel.class, name = "mistral-medium-latest") + + // Mistral AI models + @JsonSubTypes.Type(value = MistralAiChatModel.class, name = "magistral-medium-latest"), + @JsonSubTypes.Type(value = MistralAiChatModel.class, name = "magistral-small-latest"), + @JsonSubTypes.Type(value = MistralAiChatModel.class, name = "mistral-large-latest"), + @JsonSubTypes.Type(value = MistralAiChatModel.class, name = "mistral-medium-latest"), + @JsonSubTypes.Type(value = MistralAiChatModel.class, name = "mistral-small-latest"), + @JsonSubTypes.Type(value = MistralAiChatModel.class, name = "pixtral-large-latest"), + @JsonSubTypes.Type(value = MistralAiChatModel.class, name = "ministral-8b-latest"), + @JsonSubTypes.Type(value = MistralAiChatModel.class, name = "ministral-3b-latest"), + @JsonSubTypes.Type(value = MistralAiChatModel.class, name = "open-mistral-nemo") }) public interface AiModel> {