Commit Graph

252 Commits

Author SHA1 Message Date
vitor-aignosi
544c768ef4 chore: update sientia library versions in requirements files
- Updated `sientia-dataops-library` to version 1.12.0 and `sientia-model-library` to version 0.8.3 in `requirements-local.txt` for improved features and compatibility.
- Changed `sientia_do` and `sientia_model` in `requirements.txt` to use version specifiers for better flexibility in dependency management.
2026-05-06 17:15:16 -03:00
vitor-aignosi
78167f7a44 fix: downgrade sientia_do version and update CSV saving logic
- Downgraded `sientia_do` version to 1.11.0 in `requirements.txt` to address compatibility issues.
- Updated `data_manager_repository.py` to save training and test data CSVs using float-cast versions of the data, ensuring consistency in the saved outputs.
- Enhanced test coverage in `test_data_manager_repository.py` to verify the presence of the target alias in the generated CSV files.
2026-05-05 16:26:47 -03:00
vitor-aignosi
23912d854e chore: update dependencies and improve import statements
- Updated `sientia_do` version to 1.12.0 in `requirements.txt` for compatibility and feature enhancements.
- Refined import statements in `conftest.py` to improve type checking, ensuring better compatibility with type checkers.
2026-05-05 15:52:39 -03:00
vitor-aignosi
ad125e22e1 chore: update .gitignore to include models directory
- Added 'models/' to .gitignore to prevent tracking of model files, ensuring a cleaner repository and avoiding unnecessary clutter in version control.
2026-05-05 11:00:14 -03:00
vitor-aignosi
d1f9394879 feat: enhance E2E testing setup and model reporting
- Added a new fixture to manage runtime report artifacts in a writable temp directory during E2E tests, addressing permission issues in local CI/dev environments.
- Updated `conftest.py` to include a requirements.txt file in the model packaging path for training activities.
- Refactored existing fixtures to use `pytest.fixture` instead of `pytest_asyncio.fixture` for better compatibility.
- Enhanced the `Reports` class to include a target alias for report metrics, ensuring compatibility with Evidently's reporting requirements.
- Introduced new test scenarios to validate the handling of missing and whitespace-only `date_column` inputs in the training workflow.

These changes improve the robustness of the E2E testing framework and enhance the clarity of model reporting metrics.
2026-05-05 10:59:51 -03:00
vitor-aignosi
ba9eb3d7c7 feat: require date_column in training parameters and update documentation
- Made `date_column` a required field in `TrainModelParams`, ensuring it must be present in the input data.
- Updated related documentation in `input-sample.md`, `README.md`, and various test scenarios to reflect the change in requirement.
- Adjusted the handling of `date_format` to default to `yyyy-MM-dd HH:mm:ss` if omitted, enhancing usability.
- Refined test scenarios to include new examples and ensure compliance with the updated parameter structure.

These changes improve the robustness of the model training workflow and clarify the expectations for input data.
2026-05-05 08:35:12 -03:00
vitor-aignosi
6bd30e3328 feat: enhance test scenarios and configuration for regression models
- Updated `pyproject.toml` to include new linting rules for end-to-end tests.
- Modified `requirements-dev.txt` to add dependencies for E2E testing with `testcontainers` and `requests`.
- Refactored multiple JSON test scenario files to standardize structure, including new fields for `experiment_run_id`, `bucket_name`, and `file_name`.
- Improved model training parameters in `train_model_params.py` to use `experiment_name` directly.
- Adjusted `data_manager_repository.py` to utilize the updated `experiment_name` for logging.

