Spaces:
Running
Running
File size: 1,419 Bytes
d187930 1437ca9 d187930 1437ca9 d187930 30b8f34 d187930 30b8f34 d187930 30b8f34 d187930 30b8f34 | 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 47 48 49 50 51 52 | from __future__ import annotations
import os
from functools import lru_cache
from src.envs import PROJECT_ROOT
TASK_README_DIRS = {
"ruaime": "ruAIME",
"t_math": "tmath",
"luzitania": "luzitania",
"mmred": "mmred",
}
def _readme_search_roots() -> list[str]:
"""Resolve README roots; prefer local MERA_Reason/datasets, then optional overrides."""
roots = []
# Local copies shipped with the leaderboard (kept in sync with dataset releases).
roots.append(os.path.join(PROJECT_ROOT, "datasets"))
env_root = os.environ.get("MERA_DATASETS_DIR")
if env_root:
roots.append(env_root)
sibling = os.path.join(
os.path.dirname(PROJECT_ROOT),
"reasoning",
"MERA",
"datasets",
)
roots.append(sibling)
return roots
@lru_cache(maxsize=None)
def _load_readme(task_name: str) -> str:
folder = TASK_README_DIRS.get(task_name)
if not folder:
return f"*Unknown dataset: `{task_name}`*"
for filename in ("README_ru.md", "README.md"):
for root in _readme_search_roots():
path = os.path.join(root, folder, filename)
if os.path.isfile(path):
with open(path, encoding="utf-8") as f:
return f.read().strip()
return f"*README not found for `{task_name}`.*"
def get_dataset_readme_markdown(task_name: str) -> str:
return _load_readme(task_name)
|