Spaces:
Running
Running
File size: 1,257 Bytes
2c50826 34046e2 2c50826 34046e2 2c50826 34046e2 2c50826 34046e2 2c50826 34046e2 2c50826 34046e2 2c50826 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
from typing import Type
from benchmark.draw_bench import DrawBenchPrompts
from benchmark.genai_bench import GenAIBenchPrompts
from benchmark.geneval import GenEvalPrompts
from benchmark.hps import HPSPrompts
from benchmark.parti import PartiPrompts
def create_benchmark(
benchmark_type: str,
) -> Type[
DrawBenchPrompts | GenAIBenchPrompts | GenEvalPrompts | HPSPrompts | PartiPrompts
]:
"""
Factory function to create benchmark instances.
Args:
benchmark_type (str): The type of benchmark to create. Must be one of:
- "draw_bench"
- "genai_bench"
- "geneval"
- "hps"
- "parti"
Returns:
An instance of the requested benchmark implementation
Raises:
ValueError: If an invalid benchmark type is provided
"""
benchmark_map = {
"draw_bench": DrawBenchPrompts,
"genai_bench": GenAIBenchPrompts,
"geneval": GenEvalPrompts,
"hps": HPSPrompts,
"parti": PartiPrompts,
}
if benchmark_type not in benchmark_map:
raise ValueError(
f"Invalid benchmark type: {benchmark_type}. Must be one of {list(benchmark_map.keys())}"
)
return benchmark_map[benchmark_type]()
|