Spaces:
Running
Running
# Original code by https://huggingface.co/spaces/lmsys/chatbot-arena-leaderboard | |
# Modified by EffiBench | |
from leaderboard import build_leaderboard_tab | |
from utils import build_logger | |
from css_html_js import custom_css | |
import argparse | |
import glob | |
import gradio as gr | |
def build_demo(leaderboard_table_file): | |
text_size = gr.themes.sizes.text_lg | |
# load theme from theme.json | |
theme = gr.themes.Default.load("theme.json") | |
# set text size to large | |
theme.text_size = text_size | |
theme.set( | |
button_large_text_size="40px", | |
button_small_text_size="40px", | |
button_large_text_weight="1000", | |
button_small_text_weight="1000", | |
button_shadow="*shadow_drop_lg", | |
button_shadow_hover="*shadow_drop_lg", | |
checkbox_label_shadow="*shadow_drop_lg", | |
button_shadow_active="*shadow_inset", | |
button_secondary_background_fill="*primary_300", | |
button_secondary_background_fill_dark="*primary_700", | |
button_secondary_background_fill_hover="*primary_200", | |
button_secondary_background_fill_hover_dark="*primary_500", | |
button_secondary_text_color="*primary_800", | |
button_secondary_text_color_dark="white", | |
) | |
with gr.Blocks( | |
title="EffiBench Leaderboard", | |
theme=theme, | |
css=custom_css, | |
) as demo: | |
build_leaderboard_tab(leaderboard_table_file) | |
return demo | |
parser = argparse.ArgumentParser() | |
parser.add_argument("--share", action="store_true") | |
parser.add_argument("--host", default="0.0.0.0") | |
parser.add_argument("--port", type=int, default=7860) | |
args = parser.parse_args() | |
logger = build_logger("monitor", "monitor.log") | |
logger.info(f"args: {args}") | |
leaderboard_table_files = glob.glob("leaderboard_table_*.csv") | |
leaderboard_table_files.sort(key=lambda x: int(x[18:-4])) | |
leaderboard_table_file = leaderboard_table_files[-1] | |
demo = build_demo(leaderboard_table_file) | |
demo.launch(share=args.share, server_name=args.host, server_port=args.port) |