#pragma once #include #include #include #include "embedder_manager.h" #include class PersonalizationModel { public: static inline const std::map> valid_model_names = { {"recommendation", {"tyrec-1"}}, {"search", {"tyrec-2"}} }; PersonalizationModel(const std::string& model_path); ~PersonalizationModel(); static std::string get_model_subdir(const std::string& model_id); static Option validate_model(const nlohmann::json& model_json); static Option create_model(const std::string& model_id, const nlohmann::json& model_json, const std::string model_data); static Option update_model(const std::string& model_id, const nlohmann::json& model_json, const std::string model_data); static Option delete_model(const std::string& model_id); private: std::string model_path_; std::string model_id_; };