Spaces:
Running
on
Zero
Running
on
Zero
""" | |
Module for loading benchmarks. | |
This module provides a central point to access different benchmarks by name. | |
It maps benchmark names to their respective loading functions. | |
Functions | |
--------- | |
get_benchmark : function | |
Retrieves a Benchmark object by name. Raises ValueError if the benchmark is unknown. | |
""" | |
from gpt_engineer.benchmark.bench_config import BenchConfig | |
from gpt_engineer.benchmark.benchmarks.apps.load import load_apps | |
from gpt_engineer.benchmark.benchmarks.gptme.load import load_gptme | |
from gpt_engineer.benchmark.benchmarks.mbpp.load import load_mbpp | |
from gpt_engineer.benchmark.types import Benchmark | |
BENCHMARKS = { | |
"gptme": load_gptme, | |
"apps": load_apps, | |
"mbpp": load_mbpp, | |
} | |
def get_benchmark(name: str, config: BenchConfig) -> Benchmark: | |
""" | |
Retrieves a Benchmark object by name. Raises ValueError if the benchmark is unknown. | |
Parameters | |
---------- | |
name : str | |
The name of the benchmark to retrieve. | |
config : BenchConfig | |
Configuration object for the benchmarks. | |
Returns | |
------- | |
Benchmark | |
The Benchmark object corresponding to the given name. | |
Raises | |
------ | |
ValueError | |
If the benchmark name is not found in the BENCHMARKS mapping. | |
""" | |
if name not in BENCHMARKS: | |
raise ValueError(f"Unknown benchmark {name}.") | |
return BENCHMARKS[name](config.__getattribute__(name)) | |