|
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) |
|
|
|
|
|
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") |
|
|
|
|
|
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 |
|
|
|
|
|
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) |