Browse Source

AI rule node: ensure AI settings exist on rule node init

pull/13371/head
Dmytro Skarzhynets 1 year ago
parent
commit
ac61136ecc
No known key found for this signature in database GPG Key ID: 2B51652F224037DF
  1. 8
      rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/ai/TbAiNode.java

8
rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/ai/TbAiNode.java

@ -95,6 +95,10 @@ public final class TbAiNode extends TbAbstractExternalNode implements TbNode {
); );
timeoutSeconds = config.getTimeoutSeconds(); timeoutSeconds = config.getTimeoutSeconds();
if (!aiSettingsExist(ctx, config.getAiSettingsId())) {
throw new TbNodeException("[" + ctx.getTenantId() + "] AI settings with ID: " + config.getAiSettingsId() + " were not found", true);
}
aiSettingsId = config.getAiSettingsId(); aiSettingsId = config.getAiSettingsId();
} }
@ -105,6 +109,10 @@ public final class TbAiNode extends TbAbstractExternalNode implements TbNode {
return responseFormatType == ResponseFormatType.JSON && jsonSchema != null ? Langchain4jJsonSchemaAdapter.fromJsonNode(jsonSchema) : null; return responseFormatType == ResponseFormatType.JSON && jsonSchema != null ? Langchain4jJsonSchemaAdapter.fromJsonNode(jsonSchema) : null;
} }
private static boolean aiSettingsExist(TbContext ctx, AiSettingsId aiSettingsId) {
return ctx.getAiSettingsService().findAiSettingsByTenantIdAndId(ctx.getTenantId(), aiSettingsId).isPresent();
}
@Override @Override
public void onMsg(TbContext ctx, TbMsg msg) throws TbNodeException { public void onMsg(TbContext ctx, TbMsg msg) throws TbNodeException {
var ackedMsg = ackIfNeeded(ctx, msg); var ackedMsg = ackIfNeeded(ctx, msg);

Loading…
Cancel
Save