bench_sarkazm / app.py
SamoXXX's picture
First upload
a8a332f verified
raw
history blame
No virus
4.14 kB
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`