def get( self: Resource, args: typing.Dict, model_id: int, model_train_id: int ) -> typing.Tuple[typing.Dict, int]: """ 获取单条模型训练记录 """ # get single task task by id train_task = ModelTrainService().get_train_task_by_id(train_task_id=model_train_id) result = TrainTaskSchema().dump(train_task) # add extra algorithm information for extract and relation. if args["model_type"] in ["extract", "relation"]: result = ModelTrainService().add_algo_dict_for_extract_relation(result) return { "message": "请求成功", "result": result, }, 200
def delete( self: Resource, args: typing.Dict, model_id: int, model_train_id: int ) -> typing.Tuple[typing.Dict, int]: """ 删除模型 """ ModelTrainService().delete_train_task_by_id(train_task_id=model_train_id) return { "message": "删除成功", }, 200
def put(self, args): """ 修改模型的状态 """ update_params = {} if args.get("model_train_state"): # 后端返回结果转换,失败时后端目前还返回failed update_params.update(train_status=status_str2int_mapper()[args["model_train_state"]]) train_task = ModelTrainService().update_train_task_by_model_version(model_version=args["model_version"], is_check_train_terms=args["check_train_terms"], args=update_params) result = TrainTaskSchema().dump(train_task) return { "message": "更新成功", "result": result, }, 201
def get( self: Resource, args: typing.Dict, model_id: int, model_train_id: int, ) -> typing.Tuple[typing.Dict, int]: """ 获取模型训练的所有字段 """ count, train_term_list = ModelTrainService().get_train_term_list_by_train_task_id(train_task_id=model_train_id) result = TrainTermTaskSchema(many=True).dump(train_term_list) return { "message": "请求成功", "result": result, "count": count, }, 200
def get( self: Resource, args: typing.Dict, model_id: int ) -> typing.Tuple[typing.Dict, int]: """ 获取模型训练记录,分页 """ order_by = args["order_by"][1:] order_by_desc = True if args["order_by"][0] == "-" else False count, train_task_list = ModelTrainService().get_train_task_list_by_train_job_id(train_job_id=model_id, order_by=order_by, order_by_desc=order_by_desc, offset=args["offset"], limit=args["limit"]) result = TrainTaskSchema(many=True).dump(train_task_list) return { "message": "请求成功", "result": result, "count": count, }, 200
def put(self, args): """ 修改模型训练的一个字段状态 """ update_params = {} if args.get("train_term_state"): update_params.update(train_term_status=status_str2int_mapper()[args["train_term_state"]]) if args.get("train_term_result"): update_params.update(train_term_result=args["train_term_result"]) train_term_task = ModelTrainService().update_train_term_by_model_version_and_doc_term_id(model_version=args["model_version"], doc_term_id=args["doc_term_id"], args=update_params) result = TrainTermTaskSchema().dump(train_term_task) return { "message": "更新成功", "result": result, }, 201
def patch( self: Resource, args: typing.Dict, model_id: int, model_train_id: int ) -> typing.Tuple[typing.Dict, int]: """ 修改模型的状态和结果 """ update_params = {} if args.get("model_train_state"): # 这里不考虑model_train_result因为新的表结构里没有这个列了 update_params.update(train_status=status_str2int_mapper()[args["model_train_state"]]) train_task = ModelTrainService().update_train_task_by_id(train_job_id=model_id, train_task_id=model_train_id, is_check_train_terms=args["check_train_terms"], model_type = args["model_type"], args=update_params) result = TrainTaskSchema().dump(train_task) return { "message": "更新成功", "result": result, }, 200
def patch( self: Resource, args: typing.Dict, model_id: int, model_train_id: int, train_term_id: int, ) -> typing.Tuple[typing.Dict, int]: """ 修改模型训练的一个字段状态 """ update_params = {} if args.get("train_term_state"): update_params.update(train_term_status=status_str2int_mapper()[args["train_term_state"]]) if args.get("train_term_result"): update_params.update(train_term_result=args["train_term_result"]) train_term_task = ModelTrainService().update_train_task_term_by_id(train_term_task_id=train_term_id, args=update_params) result = TrainTermTaskSchema().dump(train_term_task) return { "message": "更新成功", "result": result, }, 200