AI rule node: add node description and details

This commit is contained in:
Dmytro Skarzhynets 2025-07-09 20:40:14 +03:00
parent 9e96bc5a02
commit e7c971a7bb
No known key found for this signature in database
GPG Key ID: 2B51652F224037DF

View File

@ -52,9 +52,20 @@ import static org.thingsboard.server.dao.service.ConstraintValidator.validateFie
@RuleNode(
type = ComponentType.EXTERNAL,
name = "AI",
nodeDescription = "Interact with AI",
nodeDetails = "This node makes requests to AI based on a prompt and a input message and returns a response in a form of output message",
name = "AI request",
nodeDescription = "Sends a request to an AI model using system and user prompts. Supports JSON mode.",
nodeDetails = """
Interact with large language models (LLMs) by sending dynamic requests from your rule chain.
You can select a specific <strong>AI model</strong> and define its behavior using a <strong>system prompt</strong> (optional context or role) and a <strong>user prompt</strong> (the main task).
Both prompts can be populated with data and metadata from the incoming message using patterns.
For example, the <code>$[*]</code> and <code>${*}</code> patterns allow you to access the all message body and all metadata, respectively.
<br><br>
After sending the request, the node waits for a response within a configured <strong>timeout</strong>.
You can specify the desired <strong>response format</strong> as <strong>Text</strong>, <strong>JSON</strong>, or provide a specific <strong>JSON Schema</strong> to structure the output.
The AI-generated content is forwarded as the body of the outgoing message; the originator, message type, and metadata from the incoming message remain unchanged.
<br><br>
Output connections: <code>Success</code>, <code>Failure</code>.
""",
configClazz = TbAiNodeConfiguration.class,
ruleChainTypes = RuleChainType.CORE
)