diff --git a/graphgen/models/generator/quiz_generator.py b/graphgen/models/generator/quiz_generator.py new file mode 100644 index 00000000..639d98e1 --- /dev/null +++ b/graphgen/models/generator/quiz_generator.py @@ -0,0 +1,39 @@ +from typing import Any + +from graphgen.bases import BaseGenerator +from graphgen.templates import AGGREGATED_GENERATION_PROMPT +from graphgen.utils import detect_main_language, logger + + +class QuizGenerator(BaseGenerator): + """ + Quiz Generator rephrases given descriptions to create quiz questions. + """ + + @staticmethod + def build_prompt(description: str) -> str: + """ + Build prompt for rephrasing the description. + :param description: + :return: + """ + language = detect_main_language(description) + prompt = AGGREGATED_GENERATION_PROMPT[language][ + "DESCRIPTION_REPHRASING" + ].format(description=description) + return prompt + + @staticmethod + def parse_rephrased_text(response: str) -> str: + """ + Parse the rephrased text from the response. + :param response: + :return: + """ + rephrased_text = response.strip().strip('"') + logger.debug("Rephrased Text: %s", rephrased_text) + return rephrased_text + + @staticmethod + def parse_response(response: str) -> Any: + pass diff --git a/graphgen/operators/__init__.py b/graphgen/operators/__init__.py index ace334d6..a39e80e4 100644 --- a/graphgen/operators/__init__.py +++ b/graphgen/operators/__init__.py @@ -1,9 +1,8 @@ from .build_kg import build_kg from .generate import generate_qas from .init import init_llm -from .judge import judge_statement from .partition import partition_kg -from .quiz import quiz +from .quiz_and_judge import judge_statement, quiz from .read import read_files from .search import search_all from .split import chunk_documents diff --git a/graphgen/operators/quiz_and_judge/__init__.py b/graphgen/operators/quiz_and_judge/__init__.py new file mode 100644 index 00000000..cb73251a --- /dev/null +++ b/graphgen/operators/quiz_and_judge/__init__.py @@ -0,0 +1,2 @@ +from .judge import judge_statement +from .quiz import quiz diff --git a/graphgen/operators/judge.py b/graphgen/operators/quiz_and_judge/judge.py similarity index 100% rename from graphgen/operators/judge.py rename to graphgen/operators/quiz_and_judge/judge.py diff --git a/graphgen/operators/quiz.py b/graphgen/operators/quiz_and_judge/quiz.py similarity index 100% rename from graphgen/operators/quiz.py rename to graphgen/operators/quiz_and_judge/quiz.py