in yourbench/main.py [0:0]
def configure_question_generation(stage_name: str, enabled: bool) -> dict:
"""Configure question generation stages."""
config = {"run": enabled}
if not enabled:
return config
if Confirm.ask(f"\nConfigure {stage_name.replace('_', ' ')} options?", default=False):
# Question type
console.print("\nQuestion type:")
console.print("1. Open-ended (default)")
console.print("2. Multiple choice")
q_type = IntPrompt.ask("Choice", default=1)
config["question_type"] = "multi-choice" if q_type == 2 else "open-ended"
# Additional instructions
config["additional_instructions"] = Prompt.ask(
"Additional instructions", default="Generate questions to test a curious adult"
)
# Chunk sampling
if Confirm.ask("Configure chunk sampling?", default=False):
sampling = {}
console.print("\nSampling mode:")
console.print("1. All chunks (default)")
console.print("2. Sample by count")
console.print("3. Sample by percentage")
mode = IntPrompt.ask("Choice", default=1)
if mode == 2:
sampling["mode"] = "count"
sampling["value"] = IntPrompt.ask("Number of chunks", default=10)
elif mode == 3:
sampling["mode"] = "percentage"
sampling["value"] = FloatPrompt.ask("Percentage (0-1)", default=0.5)
else:
sampling["mode"] = "all"
if mode in [2, 3]:
sampling["random_seed"] = IntPrompt.ask("Random seed", default=42)
config["chunk_sampling"] = sampling
return config