File size: 4,136 Bytes
a8a332f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import json
import streamlit as st
import pandas as pd
import seaborn as sns


# Function to load data from JSON file
def load_data(file_path):
    with open(file_path, 'r', encoding='utf-8') as file:
        data = json.load(file)
    return pd.DataFrame(data)

# Function to style the DataFrame
def style_dataframe(df: pd.DataFrame):
    df['Wyniki'] = df.apply(lambda row: [row['Analiza wyd藕wi臋ku'], row['Znajomo艣膰 zwi膮zk贸w frazeologicznych'], row['Zrozumienie tekstu']], axis=1)

    # Insert the new column after the '艢rednia' column
    cols = list(df.columns)
    cols.insert(cols.index('艢rednia') + 1, cols.pop(cols.index('Wyniki')))
    df = df[cols]

    # df = st.data_editor(df, column_config={
    #                             '艢rednia': st.column_config.NumberColumn('艢rednia'),
    #                             'Wyniki': st.column_config.BarChartColumn(
    #                                 "Wyniki", help="Zestawienie wynik贸w poszczeg贸lnych zada艅",
    #                                 y_min=0,y_max=100,),
    #                             'Analiza wyd藕wi臋ku': st.column_config.NumberColumn('Wyd藕wi臋k', help='Umiej臋tno艣膰 analizy wyd藕wi臋ku'),
    #                             'Znajomo艣膰 zwi膮zk贸w frazeologicznych': st.column_config.NumberColumn('Frazeologizmy', help='Znajomo艣膰 zwi膮zk贸w frazeologicznych'),
    #                             'Zrozumienie tekstu': st.column_config.NumberColumn('Zrozumienie tekstu', help='Umiej臋tno艣膰 zrozumienia tekstu'),
    #                             },hide_index=True, disabled=True)

    # Create a color ramp using Seaborn
    return df

def styler(df: pd.DataFrame):
    palette = sns.color_palette("RdYlGn", as_cmap=True)
    styled_df = df.style.background_gradient(cmap=palette, subset=["艢rednia", "Analiza wyd藕wi臋ku", "Znajomo艣膰 zwi膮zk贸w frazeologicznych", "Zrozumienie tekstu"]).format(precision=2)
    # styled_df = styled_df.style.map('text-align: left;', subset=["艢rednia", "Analiza wyd藕wi臋ku", "Znajomo艣膰 zwi膮zk贸w frazeologicznych", "Zrozumienie tekstu"])
    return styled_df

# Load data from JSON file
data = load_data('data.json')


# Streamlit app
st.set_page_config(layout="wide")
st.markdown("""

        <style>

               .block-container {

                    padding-top: 3%;

                    padding-bottom: 1%;

                    padding-left: 10%;

                    padding-right: 10%;

                    scrollbar-width: thin;

                }

        </style>

        """, unsafe_allow_html=True)

st.title("Benchmark Modeli LLM")
st.subheader("z sarkazmami i idiomami w j臋zyku polskim")



# Create tabs
tab1, tab2 = st.tabs(["Wyniki", "Opis"])

with tab1:
    st.write("Poni偶ej znajduje si臋 tabela przedstawiaj膮ca wyniki benchmarku dla r贸偶nych modeli LLM.")

    # Display the styled DataFrame
    styled_df_show = style_dataframe(data)
    styled_df_show = styler(styled_df_show)
    # st.dataframe(styled_df_show)

    st.data_editor(styled_df_show, column_config={
                    '艢rednia': st.column_config.NumberColumn('艢rednia'),
                    'Wyniki': st.column_config.BarChartColumn(
                        "Wyniki", help="Zestawienie wynik贸w poszczeg贸lnych zada艅",
                        y_min=0,y_max=100,),
                    'Analiza wyd藕wi臋ku': st.column_config.NumberColumn('Wyd藕wi臋k', help='Umiej臋tno艣膰 analizy wyd藕wi臋ku'),
                    'Znajomo艣膰 zwi膮zk贸w frazeologicznych': st.column_config.NumberColumn('Frazeologizmy', help='Znajomo艣膰 zwi膮zk贸w frazeologicznych'),
                    'Zrozumienie tekstu': st.column_config.NumberColumn('Zrozumienie tekstu', help='Umiej臋tno艣膰 zrozumienia tekstu'),
                    },hide_index=True, disabled=True)

with tab2:
    st.header("Opis")
    st.write("Tutaj znajduje si臋 troch臋 tekstu jako wype艂niacz.")
    st.write("To jest przyk艂adowy tekst, kt贸ry mo偶e zawiera膰 dodatkowe informacje o benchmarku, metodologii, itp.")

# Run the app with `streamlit run your_script.py`