import os import gradio as gr from apscheduler.schedulers.background import BackgroundScheduler from huggingface_hub import HfFileSystem, HfApi from src.assets.text_content import INTRODUCTION_TEXT, TITLE from src.load_from_hub import load_from_hub RESULTS_REPO = os.environ.get("RESULTS_REPO", "datasets/vlsp-2023-vllm/vllms-leaderboard") HIDDEN_TOKEN = os.environ.get("HIDDEN_TOKEN") api = HfApi(token=HIDDEN_TOKEN) fs = HfFileSystem(token=HIDDEN_TOKEN) def restart_space(): api.restart_space(repo_id="vlsp-2023-vllm/VLLMs-Leaderboard", token=HIDDEN_TOKEN) demo = gr.Blocks() with demo: gr.HTML(TITLE) gr.Markdown(INTRODUCTION_TEXT, elem_classes="markdown-text") with gr.Tabs(elem_classes="tab-buttons") as tabs: with gr.TabItem("Public test", elem_id="llm-benchmark-tab-table", id=0): leaderboard_df = load_from_hub(fs, RESULTS_REPO, is_private=False) with gr.Column(): with gr.Row(): search_bar = gr.Textbox( placeholder=" 🔍 Search for your model and press ENTER...", show_label=False, elem_id="search-bar", ) with gr.Row(): leaderboard_table = gr.components.Dataframe( value=leaderboard_df, ) with gr.TabItem("Private test", elem_id="llm-benchmark-tab-table", id=1): leaderboard_df = load_from_hub(fs, RESULTS_REPO, is_private=True) with gr.Column(): with gr.Row(): search_bar = gr.Textbox( placeholder=" 🔍 Search for your model and press ENTER...", show_label=False, elem_id="search-bar", ) with gr.Row(): leaderboard_table = gr.components.Dataframe( value=leaderboard_df, ) scheduler = BackgroundScheduler() scheduler.add_job(restart_space, "interval", seconds=1800) scheduler.start() demo.launch()