Spaces:
Runtime error
Runtime error
Refactor code: Pull leaderboards and models configurations out of the app.py (#106)
7aae94f
verified
import os | |
from yaml import safe_load | |
from huggingface_hub import HfApi | |
LEADERBOARD_CONFIG_PATH = "config.yaml" | |
with open(LEADERBOARD_CONFIG_PATH, 'r', encoding='utf-8') as f: | |
LEADERBOARD_CONFIG = safe_load(f) | |
MODEL_META_PATH = "model_meta.yaml" | |
with open(MODEL_META_PATH, 'r', encoding='utf-8') as f: | |
MODEL_META = safe_load(f) | |
# Try first to get the config from the environment variables, then from the config.yaml file | |
def get_config(name, default): | |
res = None | |
if name in os.environ: | |
res = os.environ[name] | |
elif 'config' in LEADERBOARD_CONFIG: | |
res = LEADERBOARD_CONFIG['config'].get(name, None) | |
if res is None: | |
return default | |
return res | |
def str2bool(v): | |
return str(v).lower() in ("yes", "true", "t", "1") | |
# clone / pull the lmeh eval data | |
HF_TOKEN = get_config("HF_TOKEN", None) | |
LEADERBOARD_NAME = get_config("LEADERBOARD_NAME", "MTEB Leaderboard") | |
REPO_ID = get_config("REPO_ID", "mteb/leaderboard") | |
RESULTS_REPO = get_config("RESULTS_REPO", "mteb/results") | |
CACHE_PATH=get_config("HF_HOME", ".") | |
os.environ["HF_HOME"] = CACHE_PATH | |
# Check if it is using persistent storage | |
if not os.access(CACHE_PATH, os.W_OK): | |
print(f"No write access to HF_HOME: {CACHE_PATH}. Resetting to current directory.") | |
CACHE_PATH = "." | |
os.environ["HF_HOME"] = CACHE_PATH | |
else: | |
print(f"Write access confirmed for HF_HOME") | |
API = HfApi(token=HF_TOKEN) |