All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- RandomRanking engine [@Michal-Kolomanski]
- RL training is omitted during training [@Michal-Kolomanski]
- Handling nullable string as service pid [@Michal-Kolomanski]
- BREAKING CHANGE:
research_steps
andhorizontal
[@Michal-Kolomanski] - BREAKING CHANGE: providers
PID
[@Michal-Kolomanski]
engine_version
optional [@Michal-Kolomanski]panel_id
optional [@Michal-Kolomanski]- default recommendation engine is NCF [@Michal-Kolomanski]
panel_id=service
handled [@Michal-Kolomanski]
- /health endpoint [@wujuu]
- pid for services [@wujuu]
- BREAKING CHANGE: Adjust user actions handling to the new user action schema [@JanKapala]
- engine_version in the recommendations response [@Michal-Kolomanski]
- better exception handling for finding user in the DB [@Michal-Kolomanski]
- Implement basic recommendations explanations handling [@JanKapala]
/recommendations
endpoint for the purposes of the User Dashboard [@Michal-Kolomanski]- Rename elastic_services to candidates [@JanKapala]
- Adapt Inference Components to return probability scores [@JanKapala]
- BREAKING CHANGE: Extend
/recommendations
endpoint response with additional fields [@JanKapala]
- Random recommendations' engine for anonymous users [@Michal-Kolomanski]
- Add NCF Ranking Inference Component [@JanKapala]
- Cleaning up the main conftest [@Michal-Kolomanski]
- More metadata in autoencoders pipeline [@Michal-Kolomanski]
- Pandas warnings in the AE pipline [@Michal-Kolomanski]
- db commands divided into db and seed commands [@Michal-Kolomanski]
- seed commands only available in development and testing env [@Michal-Kolomanski]
- Dependabot alerts [@Michal-Kolomanski]
- Python version: 3.10 [@Michal-Kolomanski]
- Updating and cleaning up packages [@Michal-Kolomanski]
- Dependabot alerts [@Michal-Kolomanski]
- Integrate elastic_search results from the Marketplace [@Michal-Kolomanski]
- JMS Subscriber for user actions and flask cli for it [@michal-szostak]
- search_data migration [@Michal-Kolomanski]
- tqdm and logging in embedding pipeline [@Michal-Kolomanski]
- engine_version field in recommendation request is required [@Michal-Kolomanski]
- Structure of the tests in the tests folder [@Michal-Kolomanski]
- There is no version specified in flask command for RL training. Use: flask train rl [@Michal-Kolomanski]
- drop_ml_models in flask train all [@Michal-Kolomanski]
- v2 configuration of RL pipeline removed [@Michal-Kolomanski]
- JMS connection [@Michal-Kolomanski]
- Models from m_l_component collection are deleted when necessary (/update, flask command) [@Michal-Kolomanski]
- Flask command to delete models from m_l_component collection [@Michal-Kolomanski]
- Flask train, db command and docs in the README [@Michal-Kolomanski]
- If requested recommendation model (in /recommendation body request) does not exist try to use another model [@Michal-Kolomanski]
- engine_version in recommendation collection [@Michal-Kolomanski]
- Black version = 20.8b0 - click dependency [@Michal-Kolomanski]
- InsufficientRecommendationSpace in RL model evaluation step [@Michal-Kolomanski]
- RL v2 training in flask train all [@Michal-Kolomanski]
- User actions documentation [@JanKapala, @Michal-Kolomanski]
- Logging in generation of SARSes [@Michal-Kolomanski]
- SARS generator - saving users with ID -1 to the database while they are not logged in [@Michal-Kolomanski]
- Limited SARSes deletion in the RL data extraction step [@Michal-Kolomanski]
- Test for regenerate SARSes are disabled due to the fact that they tend to freeze [@Michal-Kolomanski]
- Details in the AE data preparation step [@Michal-Kolomanski]
- Multiprocessing in Celery task. Transition to billiard [@JanKapala, @Michal-Kolomanski]
- Invalid user actions progress bar [@Michal-Kolomanski]
- Add the AI docs, describing the training, data and algorithm evaluation [@wujuu, @JanKapala, @Michal-Kolomanski]
- Flask CLI commands (testing db seed, execution of individual AI pipelines and more) [@wujuu]
- Unit and integration tests for each pipeline step of the autoencoders [@Michal-Kolomanski]
- New ENV variable, which points to default recommendation algorithm [@Michal-Kolomanski]
- The ability to modify the sizes and number of layers in the autoencoders networks.[@Michal-Kolomanski]
- Implement migration process [@wujuu]
- Split validation in autoencoder's data preparation step [@Michal-Kolomanski]
- Logging system [@Michal-Kolomanski]
- Add MongoDB to CI and to testing environment [@wujuu]
- Add adjustable min/max numerical boundaries on Actor output [@wujuu]
- Add more tests to RLInferenceComponent [@wujuu]
- DB indexes [@JanKapala]
- Support for multiprocessing-capable code testing and parallel tests [@JanKapala]
- Implement user journey creator for testing purposes [@JanKapala]
- User user journey visualizer [@JanKapala]
- Add pytest-randomly [@JanKapala]
- Methods refactoring in the AEDataPreparationStep [@Michal-Kolomanski]
- Refactoring neural network layer definitions across all pipelines [@Michal-Kolomanski]
- Reimplementation SARSes (re)generation [@JanKapala]
- Flask seed_faker command on an empty database [@Michal-Kolomanski]
- Flask db seed command [@Michal-Kolomanski]
- Training time significantly decreased, by reducing epochs and unused models [@wujuu]
- Fixed RLInference bugs on user's history longer than max history length [@wujuu]
- fix AGENT_VERSION default in execute_training task [@JanKapala]
- Add proper policy delay to TD3 [@wujuu]
- Complex and simple reward generation [@wujuu]
- Add ENGINE_VERSION field to the /recommendations endpoint [@Michal-Kolomanski]
- Abstract Pipeline architecture [@JanKapala, @wujuu]
- NCFPipeline [@JanKapala]
- NCFInferenceComponent [@JanKapala]
- Pipeline and Step Metadata [@wujuu, @JanKapala]
- AutoencodersPipeline [@Michal-Kolomanski]
- Embedder and Normalizers implementation and integration [@JanKapala, @wujuu]
- RLPipeline [@wujuu]
- Split History Embedder into MLP and LSTM versions [@wujuu]
- Service engagement refactoring [@wujuu]
- Service Selector refactoring [@wujuu]
- Improved SARSes generator [@JanKapala]
- Project structure [@Michal-Kolomanski, @wujuu, @JanKapala]
- Fix dynamic examples in swagger API [@JanKapala]
- Deletion of unnecessary jupyter notebooks [@JanKapala]
- fix mongo FTS by specifying proper fields in the service model [@JanKapala]
- AGENT_VER defaults to pre_agent if not in env [@JanKapala]
- Services History Generator [@JanKapala]
- Base Agent Recommender [@JanKapala]
- RL Agent Recommender [@JanKapala]
- History Embedder [@wujuu]
- Actor Model [@wujuu]
- Synthetic Dataset [@wujuu]
- Service Selector [@wujuu]
- Services2weights [@wujuu]
- Action Encoder, Action Embedder and Critic [@JanKapala]
- Replay Buffer [@JanKapala]
- Update endpoint, model reloading [@JanKapala]
- Batch compatibility [@JanKapala]
- Continuous Integration [@wujuu]
- Represent action as weights [@wujuu]
- Smart Examples in Swagger [@JanKapala]
- Handle invalid /recommendations and /user_actions requests [@JanKapala, @wujuu]
- Services History Generator [@JanKapala]
- Base Agent Recommender [@JanKapala]
- RL Agent Recommender [@JanKapala]
- History Embedder [@wujuu, @JanKapala]
- Actor Model [@wujuu, @JanKapala]
- User Interest Evaluation [@wujuu]
- Reward mapping [@wujuu]
- Action Selector [@wujuu]
- Fixed bugs associated with recommendation of services with specific status (published, unverified). [@JanKapala]
- Fully Operational Pre Agent [@JanKapala]
- stable API [@JanKapala]
- remove logged_user from tests and fixtures [@JanKapala]
- Flask integration [@JanKapala]
- MongoDB integration [@wujuu]
- Celery integration [@wujuu]
- SARSes generator [@JanKapala]
- Docker integration [@wujuu]
- Neural Collaborative Filtering [@JanKapala]
- User Actions endpoint [@JanKapala, @wujuu]
- Mongo FTS integration [@wujuu]
- Sentry integration [@JanKapala]
- Test Coverage [@JanKapala]