From 7f0cd6dccbae3ac095c3b485a1938551ed76de1e Mon Sep 17 00:00:00 2001 From: Dmytro Skarzhynets Date: Tue, 24 Jun 2025 15:08:17 +0300 Subject: [PATCH] AI rule node: support more OpenAI models --- .../server/common/data/ai/model/AiModel.java | 10 ++++++++++ 1 file changed, 10 insertions(+) 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 686c1f4fcf..5955ac4355 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 @@ -30,6 +30,16 @@ import org.thingsboard.server.common.data.ai.provider.AiProviderConfig; ) @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 = GoogleAiGeminiChatModel.class, name = "gemini-2.5-flash"), @JsonSubTypes.Type(value = MistralAiChatModel.class, name = "mistral-medium-latest") })