From aca9e3186e0d6e171160b8fc1188524d278eb8f5 Mon Sep 17 00:00:00 2001 From: Dmytro Skarzhynets Date: Tue, 24 Jun 2025 16:42:49 +0300 Subject: [PATCH] AI rule node: support more Gemini models --- .../server/common/data/ai/model/AiModel.java | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) 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 5955ac4355..9fc4d50985 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,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> {