Spaces:
Runtime error
Runtime error
| """ | |
| Convert a leaderboard csv file to html table used in the blog. | |
| Usage: | |
| python3 leaderboard_csv_to_html.py --in leaderboard_table_20230619.csv | |
| """ | |
| import argparse | |
| import numpy as np | |
| from fastchat.serve.monitor.monitor import load_leaderboard_table_csv | |
| def model_hyperlink(model_name, link): | |
| return f'<a target="_blank" href="{link}"> {model_name} </a>' | |
| if __name__ == "__main__": | |
| parser = argparse.ArgumentParser() | |
| parser.add_argument("--input", type=str, required=True) | |
| args = parser.parse_args() | |
| data = load_leaderboard_table_csv(args.input, add_hyperlink=False) | |
| headers = [ | |
| "Model", | |
| "MT-bench (score)", | |
| "Arena Elo rating", | |
| "MMLU", | |
| "License", | |
| ] | |
| values = [] | |
| for item in data: | |
| row = [] | |
| for key in headers: | |
| value = item[key] | |
| row.append(value) | |
| row[0] = model_hyperlink(item["Model"], item["Link"]) | |
| values.append(row) | |
| values.sort(key=lambda x: -x[1] if not np.isnan(x[1]) else 1e9) | |
| for value in values: | |
| row = "<tr>" | |
| for x in value: | |
| try: | |
| if np.isnan(x): | |
| x = "-" | |
| except TypeError: | |
| pass | |
| row += f" <td>{x}</td> " | |
| row += "</tr>" | |
| print(row) | |