Browse Source

AI rule node: correct markdown prompt settings example

pull/13371/head
Dmytro Skarzhynets 1 year ago
parent
commit
c48ce6fd12
No known key found for this signature in database GPG Key ID: 2B51652F224037DF
  1. 32
      ui-ngx/src/assets/help/en_US/rulenode/ai_node_prompt_settings.md

32
ui-ngx/src/assets/help/en_US/rulenode/ai_node_prompt_settings.md

@ -1,19 +1,15 @@
#### Example Usage: AI-Powered Alarm Analysis #### Example Usage: AI-Powered Alarm Analysis
This example demonstrates how to use the AI node to automatically analyze a new device alarm, generate a human-readable summary, and suggest troubleshooting steps.
This example demonstrates how to use the AI node to automatically analyze a new device alarm, generate a human-readable summary, and suggest troubleshooting steps. ##### Scenario
This is useful for creating enriched notifications or populating a dashboard widget.
#### Scenario
An IoT freezer unit generates a "High Temperature" alarm. We want the AI to process this alarm data to create a clear summary and a recommended action plan for an operator. An IoT freezer unit generates a "High Temperature" alarm. We want the AI to process this alarm data to create a clear summary and a recommended action plan for an operator.
1. Incoming Message Structure 1. **Incoming message structure**
When the alarm is created, the message sent through the rule chain has the following structure:
Message body (represent an alarm, usual alarm fields omitted for brevity) Message body (represents an alarm, some alarm fields omitted for brevity):
```json ```json
{ {
"type": "High Temperature",
"details": { "details": {
"currentTemp_C": -5, "currentTemp_C": -5,
"threshold_C": -18 "threshold_C": -18
@ -21,7 +17,7 @@ Message body (represent an alarm, usual alarm fields omitted for brevity)
} }
``` ```
Message metadata Message metadata:
```json ```json
{ {
"deviceName": "Freezer-B7", "deviceName": "Freezer-B7",
@ -29,12 +25,11 @@ Message metadata
} }
``` ```
2. To achieve our goal, we configure the two prompt fields as follows: 2. **Prompt configuration**
**System prompt** **System prompt**
Here, we set the AI's role and enforce a strict JSON output format. This ensures the output is always machine-parsable. Here, we set the AI's role and enforce a strict JSON output format. This ensures the output is always machine-parsable.
``` ```
You are an expert AI assistant for IoT operations. You are an expert AI assistant for IoT operations.
Your task is to analyze device data and respond with a single, valid JSON object. Your task is to analyze device data and respond with a single, valid JSON object.
@ -44,7 +39,6 @@ Do not include any text, explanations, or markdown formatting before or after th
**User prompt** **User prompt**
This prompt defines the specific task, using templates to dynamically insert data from the incoming alarm message. This prompt defines the specific task, using templates to dynamically insert data from the incoming alarm message.
``` ```
Analyze the following alarm from a "${deviceType}" unit named "${deviceName}". Analyze the following alarm from a "${deviceType}" unit named "${deviceName}".
@ -56,18 +50,19 @@ Based on the alarm data, generate a JSON object with two keys:
2. "action": A concrete, recommended next step for an operator. 2. "action": A concrete, recommended next step for an operator.
``` ```
3. How It Works 3. **How it works**
When the alarm message from "Freezer-B7" is processed by the AI node, the templates are substituted with the actual data: When the alarm message from "Freezer-B7" is processed by the AI node, the templates are substituted with the actual data:
- `${deviceName}` becomes "Freezer-B7" - `${deviceName}` becomes "Freezer-B7"
- `${deviceType}` becomes "CommercialFreezer" - `${deviceType}` becomes "CommercialFreezer"
- `$[*]` is replaced by the entire message body JSON: `{"alarmType": "High Temperature", "severity": "CRITICAL", "currentTemp_C": -5, "threshold_C": -18}` - `$[*]` is replaced by the entire message body JSON: `{"type":"High Temperature","details":{"currentTemp_C":-5,"threshold_C":-18}}`
> **Note:** You can also use `$[*]`. In this case, it will be replaced with the entire message metadata JSON.
The final instruction sent to the AI is a combination of the system and the substituted user prompt. The final instruction sent to the AI is a combination of the system and the substituted user prompt.
4. Expected AI Output 4. **Expected AI output**
Given the combined instructions, the AI would generate the following structured JSON output, which can then be used in subsequent rule nodes (e.g., to send an enriched email or create a trouble ticket). Given the combined instructions, the AI would generate the following structured JSON output, which can then be used in subsequent rule nodes (e.g., to send an enriched email).
```json ```json
{ {
@ -75,3 +70,6 @@ Given the combined instructions, the AI would generate the following structured
"action": "Dispatch technician immediately to inspect the unit's cooling system and ensure the door is properly sealed. Investigate for potential power issues." "action": "Dispatch technician immediately to inspect the unit's cooling system and ensure the door is properly sealed. Investigate for potential power issues."
} }
``` ```
> **Note:** The scenario above is a hypothetical example designed to illustrate the functionality of the node and its templating capabilities.
> The specific details, such as freezer alarms, are used for demonstration purposes and are not intended to suggest or limit the potential use cases.

Loading…
Cancel
Save