from dataclasses import dataclass # These classes are for user facing column names, to avoid having to change them # all around the code when a modif is needed @dataclass class ColumnContent: name: str type: str def fields(raw_class): return [v for k, v in raw_class.__dict__.items() if k[:2] != "__" and k[-2:] != "__"] @dataclass(frozen=True) class AutoEvalColumn: # Auto evals column model = ColumnContent("Model", "markdown") avg_wer = ColumnContent("Average WER ⬇️", "number") rtf = ColumnContent("RTF (1e-3) ⬇️", "number") ami_wer = ColumnContent("AMI", "number") e22_wer = ColumnContent("Earnings22", "number") gs_wer = ColumnContent("Gigaspeech", "number") lsc_wer = ColumnContent("LS Clean", "number") lso_wer = ColumnContent("LS Other", "number") ss_wer = ColumnContent("SPGISpeech", "number") tl_wer = ColumnContent("Tedlium", "number") vp_wer = ColumnContent("Voxpopuli", "number") cv_wer = ColumnContent("Common Voice", "number") def make_clickable_model(model_name, model_info): if model_info[model_name]['hf_name'].startswith("http"): link = model_info[model_name]['hf_name'] else: link = f"https://huggingface.co/{model_info[model_name]['hf_name']}" return f'{model_info[model_name]["pretty_name"]}' def styled_error(error): return f"
{error}
" def styled_warning(warn): return f"{warn}
" def styled_message(message): return f"{message}
"