SamoXXX commited on
Commit
a8a332f
1 Parent(s): 89c2a78

First upload

Browse files
Files changed (3) hide show
  1. app.py +90 -0
  2. data.json +34 -0
  3. requirements.txt +3 -0
app.py ADDED
@@ -0,0 +1,90 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import json
2
+ import streamlit as st
3
+ import pandas as pd
4
+ import seaborn as sns
5
+
6
+
7
+ # Function to load data from JSON file
8
+ def load_data(file_path):
9
+ with open(file_path, 'r', encoding='utf-8') as file:
10
+ data = json.load(file)
11
+ return pd.DataFrame(data)
12
+
13
+ # Function to style the DataFrame
14
+ def style_dataframe(df: pd.DataFrame):
15
+ df['Wyniki'] = df.apply(lambda row: [row['Analiza wydźwięku'], row['Znajomość związków frazeologicznych'], row['Zrozumienie tekstu']], axis=1)
16
+
17
+ # Insert the new column after the 'Średnia' column
18
+ cols = list(df.columns)
19
+ cols.insert(cols.index('Średnia') + 1, cols.pop(cols.index('Wyniki')))
20
+ df = df[cols]
21
+
22
+ # df = st.data_editor(df, column_config={
23
+ # 'Średnia': st.column_config.NumberColumn('Średnia'),
24
+ # 'Wyniki': st.column_config.BarChartColumn(
25
+ # "Wyniki", help="Zestawienie wyników poszczególnych zadań",
26
+ # y_min=0,y_max=100,),
27
+ # 'Analiza wydźwięku': st.column_config.NumberColumn('Wydźwięk', help='Umiejętność analizy wydźwięku'),
28
+ # 'Znajomość związków frazeologicznych': st.column_config.NumberColumn('Frazeologizmy', help='Znajomość związków frazeologicznych'),
29
+ # 'Zrozumienie tekstu': st.column_config.NumberColumn('Zrozumienie tekstu', help='Umiejętność zrozumienia tekstu'),
30
+ # },hide_index=True, disabled=True)
31
+
32
+ # Create a color ramp using Seaborn
33
+ return df
34
+
35
+ def styler(df: pd.DataFrame):
36
+ palette = sns.color_palette("RdYlGn", as_cmap=True)
37
+ styled_df = df.style.background_gradient(cmap=palette, subset=["Średnia", "Analiza wydźwięku", "Znajomość związków frazeologicznych", "Zrozumienie tekstu"]).format(precision=2)
38
+ # styled_df = styled_df.style.map('text-align: left;', subset=["Średnia", "Analiza wydźwięku", "Znajomość związków frazeologicznych", "Zrozumienie tekstu"])
39
+ return styled_df
40
+
41
+ # Load data from JSON file
42
+ data = load_data('data.json')
43
+
44
+
45
+ # Streamlit app
46
+ st.set_page_config(layout="wide")
47
+ st.markdown("""
48
+ <style>
49
+ .block-container {
50
+ padding-top: 3%;
51
+ padding-bottom: 1%;
52
+ padding-left: 10%;
53
+ padding-right: 10%;
54
+ scrollbar-width: thin;
55
+ }
56
+ </style>
57
+ """, unsafe_allow_html=True)
58
+
59
+ st.title("Benchmark Modeli LLM")
60
+ st.subheader("z sarkazmami i idiomami w języku polskim")
61
+
62
+
63
+
64
+ # Create tabs
65
+ tab1, tab2 = st.tabs(["Wyniki", "Opis"])
66
+
67
+ with tab1:
68
+ st.write("Poniżej znajduje się tabela przedstawiająca wyniki benchmarku dla różnych modeli LLM.")
69
+
70
+ # Display the styled DataFrame
71
+ styled_df_show = style_dataframe(data)
72
+ styled_df_show = styler(styled_df_show)
73
+ # st.dataframe(styled_df_show)
74
+
75
+ st.data_editor(styled_df_show, column_config={
76
+ 'Średnia': st.column_config.NumberColumn('Średnia'),
77
+ 'Wyniki': st.column_config.BarChartColumn(
78
+ "Wyniki", help="Zestawienie wyników poszczególnych zadań",
79
+ y_min=0,y_max=100,),
80
+ 'Analiza wydźwięku': st.column_config.NumberColumn('Wydźwięk', help='Umiejętność analizy wydźwięku'),
81
+ 'Znajomość związków frazeologicznych': st.column_config.NumberColumn('Frazeologizmy', help='Znajomość związków frazeologicznych'),
82
+ 'Zrozumienie tekstu': st.column_config.NumberColumn('Zrozumienie tekstu', help='Umiejętność zrozumienia tekstu'),
83
+ },hide_index=True, disabled=True)
84
+
85
+ with tab2:
86
+ st.header("Opis")
87
+ st.write("Tutaj znajduje się trochę tekstu jako wypełniacz.")
88
+ st.write("To jest przykładowy tekst, który może zawierać dodatkowe informacje o benchmarku, metodologii, itp.")
89
+
90
+ # Run the app with `streamlit run your_script.py`
data.json ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ {
3
+ "Model": "speakleash/Bielik-7B-Instruct-v0.1",
4
+ "Rozmiar": "7B",
5
+ "Średnia": 78.33,
6
+ "Analiza wydźwięku": 78,
7
+ "Znajomość związków frazeologicznych": 64,
8
+ "Zrozumienie tekstu": 93
9
+ },
10
+ {
11
+ "Model": "mistralai/Mistral-Nemo-Instruct-2407",
12
+ "Rozmiar": "12B",
13
+ "Średnia": 45.67,
14
+ "Analiza wydźwięku": 32,
15
+ "Znajomość związków frazeologicznych": 53,
16
+ "Zrozumienie tekstu": 52
17
+ },
18
+ {
19
+ "Model": "Qwen/Qwen2-72B-Instruct",
20
+ "Rozmiar": "72B",
21
+ "Średnia": 50.33,
22
+ "Analiza wydźwięku": 64,
23
+ "Znajomość związków frazeologicznych": 23,
24
+ "Zrozumienie tekstu": 64
25
+ },
26
+ {
27
+ "Model": "openchat/openchat-3.5-0106-gemma",
28
+ "Rozmiar": "8B",
29
+ "Średnia": 70.00,
30
+ "Analiza wydźwięku": 89,
31
+ "Znajomość związków frazeologicznych": 75,
32
+ "Zrozumienie tekstu": 46
33
+ }
34
+ ]
requirements.txt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ streamlit
2
+ pandas
3
+ seaborn