AI rule node: support more Gemini models

This commit is contained in:
Dmytro Skarzhynets 2025-06-24 16:42:49 +03:00
parent 7f0cd6dccb
commit aca9e3186e
No known key found for this signature in database
GPG Key ID: 2B51652F224037DF

View File

@ -29,18 +29,24 @@ import org.thingsboard.server.common.data.ai.provider.AiProviderConfig;
visible = true
)
@JsonSubTypes({
@JsonSubTypes.Type(value = OpenAiChatModel.class, name = "gpt-4o"),
@JsonSubTypes.Type(value = OpenAiChatModel.class, name = "gpt-4o-mini"),
@JsonSubTypes.Type(value = OpenAiChatModel.class, name = "gpt-4.1"),
@JsonSubTypes.Type(value = OpenAiChatModel.class, name = "gpt-4.1-mini"),
@JsonSubTypes.Type(value = OpenAiChatModel.class, name = "gpt-4.1-nano"),
@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 :)
@JsonSubTypes.Type(value = OpenAiChatModel.class, name = "o3-mini"),
// @JsonSubTypes.Type(value = OpenAiChatModel.class, name = "o1-pro"), LC4j sends requests to v1/chat/completions, but o1-pro is only supported in v1/responses
@JsonSubTypes.Type(value = OpenAiChatModel.class, name = "o1"),
@JsonSubTypes.Type(value = OpenAiChatModel.class, name = "gpt-4.1"),
@JsonSubTypes.Type(value = OpenAiChatModel.class, name = "gpt-4.1-mini"),
@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"),
@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"),
@JsonSubTypes.Type(value = GoogleAiGeminiChatModel.class, name = "gemini-2.0-flash-lite"),
@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")
})
public interface AiModel<C extends AiModelConfig<C>> {