SIENTIAPDE-1182
Update README.md to reflect changes in prediction workflow configuration - Revised input parameters for the prediction process, including updates to schedule name, model ID, and workflow name. - Enhanced structure of input filters and MLflow filter policies for improved clarity and functionality. - Introduced new fields for model retention and output configuration, while maintaining backward compatibility with existing parameters.
This commit is contained in:
170
README.md
170
README.md
@@ -314,71 +314,34 @@ The **PredictionProcess** workflow implements the core prediction pipeline for M
|
|||||||
#### Input Parameters
|
#### Input Parameters
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"schedule_name": "laborious-orchestrated-pipeline",
|
"metadata": {
|
||||||
"model_id": "1",
|
"schedule_name": "hourly_predictions",
|
||||||
"workflow_type": "predictions_batch",
|
"model_name": "temperature_prediction_model",
|
||||||
"frequency": "30s", # Workflow execution frequency
|
"model_id": "temp_pred_001",
|
||||||
"max_retry_policy": 1, # Maximum number of retries for the workflow
|
"workflow_name": "predictions_batch"
|
||||||
"query": "select * from sientia_data.laborious_data where model_id = 1 and \"timestamp\" > NOW() - INTERVAL '5 minutes' order by \"timestamp\" desc limit 30;",
|
},
|
||||||
"retention_time": 60, # Retention time for models in minutes
|
"data": {...},
|
||||||
"write_tags": [
|
"schema": {...},
|
||||||
{
|
"table_name": "predictions",
|
||||||
"server_id": "1",
|
"model_id": "temp_pred_001",
|
||||||
"type": "prediction", # Type of tag to write, can be prediction or confidence
|
"model_name": "temperature_prediction_model",
|
||||||
"addr": "ns=2;i=5",
|
"input_filters": {
|
||||||
"data_type": "double"
|
"EMPTY_DATA": {"POLICY": "STOP"},
|
||||||
},
|
"SPECIFIC_VARIABLES_NULL_VALUES": {
|
||||||
{
|
"POLICY": "STOP",
|
||||||
"server_id": "1",
|
"config": {"variables": ["temperature", "humidity"]}
|
||||||
"type": "confidence",
|
|
||||||
"addr": "ns=2;i=5",
|
|
||||||
"data_type": "double"
|
|
||||||
}
|
}
|
||||||
],
|
},
|
||||||
"input_filters": [
|
"mlflow_transform_filters": {
|
||||||
{
|
"API_ERROR": {"POLICY": "STOP"}
|
||||||
"filter_name": "EMPTY_DATA", # Required filter
|
},
|
||||||
"policy": "STOP"
|
"mlflow_predict_filters": {
|
||||||
},
|
"API_ERROR": {"POLICY": "STOP"},
|
||||||
{
|
"NAN_VALUES": {"POLICY": "STOP"}
|
||||||
"filter_name": "SPECIFIC_VARIABLES_NULL_VALUES",
|
},
|
||||||
"policy": "CONTINUE",
|
"model_retention": 60,
|
||||||
"config": {
|
"path_priority": ["STOP", "CONTINUE", "REPEAT"],
|
||||||
"variables": [
|
"opc_output_config": {...}
|
||||||
"Counter"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"mlflow_transform_filters": [
|
|
||||||
{
|
|
||||||
"filter_name": "API_ERROR", # Required filter
|
|
||||||
"policy": "REPEAT"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"filter_name": "NAN_VALUES",
|
|
||||||
"policy": "STOP"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"mlflow_predict_filters": [
|
|
||||||
{
|
|
||||||
"filter_name": "API_ERROR", # Required filter
|
|
||||||
"policy": "CONTINUE"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"path_priority": [ # In case of multiple filters catch problems, this will determine the path to take
|
|
||||||
"STOP",
|
|
||||||
"CONTINUE",
|
|
||||||
"REPEAT"
|
|
||||||
],
|
|
||||||
"active": true,
|
|
||||||
"datetime_columns": [ # Columns in data comming from query that are datetime
|
|
||||||
"timestamp",
|
|
||||||
"created_at"
|
|
||||||
],
|
|
||||||
"updated_at": {
|
|
||||||
"$date": "2025-08-27T18:35:01.600Z"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -659,22 +622,71 @@ Workflows are configured through input parameters and filter policies:
|
|||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"input_filters": {
|
"schedule_name": "laborious-orchestrated-pipeline",
|
||||||
"EMPTY_DATA": {"POLICY": "STOP"},
|
"model_id": "1",
|
||||||
"SPECIFIC_VARIABLES_NULL_VALUES": {
|
"workflow_type": "predictions_batch",
|
||||||
"POLICY": "STOP",
|
"frequency": "30s", # Workflow execution frequency
|
||||||
"config": {"variables": ["temperature", "humidity"]}
|
"max_retry_policy": 1, # Maximum number of retries for the workflow
|
||||||
|
"query": "select * from sientia_data.laborious_data where model_id = 1 and \"timestamp\" > NOW() - INTERVAL '5 minutes' order by \"timestamp\" desc limit 30;",
|
||||||
|
"retention_time": 60, # Retention time for models in minutes
|
||||||
|
"write_tags": [
|
||||||
|
{
|
||||||
|
"server_id": "1",
|
||||||
|
"type": "prediction", # Type of tag to write, can be prediction or confidence
|
||||||
|
"addr": "ns=2;i=5",
|
||||||
|
"data_type": "double"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"server_id": "1",
|
||||||
|
"type": "confidence",
|
||||||
|
"addr": "ns=2;i=5",
|
||||||
|
"data_type": "double"
|
||||||
}
|
}
|
||||||
},
|
],
|
||||||
"mlflow_transform_filters": {
|
"input_filters": [
|
||||||
"API_ERROR": {"POLICY": "STOP"}
|
{
|
||||||
},
|
"filter_name": "EMPTY_DATA", # Required filter
|
||||||
"mlflow_predict_filters": {
|
"policy": "STOP"
|
||||||
"API_ERROR": {"POLICY": "STOP"},
|
},
|
||||||
"NAN_VALUES": {"POLICY": "STOP"}
|
{
|
||||||
},
|
"filter_name": "SPECIFIC_VARIABLES_NULL_VALUES",
|
||||||
"path_priority": ["STOP", "CONTINUE", "REPEAT"],
|
"policy": "CONTINUE",
|
||||||
"model_retention": 60
|
"config": {
|
||||||
|
"variables": [
|
||||||
|
"Counter"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"mlflow_transform_filters": [
|
||||||
|
{
|
||||||
|
"filter_name": "API_ERROR", # Required filter
|
||||||
|
"policy": "REPEAT"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filter_name": "NAN_VALUES",
|
||||||
|
"policy": "STOP"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"mlflow_predict_filters": [
|
||||||
|
{
|
||||||
|
"filter_name": "API_ERROR", # Required filter
|
||||||
|
"policy": "CONTINUE"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"path_priority": [ # In case of multiple filters catch problems, this will determine the path to take
|
||||||
|
"STOP",
|
||||||
|
"CONTINUE",
|
||||||
|
"REPEAT"
|
||||||
|
],
|
||||||
|
"active": true,
|
||||||
|
"datetime_columns": [ # Columns in data comming from query that are datetime
|
||||||
|
"timestamp",
|
||||||
|
"created_at"
|
||||||
|
],
|
||||||
|
"updated_at": {
|
||||||
|
"$date": "2025-08-27T18:35:01.600Z"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user