def get_examples_history(self, model_id): """ Retorna un listado con todos los ejemplos, sin importar su estado, para un determinado modelo. :model_id: [String] - Id del modelo. :return: [List] - Listado de todos los ejemplos para el modelo solicitado. """ if not self.__find_model(model_id): ErrorHandler.raise_error('E-0082') results = list([]) Logger.log('L-0326') examples_data = db_get_items(TRAIN_MANAGER_DB, TRAIN_DATA_EXAMPLES_COLLECTION, {'model_id': model_id}) Logger.log('L-0327') Logger.log('L-0328') for example_data in examples_data: example = TrainExample(example_data['example_id'], example_data['sentence'], example_data['tags'], example_data['type'], example_data['status']) results.append(example) Logger.log('L-0329') return results
def get_models(): """ Devuelve un listado de los modelos disponibles y sus caracteristicas. :return: [List(Dict)] - Listado de todos los modelos y sus datos. """ try: available_models = db_get_items(MODEL_MANAGER_DB, MODEL_MANAGER_MODELS_COLLECTION, None, {'_id': 0}) return available_models except: return None
def get_analyzer_exceptions_data(model_id): """ Obtiene la lista de excepciones para el analizador de un modelo. :model_id: [String] - Id del modelo. :return: [List] - Listado con las excepciones encontradas para el modelo solicitado """ analyzer_exceptions = list( db_get_items(MODEL_MANAGER_DB, ANALYZER_EXCEPTIONS_COLLECTION, {'model_id': model_id})) return analyzer_exceptions
def check_existing_model(model_id): """ Devuelve un listado de los identificadores de cada modelo disponible. :model_id: [String] - id del modelo buscado. :return: [Boolean] - True si se ha encontrado el modelo, False en caso contrario """ available_model_names = list( map( lambda model: model['model_id'], db_get_items(MODEL_MANAGER_DB, MODEL_MANAGER_MODELS_COLLECTION, None, {'model_id': 1}))) return model_id in available_model_names
def __init(self, available_models): """ Inicializa el modulo. """ try: Logger.log('L-0247') Logger.log('L-0248') for model in available_models: model_train_data = ModelTrainData(model, []) self.__models.append(model_train_data) Logger.log('L-0249') Logger.log('L-0250') examples_query = { '$and': [{ 'status': { '$ne': TRAIN_EXAMPLE_STATUS_APPLIED } }, { 'status': { '$ne': TRAIN_EXAMPLE_STATUS_REJECTED } }] } training_examples = db_get_items(TRAIN_MANAGER_DB, TRAIN_DATA_EXAMPLES_COLLECTION, examples_query) Logger.log('L-0251') Logger.log('L-0252') for training_example in training_examples: model_id = training_example['model_id'] model_train_data = self.__find_model(model_id) if model_train_data is not None: model_train_data.add_training_example(training_example) Logger.log('L-0253') self.__custom_entity_manager = CustomEntityTagManager() if self.__custom_entity_manager.is_ready(): Logger.log('L-0254') self.__init_success = True return Logger.log('L-0255') except Exception as e: self.__init_success = False ErrorHandler.raise_error('E-0023', [{ 'text': e, 'color': ERROR_COLOR }])
def __init(self): """ Inicializa el administrador de tags personalizados. """ try: Logger.log('L-0257') Logger.log('L-0258') stored_entities = db_get_items(TRAIN_MANAGER_DB, CUSTOM_ENTITY_MANAGER_COLLECTION) Logger.log('L-0259') Logger.log('L-0260') for stored_entity in stored_entities: entity = CustomEntity(stored_entity['name'], stored_entity['description']) self.__custom_entities.append(entity) Logger.log('L-0261') self.__init_susccess = True Logger.log('L-0262') except Exception as e: self.__init_susccess = False ErrorHandler.raise_error('E-0024', [{ 'text': e, 'color': ERROR_COLOR }])