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:
vitor-aignosi
2025-08-29 15:59:46 -03:00
parent ec3df522f7
commit aa45fc8b99

170
README.md
View File

@@ -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"
}
} }
``` ```