AMR-KELEG's picture
Track the streamlit application file
8defc61
raw
history blame
No virus
1.76 kB
# Hint: this cheatsheet is magic! https://cheat-sheet.streamlit.app/
import constants
import pandas as pd
import streamlit as st
from transformers import BertForSequenceClassification, AutoTokenizer
@st.cache_data
def convert_df(df):
# IMPORTANT: Cache the conversion to prevent computation on every rerun
return df.to_csv(index=None).encode("utf-8")
def compute_ALDi(inputs):
return 0.5
input_type = st.sidebar.radio(
"Select the input type:", [constants.CHOICE_FILE, constants.CHOICE_TEXT]
)
st.title(constants.TITLE)
if input_type == constants.CHOICE_TEXT:
sent = st.text_input("Arabic Sentence:", placeholder="Enter an Arabic sentence.")
# TODO: Check if this is needed!
st.button("Submit")
if sent:
ALDi_score = compute_ALDi(sent)
st.write(ALDi_score)
else:
file = st.file_uploader("Upload a file", type=["txt"])
if file is not None:
df = pd.read_csv(file, sep="\t", header=None)
df.columns = ["Sentence"]
# TODO: Run the model
df["ALDi"] = df["Sentence"].apply(lambda s: compute_ALDi(s))
# A horizontal rule
st.markdown("""---""")
col1, col2 = st.columns([2, 3])
with col1:
# Add a download button
csv = convert_df(df)
st.download_button(
label=":file_folder: Download predictions as CSV",
data=csv,
file_name="ALDi_scores.csv",
mime="text/csv",
)
# Display the output
st.dataframe(
df,
hide_index=True,
)
with col2:
# TODO: Add the visualization
st.image("https://static.streamlit.io/examples/dog.jpg")