class TrainTaskSchema(Schema): # type: ignore model_train_id = fields.Integer(attribute="train_task_id") model_train_config = fields.Dict(attribute="train_config") model_train_state = fields.Function( lambda obj: StatusEnum(obj.train_status).name) model_id = fields.Integer(attribute="train_job_id") mark_job_ids = fields.List(fields.Integer()) train_terms = fields.List(fields.Nested(TrainTermTaskSchema)) created_time = fields.DateTime() last_updated_time = fields.DateTime(attribute="updated_time") model_version = fields.String()
class EvaluateTaskSchema(Schema): model_evaluate_id = fields.Integer(attribute="evaluate_task_id") model_evaluate_name = fields.String(attribute="evaluate_task_name") model_evaluate_desc = fields.String(attribute="evaluate_task_desc") model_evaluate_state = fields.Function( lambda obj: StatusEnum(obj.evaluate_task_status).name) model_evaluate_result = fields.Dict(attribute="evaluate_task_result") model_id = fields.Integer(attribute="train_job_id") mark_job_ids = fields.List(fields.Integer()) created_time = fields.DateTime() last_updated_time = fields.DateTime(attribute="updated_time")
class PredictTaskSchema(Schema): doc_type = fields.Nested(DocTypeSchema) doc = fields.Nested(DocSchema) task_id = fields.Integer(attribute="predict_task_id") task_result = fields.Dict(attribute="predict_task_result") task_state = fields.Function( lambda obj: StatusEnum(obj.predict_task_status).name) created_time = fields.DateTime()
class PredictJobSchema(Schema): doc_type = fields.Nested(DocTypeSchema) task_list = fields.List(fields.Nested(PredictTaskSchema)) extract_job_id = fields.Integer(attribute="predict_job_id") extract_job_name = fields.String(attribute="predict_job_name") extract_job_type = fields.String(attribute="predict_job_type.value") extract_job_state = fields.Function(lambda obj: StatusEnum(obj.predict_job_status).name) extract_job_desc = fields.String(attribute="predict_job_desc") is_batch = fields.Boolean() created_time = fields.DateTime()
class DocTypeSchema(Schema): doc_terms = fields.List(fields.Integer()) doc_term_list = fields.List(fields.Nested(DocTermSchema)) doc_relation_list = fields.List(fields.Nested(EntityDocRelationSchema)) doc_lexicon_list = fields.List(fields.Nested(WordsegDocLexiconSchema), attribute='doc_rules') doc_type_id = fields.Integer() doc_type_name = fields.String() doc_type_desc = fields.String() is_top = fields.Boolean(attribute="is_favorite") created_time = fields.DateTime() group_id = fields.Integer() status = fields.Function(lambda obj: not obj.is_deleted)
class CustomAlgorithmSchema(Schema): custom_id = fields.Integer(attribute="custom_algorithm_id") custom_ip = fields.String(attribute="custom_algorithm_ip") custom_port = fields.Integer(attribute="custom_algorithm_predict_port") custom_evaluate_port = fields.Integer( attribute="custom_algorithm_evaluate_port") custom_name = fields.String(attribute="custom_algorithm_name") custom_id_name = fields.String(attribute="custom_algorithm_alias") custom_desc = fields.String(attribute="custom_algorithm_desc") custom_type = fields.Function( lambda obj: "ner" if obj.nlp_task_id == NlpTaskEnum.extract and obj.preprocess.get( "split_by_sentence", False) else NlpTaskEnum(obj.nlp_task_id).name) custom_state = fields.Function( lambda obj: StatusEnum(obj.custom_algorithm_status).name) custom_config = fields.String(attribute="custom_algorithm_config") created_time = fields.DateTime() preprocess = fields.Dict()
class MarkJobSchema(Schema): mark_job_id = fields.Integer() mark_job_name = fields.String() mark_job_type = fields.Function(lambda obj: obj.mark_job_type.value) assign_mode = fields.Function(lambda obj: obj.assign_mode.value) mark_job_state = fields.Function( lambda obj: StatusEnum(obj.mark_job_status).name) mark_job_desc = fields.String() task_list = fields.List(fields.Integer()) created_time = fields.DateTime() assessor_id = fields.Function(lambda obj: obj.reviewer_ids[0] if len(obj.reviewer_ids) > 0 else 0) doc_type = fields.Nested(DocTypeSchema, exclude=('doc_term_list', )) labeler_ids = fields.List(fields.Integer(), attribute='annotator_ids') stats = fields.Nested({ "all": fields.Integer(), "labeled": fields.Integer(), "audited": fields.Integer() })