[docs]classAskingQuestionState(BaseState):"""State representing the agent asking a question in an assessment."""
[docs]defgenerate_response(self,user_input,conversation_id,assessment_id):# Get the next question to askquestion_json=self.context._get_question_json(assessment_id)# Get the model natural phraseuser_id=self.context.assess_repo.get_assessment(assessment_id).user_idbot_response=self.context._naturalize_question(question_json['question'],question_json['id'],user_id)# Changing state of AssesmentAgent to WaitingFreeTextStateself.context._transition_to_next_state(WaitingFreeTextState())# Updating state Assesment in DBself.context.assess_repo.update_assessment(assessment_id,current_state=self.context.STATE_WAITING_FREE_TEXT)returnbot_response