def setUp(self): """ Create a submission and grading workflow. """ # Create a submission submission = sub_api.create_submission(STUDENT_ITEM, ANSWER) self.submission_uuid = submission['uuid'] # Create a workflow for the submission workflow = AIGradingWorkflow.start_workflow(self.submission_uuid, RUBRIC, ALGORITHM_ID) self.workflow_uuid = workflow.uuid # Associate the workflow with classifiers rubric = rubric_from_dict(RUBRIC) classifier_set = AIClassifierSet.create_classifier_set( self.CLASSIFIERS, rubric, ALGORITHM_ID, STUDENT_ITEM.get('course_id'), STUDENT_ITEM.get('item_id') ) workflow.classifier_set = classifier_set workflow.save()
def setUp(self): """ Create a submission and grading workflow. """ # Create a submission submission = sub_api.create_submission(STUDENT_ITEM, ANSWER) self.submission_uuid = submission['uuid'] # Create a workflow for the submission workflow = AIGradingWorkflow.start_workflow(self.submission_uuid, RUBRIC, ALGORITHM_ID) self.workflow_uuid = workflow.uuid # Associate the workflow with classifiers rubric = rubric_from_dict(RUBRIC) classifier_set = AIClassifierSet.create_classifier_set( self.CLASSIFIERS, rubric, ALGORITHM_ID, STUDENT_ITEM.get('course_id'), STUDENT_ITEM.get('item_id')) workflow.classifier_set = classifier_set workflow.save()
classifier['score_override'] = 0 return classifier def score(self, text, classifier, cache): """ Stub implementation that returns whatever scores were provided in the serialized classifier data. Expect `classifier` to be a dict with a single key, "score_override" containing the score to return. """ return classifier['score_override'] ALGORITHM_ID = "test-stub" COURSE_ID = STUDENT_ITEM.get('course_id') ITEM_ID = STUDENT_ITEM.get('item_id') AI_ALGORITHMS = { ALGORITHM_ID: '{module}.StubAIAlgorithm'.format(module=__name__), } def train_classifiers(rubric_dict, classifier_score_overrides): """ Simple utility function to train classifiers. Args: rubric_dict (dict): The rubric to train the classifiers on. classifier_score_overrides (dict): A dictionary of classifier overrides to set the scores for the given submission.