Spaces:
Sleeping
Sleeping
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` | |