import os from datetime import datetime, timezone from huggingface_hub import HfApi from huggingface_hub.hf_api import ModelInfo from src.envs import RESULTS_REPO, QUEUE_REPO, RAW_RESULTS_REPO API = HfApi() def model_hyperlink(link, model_name): return f'{model_name}' def make_requests_clickable_model(model_name, json_path=None): link = f"https://huggingface.co/{model_name}" #details_model_name = model_name.replace("/", "__") details_link = f"https://huggingface.co/datasets/{QUEUE_REPO}/tree/main" if '/' in model_name: details_link += f"/{model_name.split('/')[0]}" if json_path is not None: details_link = f"https://huggingface.co/datasets/{QUEUE_REPO}/blob/main/{json_path}" return model_hyperlink(link, model_name) + " " + model_hyperlink(details_link, "📑") def make_clickable_model(model_name, json_path=None, revision=None, precision=None, num_evals_same_model=1): link = f"https://huggingface.co/{model_name}" #details_model_name = model_name.replace("/", "__") if RAW_RESULTS_REPO is not None: details_link = f"https://huggingface.co/datasets/{RAW_RESULTS_REPO}/tree/main/{model_name}" else: details_link = f"https://huggingface.co/datasets/{RESULTS_REPO}/tree/main/{model_name}" if json_path is not None: details_link = f"https://huggingface.co/datasets/{RESULTS_REPO}/blob/main/{model_name}/{json_path}" posfix = "" if revision is not None and revision != "" and revision != "main": if len(revision) > 12: revision = revision[:7] posfix += f" (rev: {revision})" if precision is not None: if num_evals_same_model == 1 and precision in ['float16', 'bfloat16']: pass else: #if precision not in model_name: posfix += f" [{precision}]" posfix = posfix.strip() return model_hyperlink(link, model_name) + " " + model_hyperlink(details_link, "📑") + " " + posfix def styled_error(error): return f"

{error}

" def styled_warning(warn): return f"

{warn}

" def styled_message(message): return f"

{message}

" def has_no_nan_values(df, columns): return df[columns].notna().all(axis=1) def has_nan_values(df, columns): return df[columns].isna().any(axis=1)