File size: 3,763 Bytes
7ae1238
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
a80d977
 
 
 
618f59b
 
 
 
 
 
 
 
a80d977
618f59b
a80d977
 
7ae1238
 
 
 
 
 
 
f4b9c44
 
7ae1238
f4b9c44
7ae1238
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
a80d977
 
7ae1238
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
a80d977
7ae1238
 
 
 
 
 
 
 
 
 
f4b9c44
7ae1238
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
import json
import os
from datetime import datetime, timezone


import gradio as gr
import numpy as np
import pandas as pd
from apscheduler.schedulers.background import BackgroundScheduler
from huggingface_hub import HfApi
from transformers import AutoConfig

from src.auto_leaderboard.get_model_metadata import apply_metadata
from src.assets.text_content import *
from src.auto_leaderboard.load_results import get_eval_results_dicts, make_clickable_model
from src.assets.hardcoded_evals import gpt4_values, gpt35_values, baseline
from src.assets.css_html_js import custom_css, get_window_url_params
from src.utils_display import AutoEvalColumn, EvalQueueColumn, fields, styled_error, styled_warning, styled_message
from src.init import get_all_requested_models, load_all_info_from_hub



def get_leaderboard_df():
    
    data = {
        'Datasets': ['SOTA(FT)', 'SOTA(ZS)', 'FLAN-T5', 'GPT-3', 'GPT-3.5v2', 'GPT-3.5v3', 'ChatGPT', 'GPT-4'],
        'KQApro': ['93.85', '94.20', '37.27', '38.28', '38.01', '40.35', '47.93', '57.20'],
        'LC-quad2': ['33.10', '-', '30.14', '33.04', '33.77', '39.04', '42.76', '54.95'],
        'WQSP': ['73.10', '62.98', '59.87', '67.68', '72.34', '79.60', '83.70', '90.45'],
        'CWQ': ['72.20', '-', '46.69', '51.77', '53.96', '57.54', '64.02', '71.00'],
        'GrailQA': ['76.31', '-', '29.02', '27.58', '30.50', '35.43', '46.77', '51.40'],
        'GraphQ': ['41.30', '-', '32.27', '38.32', '40.85', '47.95', '53.10', '63.20'],
        'QALD-9': ['67.82', '-', '30.17', '38.54', '44.96', '46.19', '45.71', '57.20'],
        'MKQA': ['46.00', '-', '20.17', '26.97', '30.14', '39.05', '44.30', '59.20']
    }

    df = pd.DataFrame(data)
    return df


original_df = get_leaderboard_df()
leaderboard_df = original_df.copy()


def search_table(df, query):
    if query == "":
        return df
    else:
        return df[df.apply(lambda row: query.lower() in row.astype(str).str.lower().any(), axis=1)]




demo = gr.Blocks(css=custom_css)
with demo:
    gr.HTML(TITLE)
    gr.Markdown(INTRODUCTION_TEXT, elem_classes="markdown-text")
    with gr.Row():
        with gr.Box(elem_id="search-bar-table-box"):
            search_bar = gr.Textbox(
                placeholder="๐Ÿ” Search your model and press ENTER...",
                show_label=False,
                elem_id="search-bar",
            )

    with gr.Tabs(elem_classes="tab-buttons") as tabs:
        
        with gr.TabItem("๐Ÿ… LLM Benchmark", elem_id="llm-benchmark-tab-table", id=1):
            leaderboard_table = gr.components.Dataframe(
                value=leaderboard_df,
                headers=COLS,
                datatype=TYPES,
                max_rows=None,
                elem_id="leaderboard-table",
            )

            # Dummy leaderboard for handling the case when the user uses backspace key
            hidden_leaderboard_table_for_search = gr.components.Dataframe(
                value=original_df,
                headers=COLS,
                datatype=TYPES,
                max_rows=None,
                visible=False,
            )
            search_bar.submit(
                search_table,
                [hidden_leaderboard_table_for_search, search_bar],
                leaderboard_table,
            )
        with gr.TabItem("About", elem_id="llm-benchmark-tab-table", id=2):
            gr.Markdown(LLM_BENCHMARKS_TEXT, elem_classes="markdown-text")

        

    with gr.Row():
        with gr.Accordion("๐Ÿ“™ Citation", open=False):
            citation_button = gr.Textbox(
                value=CITATION_BUTTON_TEXT,
                label=CITATION_BUTTON_LABEL,
                elem_id="citation-button",
            ).style(show_copy_button=True)



demo.queue(concurrency_count=40).launch()