File size: 1,558 Bytes
71b62ee
 
 
 
aadfcea
98a40e2
71b62ee
aadfcea
89d0d4b
 
71b62ee
129288f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
71b62ee
aadfcea
 
 
 
 
 
8d3d764
 
df114d4
129288f
 
8d3d764
 
 
71b62ee
aadfcea
71b62ee
 
 
 
 
aadfcea
71b62ee
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
from apscheduler.schedulers.background import BackgroundScheduler
import gradio as gr
import pandas as pd

# Load leaderboard data
leaderboard_df = pd.read_csv('leaderboard.csv')

# Constants
TITLE = "Financial Natural Language Understanding and Prediction Evaluation Benchmark (FLARE) Leaderboard"
INTRODUCTION_TEXT = "The leaderboard shows the performance of various models in financial natural language understanding and prediction tasks."

COLS = [
    ("Model", "str"),
    ("FPB-acc", "number"),
    ("FPB-F1", "number"),
    ("FiQA-SA-F1", "number"),
    ("Headline-AvgF1", "number"),
    ("NER-EntityF1", "number"),
    ("FinQA-EmAcc", "number"),
    ("ConvFinQA-EmAcc", "number"),
    ("BigData22-Acc", "number"),
    ("BigData22-MCC", "number"),
    ("ACL18-Acc", "number"),
    ("ACL18-MCC", "number"),
    ("CIKM18-Acc", "number"),
    ("CIKM18-MCC", "number")
]

TYPES = [col_type for _, col_type in COLS]

def launch_gradio():
    demo = gr.Blocks()

    with demo:
        gr.HTML(TITLE)
        gr.Markdown(INTRODUCTION_TEXT, elem_classes="markdown-text")

        # Create a gradio table from pandas dataframe
        leaderboard_table = gr.components.Dataframe(
            value=leaderboard_df.values.tolist(),
            headers=[col_name for col_name, _ in COLS],
            datatype=TYPES,
            max_rows=5,
            elem_id="leaderboard-table",
        )

    demo.launch()

scheduler = BackgroundScheduler()
scheduler.add_job(launch_gradio, "interval", seconds=3600)
scheduler.start()

# Launch immediately
launch_gradio()