SIENTIAPDE-1712
Remove code validation script and refactor imports in activities and workflows - Deleted the `validate.sh` script, which was responsible for running code quality checks. - Cleaned up import statements in `activities.py`, `gates.py`, `mlflow.py`, and `storage.py` by removing unused imports and organizing them. - Refactored initialization methods in `MinioManager` and `MLFlow` classes for improved readability. - Updated various workflows to ensure compatibility with the new structure and removed unnecessary comments. - Enhanced test cases to accommodate changes in the activities and workflows, ensuring proper mocking of dependencies.
This commit is contained in:
@@ -1,4 +1,3 @@
|
||||
from re import M
|
||||
from temporalio import activity, workflow
|
||||
|
||||
from laborious.utils.repository.minio_manager import MinioManager
|
||||
@@ -8,13 +7,12 @@ with workflow.unsafe.imports_passed_through():
|
||||
from typing import Any
|
||||
|
||||
import numpy as np
|
||||
from io import BytesIO
|
||||
from pandas import DataFrame, read_parquet, to_datetime
|
||||
from pandas import to_datetime
|
||||
from sientia_do.notifications.handlers import CoreNotificationHandler as NotificationHandler
|
||||
from sientia_do.notifications.models import NotificationLevel
|
||||
from sientia_do.observability.logger import Logger
|
||||
from sientia_do.observability.metrics_controller import MetricsController
|
||||
from sientia_do.observability.sientia_monitoring import SientiaMonitoring
|
||||
from sientia_do.repository.minio_repository import MinioRepository
|
||||
from sientia_do.temporal.constants import (
|
||||
DATETIME_FORMAT,
|
||||
DATETIME_FORMAT_MS_WITH_TZ,
|
||||
@@ -24,7 +22,6 @@ with workflow.unsafe.imports_passed_through():
|
||||
from sientia_do.utils.formatters import create_sample_dict
|
||||
|
||||
from laborious.utils.models.minio_dataframe_payload import MinioDataFramePayload
|
||||
from sientia_do.repository.minio_repository import MinioRepository
|
||||
from laborious.utils.repository.model_repository import MLFlowRepository
|
||||
|
||||
|
||||
@@ -72,7 +69,9 @@ class MLFlow(MinioManager):
|
||||
Raises:
|
||||
Exception: If MLFlowRepository initialization fails
|
||||
"""
|
||||
MinioManager.__init__(self, minio_repository, logger, notification_handler, metrics_controller)
|
||||
MinioManager.__init__(
|
||||
self, minio_repository, logger, notification_handler, metrics_controller
|
||||
)
|
||||
self.mlflow_host = mlflow_host
|
||||
self.mlflow_port = mlflow_port
|
||||
self.mlflow_username = mlflow_username
|
||||
@@ -128,7 +127,7 @@ class MLFlow(MinioManager):
|
||||
"""
|
||||
metadata = input_data['metadata']
|
||||
self.info('Transforming data...', metadata)
|
||||
|
||||
|
||||
payload: MinioDataFramePayload = input_data['data']
|
||||
data = await payload.retrieve(self.minio_repository, metadata)
|
||||
|
||||
@@ -251,7 +250,6 @@ class MLFlow(MinioManager):
|
||||
|
||||
self.info('Data predicted successfully', metadata)
|
||||
|
||||
|
||||
if not response_data.get('success', False):
|
||||
return await MinioDataFramePayload.from_dataframe(
|
||||
dataframe=None,
|
||||
@@ -270,10 +268,9 @@ class MLFlow(MinioManager):
|
||||
workflow_metadata=metadata,
|
||||
status={
|
||||
'success': True,
|
||||
}
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
@activity.defn(name='retrain_model')
|
||||
async def retrain_model(self, input_data: dict[str, Any]) -> dict[str, Any]:
|
||||
"""
|
||||
@@ -313,22 +310,10 @@ class MLFlow(MinioManager):
|
||||
metadata = input_data['metadata']
|
||||
|
||||
try:
|
||||
if 'data' in input_data:
|
||||
# New path: payload-based retrain input (inline or MinIO offloaded).
|
||||
data = await MinioDataFramePayload.dataframe_from_wire(
|
||||
input_data['data'],
|
||||
self.minio_repository,
|
||||
metadata,
|
||||
)
|
||||
else:
|
||||
# Backward compatibility: legacy query_to_minio contract.
|
||||
object_key = input_data['object_key']
|
||||
self.info(f'Loading retrain data from Key: {object_key}', metadata)
|
||||
file_bytes = await self.minio_repository.download_file(
|
||||
object_name=object_key,
|
||||
metadata=metadata,
|
||||
)
|
||||
data = read_parquet(BytesIO(file_bytes))
|
||||
# Payload-based retrain input (inline dict or MinIO offloaded).
|
||||
payload: MinioDataFramePayload = input_data['data']
|
||||
data = await payload.retrieve(self.minio_repository, metadata)
|
||||
|
||||
except Exception as e:
|
||||
trace = traceback.format_exc()
|
||||
await self.send_notification_async(
|
||||
|
||||
Reference in New Issue
Block a user