def generate_question()

in paq/generation/question_generator/generator.py [0:0]


    def generate_question(self, data: Union[str, List[str]]):
        """
        Generate question for a single input sequence or a batch of input sequences.
        """
        if isinstance(data, str):
            data = [data]

        all_records = self.pipeline(
            data,
            return_text=True,
            # return_scores=True,
            clean_up_tokenization_spaces=True,
            max_length=self.max_question_len,
            min_length=3,
            num_beams=self.num_beams,
            num_return_sequences=self.num_return_sequences,
            **self.kwargs
        )

        assert len(all_records) == len(data) * self.num_return_sequences

        generated_questions = [r["generated_text"].strip() for r in all_records]
        scores = [r.get("score", None) for r in all_records]

        batched_questions = [
            generated_questions[i:i + self.num_return_sequences]
            for i in range(0, len(generated_questions), self.num_return_sequences)
        ]
        batched_scores = [
            scores[i:i + self.num_return_sequences]
            for i in range(0, len(scores), self.num_return_sequences)
        ]

        return batched_questions, batched_scores