import asyncio | |
import src.constants as constants | |
from src.hub import glob, load_json_file | |
def fetch_request_paths(model_id): | |
path = f"{constants.REQUESTS_DATASET_ID}/{model_id}_eval_request_*.json" | |
return glob(path) | |
async def load_request(model_id, precision): | |
paths = await asyncio.to_thread(fetch_request_paths, model_id) | |
if not paths: | |
return | |
# TODO: Why sorted and reversed? https://huggingface.co/spaces/open-llm-leaderboard/open_llm_leaderboard_parser/blob/main/src/leaderboard/read_evals.py#L254 | |
for path in sorted(paths, reverse=True): | |
data = await load_json_file(path) | |
if data["precision"] == precision.split(".")[-1]: | |
return data | |