SIENTIAPDE-1251: Implement ML model training activity and repository
This commit introduces the 'Training' activity and 'TrainingRepository' for handling ML model training operations within the Model Manager system. - Added model_manager/activities/training.py for the Training activity, which extends BaseActivity and integrates with Temporal workflows. - Added model_manager/utils/repository/training_repository.py for the TrainingRepository, which encapsulates the core training logic. - Updated model_manager/activities/activities.py to include the Training activity in the main activities orchestrator. - Updated README.md to document the new 'Training' component. - Added unit tests for the new activity and repository.
This commit is contained in:
@@ -154,6 +154,12 @@ The Model Manager system uses a Temporal-based workflow architecture with clear
|
||||
- Support for three update types: STATUS, STATUS_WITH_ERROR, MODEL_SAVED
|
||||
- Automatic error message truncation (1024 chars)
|
||||
- Connection pooling and retry logic via Postgres base class
|
||||
- **Training**: ML model training operations (standalone activity, composition pattern)
|
||||
- Unified `train_model()` method for complete training pipeline
|
||||
- Receives pre-downloaded files (BytesIO) to avoid memory leaks
|
||||
- Returns success/failure status with TrainModelResult or error message
|
||||
- No exception raising on failure - allows workflow to handle errors gracefully
|
||||
- Integration with TrainingRepository for business logic separation
|
||||
- **Gates**: Data quality validation and filtering mechanisms
|
||||
- **MLFlow**: Model transformation and prediction operations
|
||||
- **MinIO**: Object storage operations for file management
|
||||
|
||||
Reference in New Issue
Block a user