These changes improve the organization and clarity of regression model tests and enhance the overall testing framework.
2026-05-04 11:11:16 -03:00
vitor-aignosi
50d0ea6f32 doc update 2026-04-17 12:12:58 -03:00
vitor-aignosi
31e95cbdf8 feat: log regression metrics as parameters in Training class
- Added a method to persist computed regression metrics (MSE, MAE, R²) as MLflow parameters during model training, enhancing model evaluation and tracking.
- Updated the Training class to log the equation path if available, improving artifact management.
2026-04-17 10:52:32 -03:00
vitor-aignosi
b245801e09 fix: clear input example in Training class before model storage
- Set wrapper._input_example to None to ensure no residual data is stored with the model, enhancing data integrity during model storage.
2026-04-16 15:08:26 -03:00
vitor-aignosi
e2b2f702f8 feat: integrate SientiaModel wrapper and enhance logging in Training class
- Imported SientiaModel to standardize the wrapper type in the Training class.
- Added conditional logging to capture training process details when a logger is provided, improving traceability during model training.
2026-04-16 14:51:41 -03:00
vitor-aignosi
30dc98f140 feat: add template path debug print in Reports class for enhanced traceability
- Added a debug print statement to log the template path during report generation, improving visibility into the report generation process.
2026-04-16 14:43:59 -03:00
vitor-aignosi
de2d7712e8 feat: add project base path and template path handling in report generation
- Introduced PROJECT_BASE_PATH constant for consistent project directory reference.
- Updated Reports class to require template_path for loading HTML templates.
- Modified DataManagerRepository to pass the new template_path when generating reports.
2026-04-16 14:43:25 -03:00
vitor-aignosi
b2458ec354 refactor: simplify load_html_from_file function and add debug prints in Reports class
- Removed exception handling in load_html_from_file for cleaner code.
- Added debug print statements in the Reports class to log output directory, report path, and base path for better traceability during report generation.
2026-04-16 14:17:54 -03:00
vitor-aignosi
17632477a8 chore: downgrade evidently dependency to version 0.6.7 in requirements.txt 2026-04-16 12:46:51 -03:00
vitor-aignosi
935530e1e8 chore: downgrade evidently dependency to version 0.6.7 in requirements-local.txt 2026-04-16 12:42:53 -03:00
vitor-aignosi
0d00a8c3d2 chore: update evidently dependency to version 0.7.21 in requirements files 2026-04-16 10:59:10 -03:00
vitor-aignosi
8d4dc65aaa feat: enhance report generation with target name and content injection
- Added target_name parameter to Reports class for improved report context.
- Updated inject_content function to ensure proper handling of HTML sections.
- Modified DataManagerRepository to join predictions with training and validation data for accurate report generation.
2026-04-16 10:26:42 -03:00
vitor-aignosi
1e05ebe147 feat: add experiment_name to TrainModelResult and update training logic
- Introduced experiment_name parameter in TrainModelResult to enhance tracking of training experiments.
- Updated the Training class to utilize run_name and experiment_name for improved MLflow run management.
2026-04-16 09:43:39 -03:00
vitor-aignosi
c75a5921f3 feat: add run_name to TrainModelResult for enhanced tracking
- Introduced run_name parameter in TrainModelResult to improve identification of training runs based on model type, name, and experiment run ID.
2026-04-16 09:34:36 -03:00
vitor-aignosi
e658c3036f feat: add timezone handling for DataFrame index
- Implemented _set_timezone_on_index method to ensure DataFrame indices are set to UTC if not already timezone-aware.
- Updated training and validation DataFrame processing to include timezone configuration for improved data consistency.
2026-04-16 09:20:04 -03:00
vitor-aignosi
409cad23c0 SIENTIAPDE-1645: Update sientia_model dependency to 0.8.1 2026-04-15 17:05:16 -03:00
vitor-aignosi
a83cdbfde0 chore: ensure consistent formatting in quality-gate.yml
- Maintained existing configuration for secrets inheritance in the quality-gate.yml file.
- Added a newline at the end of the file for consistency with coding standards.
2026-04-14 13:44:34 -03:00
vitor-aignosi
3bee743cfd feat: enhance training and regression metrics logging
- Added debug logging for data preparation, transformation, and prediction steps in the Training class to improve traceability.
- Updated compute_regression_metrics method to include metadata for better debugging and validation of index alignment between true and predicted values.
2026-04-13 15:18:42 -03:00
vitor-aignosi
388d4c95e4 chore: update configuration and imports for improved functionality
- Updated image tag in values.yaml from "1.0.0" to "1.0.2" for the latest version.
- Modified STORE_BASE_URL to include port 3000 for proper service access.
- Changed import from MinioRepository to MinioRepositorySync for synchronization support.
- Updated import from Postgres to PostgresSync to enhance experiment tracking capabilities.
- Renamed TRAIN_TASK_QUEUE from "train_model-single-queue" to "train_model-basic-queue" for clarity.
2026-04-13 14:57:06 -03:00
vitor-aignosi
4d761c15ac chore: remove sientia models module and relocate date format validation
- Deleted the sientia/models.py file, which contained the LinearRegressionModel and related functionality.
- Moved the frontend date format validation logic to train_model_params.py, ensuring a single source of truth for date formats.
2026-04-13 10:40:21 -03:00
vitor-aignosi
8765c46b5b chore: add jsonschema dependency to requirements.txt
- Included jsonschema version 4.26.0 to the requirements.txt file for enhanced validation capabilities.
2026-04-13 10:26:58 -03:00
vitor-aignosi
7ddae14b7d chore: update sientia-model-library version in requirements files
- Upgraded sientia-model-library from version 0.7.4 to 0.7.5 in both requirements-local.txt and requirements.txt.
- Modified quality-gate.yml to include sientia-model-library in the repositories list for improved CI/CD integration.
2026-04-13 09:05:55 -03:00
vitor-aignosi
bbf500e951 chore: remove git-requirements-mapping.txt as it is no longer needed 2026-04-13 08:47:37 -03:00
vitor-aignosi
ab34d09f65 chore: clarify ipykernel version constraint in requirements-dev.txt
- Updated comment for ipykernel to specify that other versions cause problems with interactive mode.
2026-04-13 08:43:12 -03:00
vitor-aignosi
5b41ef59e4 chore: ensure newline at end of requirements.txt for consistency 2026-04-13 08:10:10 -03:00
vitor-aignosi
9ea3249daf refactor: update GitHub repository links in requirements mapping and requirements files
- Changed repository links in git-requirements-mapping.txt to a more concise format.
- Updated requirements.txt to reference the sientia-dataops-library and sientia-model-library using simplified names instead of full GitHub URLs.
2026-04-13 08:04:56 -03:00
vitor-aignosi
62f5a88c5f chore: update dependency versions in requirements.txt
- Upgraded temporalio to version 1.23.0 for improved functionality.
- Updated sqlalchemy to version 2.0.49, and boto3 and botocore to version 1.42.70 for better compatibility and features.
2026-04-09 17:15:47 -03:00
vitor-aignosi
e2190081ff feat: update dependencies and refactor image configuration
- Replaced local paths in requirements.txt with specific GitHub repository links for sientia-dataops-library and sientia-model-library.
- Refactored image configuration in values.yaml to move it under the global section, ensuring consistent deployment settings across runtimes.
2026-04-09 17:12:28 -03:00
vitor-aignosi
c0bef2d688 feat: update values.yaml and refactor cleanup paths
- Changed project name in values.yaml from "sientia-dataops-model-manager" to "sientia-model-manager".
- Added new environment variables for GitHub repository and branch configuration.
- Refactored cleanup paths to use a centralized REPORTS_TEMP_DIR constant for consistency.
- Updated runtime configurations and adjusted volume mounts for better resource management.
- Enabled SSH access for the model manager and disabled Grafana dashboard creation.
- Updated tests to reflect changes in directory paths and environment variable usage.
2026-04-09 16:37:36 -03:00
vitor-aignosi
526edcb50e feat: update training workflow and repository management
- Replaced synchronous MinIO repository calls with asynchronous counterparts in the Training class for improved performance.
- Enhanced logging throughout the training process to provide better insights into model metadata loading, parameter validation, and training execution.
- Updated the train_test_split function to enforce DataFrame input type, ensuring consistency in data handling.
- Removed the deprecated model_repository.py file to streamline the codebase.
- Adjusted cleanup schedule logic to improve error handling and logging during schedule reconciliation.
- Updated tests to reflect changes in the training workflow and repository interactions.
2026-04-09 12:09:52 -03:00
vitor-aignosi
0ae03b246f feat: update environment configuration and remove deprecated model serving
- Modified `.env.example` to set local defaults for PostgreSQL, MLflow, and MinIO configurations.
- Added MongoDB configuration parameters to the environment setup.
- Updated `README.md` to reflect changes in workflow input parameters and task queue naming conventions.
- Removed the `ModelServing` class to streamline the codebase, as it was deemed unnecessary.
- Adjusted `connectors_config.py` to align with new environment variable names and improve clarity.
- Updated tests to reflect changes in configuration handling and removed tests related to the deleted `ModelServing` class.
2026-04-07 16:58:50 -03:00
vitor-aignosi
c5cd382350 feat: enhance configuration and scheduling for cleanup processes
- Updated `.env.example` to include new environment variables for MinIO and PyPI configuration.
- Refactored `create_cleanup_schedule` to utilize runtime-specific task queues and improve schedule reconciliation logic.
- Enhanced `Activities` class to require a default bucket in MinIO configuration.
- Adjusted `requirements.txt` to specify version for `evidently`.
- Updated tests to reflect changes in schedule creation and configuration handling.
2026-04-07 12:57:29 -03:00
vitor-aignosi
09ee92f100 feat: enhance configuration and error handling in project setup
- Added new ignore rule for Ruff to allow temporary paths in tests.
- Introduced MyPy overrides for specific modules to ignore errors.
- Refactored `Cleanup` and `ExperimentTracking` classes to remove async keywords from methods, improving consistency in method signatures.
- Updated `Training` class methods to handle synchronous operations, enhancing performance and clarity.
- Adjusted `requirements.txt` to remove unnecessary Git dependency, streamlining project setup.
2026-04-07 10:25:17 -03:00
vitor-aignosi
6b1df7c3a7 feat: enhance training and experiment tracking functionality
- Updated `Activities` class to improve garbage collection handling.
- Enhanced error messaging in `ExperimentTracking` for better clarity on update failures.
- Refactored `Training` class to streamline exception handling and improve type hints.
- Introduced new methods in `TrainModelParams` for better handling of experiment run IDs and model metadata.
- Added functionality to extract model equations in `DataManagerRepository` for linear regression models.
2026-04-06 15:05:57 -03:00
vitor-aignosi
1352d1ac8f feat: enhance training model functionality and reporting
- Added `evidently` to requirements for improved model evaluation.
- Introduced `TrainModelResult` class with a `to_dict` method for better result handling.
- Updated `train_model` method to return a comprehensive training result, including run details.
- Enhanced `cleanup_run_directory` method in `DataManagerRepository` for improved resource management.
- Adjusted type hints in `TrainModel` for clarity and consistency.
2026-04-06 11:40:08 -03:00
vitor-aignosi
a8b926649a feat: enhance training reporting and directory management
- Added functionality to store run name and ID in the training results.
- Implemented report generation in the `DataManagerRepository`, including methods to create a run directory and generate comprehensive reports.
- Updated `TrainModelResult` to include `run_id` and `run_dir` attributes for better tracking of training sessions.
2026-04-06 10:38:24 -03:00
vitor-aignosi
18412958d2 refactor: remove MinIO repository references and streamline cleanup process
- Eliminated MinIO repository dependencies from the `Activities`, `Cleanup`, and `Training` classes.
- Updated the `cleanup_resources` method to focus on removing local temporary directories instead of handling MinIO file deletions.
- Adjusted the `TrainModel` class to pass the run directory for cleanup, enhancing resource management in the training workflow.
2026-04-06 09:30:38 -03:00
vitor-aignosi
d2bb588739 Merge branch 'main' into release/SIENTIAPDE-1645 2026-04-06 08:34:15 -03:00
vitor-aignosi
bf2b6b3888 feat: improve error handling and resource cleanup in training workflow
- Updated the `Training` class to raise `ModelTrainingError` on training failures for better error management.
- Enhanced the `run` method in `TrainModel` to return training results and ensure proper resource cleanup, including validation files.
- Refactored exception handling to prevent silent failures during resource cleanup and experiment run updates.
- Adjusted type hints for improved clarity and consistency in method signatures.
2026-04-06 08:26:42 -03:00
github-actions[bot]
dfe05a063a chore: bump version to 1.2.0 [skip ci] 2026-03-30 18:27:46 +00:00
Bruno Domingues
f43fe6a399 Merge pull request #26 from Aignosi/feature/SIENTIAPDE-1717
SIENTIAPDE-1717: Remove MinIO Cleanup Functionality and Streamline Local Temporary File Management
2026-03-30 15:27:20 -03:00
Bruno Domingues
14f91b40aa SIENTIAPDE-1717: Updated documentation to reflect the removal of MinIO data download and cleanup operations from Model Manager workflows. 2026-03-30 14:54:44 -03:00
Bruno Domingues
cce350bfb1 SIENTIAPDE-1717: Remove FILE_DELETE_ERROR from ExperimentStatus enum and related tests. 2026-03-30 14:33:19 -03:00
Bruno Domingues
f5eb8d1e5b SIENTIAPDE-1717: Remove list_bucket_objects method from StorageRepository and its associated test. 2026-03-30 14:18:14 -03:00