AI rule node: support more Mistral AI models

This commit is contained in:
Dmytro Skarzhynets 2025-06-24 17:52:40 +03:00
parent aca9e3186e
commit fe63059a77
No known key found for this signature in database
GPG Key ID: 2B51652F224037DF

View File

@ -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<C extends AiModelConfig<C>> {