| | """ |
| | Data population functions for MUSEval Leaderboard |
| | """ |
| |
|
| | import pandas as pd |
| | from typing import Dict, List, Any, Optional |
| | from .load_results import load_results_with_metadata, create_overall_table |
| |
|
| | def get_leaderboard_df(results_path: str, requests_path: str, eval_cols: List[str], benchmark_cols: List[str]) -> pd.DataFrame: |
| | """Get leaderboard dataframe""" |
| | |
| | results = load_results_with_metadata() |
| | if not results: |
| | return pd.DataFrame() |
| | |
| | return create_overall_table() |
| |
|
| | def get_model_info_df(results_path: str, requests_path: str) -> pd.DataFrame: |
| | """Get model information dataframe""" |
| | results = load_results_with_metadata() |
| | if not results: |
| | return pd.DataFrame() |
| | |
| | |
| | model_info = {} |
| | for result in results: |
| | model = result["model"] |
| | if model not in model_info: |
| | model_info[model] = { |
| | "model": model, |
| | "organization": result["submitter"], |
| | "submission_date": result["submission_date"], |
| | "task": result.get("task", ""), |
| | "dataset_version": result.get("dataset_version", ""), |
| | "paper_url": result.get("paper_url", ""), |
| | "code_url": result.get("code_url", ""), |
| | "model_type": "Foundation Model", |
| | "testdata_leakage": "No" |
| | } |
| | |
| | return pd.DataFrame(list(model_info.values())) |
| |
|
| | def get_merged_df(leaderboard_df: pd.DataFrame, model_info_df: pd.DataFrame) -> pd.DataFrame: |
| | """Merge leaderboard and model info dataframes""" |
| | if leaderboard_df.empty or model_info_df.empty: |
| | return leaderboard_df |
| | |
| | |
| | merged = pd.merge(leaderboard_df, model_info_df, on="model", how="left") |
| | |
| | |
| | if 'MAE' in merged.columns: |
| | merged['Rank'] = merged['MAE'].rank(method='min').astype(int) |
| | |
| | cols = ['Rank'] + [col for col in merged.columns if col != 'Rank'] |
| | merged = merged[cols] |
| | |
| | return merged |
| |
|
| | def get_evaluation_queue_df(requests_path: str, eval_cols: List[str]) -> tuple: |
| | """Get evaluation queue dataframes""" |
| | |
| | return pd.DataFrame(), pd.DataFrame(), pd.DataFrame() |
| |
|