Browse Source
AI rule node: add file name to Vertex AI provider config; change service account key to be string
pull/13371/head
Dmytro Skarzhynets
1 year ago
No known key found for this signature in database
GPG Key ID: 2B51652F224037DF
2 changed files with
3 additions and
7 deletions
-
application/src/main/java/org/thingsboard/server/service/ai/Langchain4jChatModelConfigurerImpl.java
-
common/data/src/main/java/org/thingsboard/server/common/data/ai/provider/GoogleVertexAiGeminiProviderConfig.java
|
|
|
@ -29,7 +29,6 @@ import dev.langchain4j.model.chat.ChatModel; |
|
|
|
import dev.langchain4j.model.chat.request.ChatRequestParameters; |
|
|
|
import dev.langchain4j.model.vertexai.gemini.VertexAiGeminiChatModel; |
|
|
|
import org.springframework.stereotype.Component; |
|
|
|
import org.thingsboard.common.util.JacksonUtil; |
|
|
|
import org.thingsboard.server.common.data.ai.model.chat.AmazonBedrockChatModel; |
|
|
|
import org.thingsboard.server.common.data.ai.model.chat.AnthropicChatModel; |
|
|
|
import org.thingsboard.server.common.data.ai.model.chat.AzureOpenAiChatModel; |
|
|
|
@ -113,9 +112,7 @@ class Langchain4jChatModelConfigurerImpl implements Langchain4jChatModelConfigur |
|
|
|
// construct service account credentials using service account key JSON
|
|
|
|
ServiceAccountCredentials serviceAccountCredentials; |
|
|
|
try { |
|
|
|
serviceAccountCredentials = ServiceAccountCredentials.fromStream( |
|
|
|
new ByteArrayInputStream(JacksonUtil.writeValueAsBytes(providerConfig.serviceAccountKey())) |
|
|
|
); |
|
|
|
serviceAccountCredentials = ServiceAccountCredentials.fromStream(new ByteArrayInputStream(providerConfig.serviceAccountKey().getBytes())); |
|
|
|
} catch (IOException e) { |
|
|
|
throw new RuntimeException("Failed to parse service account key JSON", e); |
|
|
|
} |
|
|
|
|
|
|
|
@ -15,12 +15,11 @@ |
|
|
|
*/ |
|
|
|
package org.thingsboard.server.common.data.ai.provider; |
|
|
|
|
|
|
|
import com.fasterxml.jackson.databind.node.ObjectNode; |
|
|
|
|
|
|
|
public record GoogleVertexAiGeminiProviderConfig( |
|
|
|
String fileName, // not used on BE, but needed for UI
|
|
|
|
String projectId, |
|
|
|
String location, |
|
|
|
ObjectNode serviceAccountKey |
|
|
|
String serviceAccountKey |
|
|
|
) implements AiProviderConfig { |
|
|
|
|
|
|
|
@Override |
|
|
|
|