import gradio as gr import pandas as pd import requests from src.about import ( INTRODUCTION_TEXT, LLM_BENCHMARKS_TEXT, TITLE, ) from src.display.css_html_js import custom_css def get_evaluation(): response = requests.get("http://aim100.qinference.com/api/leaderboard/list") data_json = response.json() df = pd.DataFrame(data_json) for col in df.columns: df.loc[df[col] == 0, col] = '-' df.insert(0, 'No', df.reset_index().index + 1) ret = df.drop(columns='nodeSeq').rename(columns={'modelName': 'Model'}) ret.columns = [x.capitalize() for x in ret.columns] return ret leaderboard = gr.Blocks(css=custom_css) with leaderboard: gr.HTML(TITLE) gr.Markdown(INTRODUCTION_TEXT, elem_classes="markdown-text") with gr.Tabs(elem_classes="tab-buttons") as tabs: with gr.TabItem("🏅 LLM Benchmark", elem_id="llm-benchmark-tab-table", id=0): leaderboard_table = gr.components.Dataframe( value=get_evaluation(), elem_id="leaderboard-table", interactive=False, visible=True, ) with gr.TabItem("📝 About", elem_id="llm-benchmark-tab-table", id=2): gr.Markdown(LLM_BENCHMARKS_TEXT, elem_classes="markdown-text") leaderboard.queue(default_concurrency_limit=40).launch()