parstdex / app.py
kargaranamir's picture
Update app.py
63df90f
# import
import streamlit as st
from parstdex import Parstdex
# set config
st.set_page_config(layout="wide", page_title="Parstdex")
# Layout adjustments
st.markdown(
"""
<style>
.reportview-container .main .block-container {
max-width: 1400px;
}
</style>
""",
unsafe_allow_html=True,
)
# Load models lazily
@st.cache(allow_output_mutation=True)
def load_model():
model = Parstdex()
return model
with st.spinner(text="Please wait while the model is loading...."):
# cache
model = load_model()
# APP
# set title and subtitle
st.title("Parstdex")
st.markdown("Demo of Parstdex Python Package: https://github.com/kargaranamir/parstdex")
st.markdown("Paste any persian (farsi) text you want to extract its time and date 🖖.")
# create the input text box and setting panel
text = st.text_area('Paste your text here...', "ساعت ۸ صبح من و علی قرار گذاشتیم که شانزده بهمن ۱۳۷۵ هم دیگر را در دوشنبه بازار ببینیم.", height=50)
button = st.button("Extract")
# if button is clicked
with st.spinner("Processing Text and Extracting..."):
if button and text:
# extract markers from the text
spans = model.extract_span(text)
markers = model.extract_marker(text)
time_mls = model.extract_time_ml(text)
ners = model.extract_ner(text)
# display the result
st.markdown("**Span:**")
st.code(spans, language="python")
st.markdown("**Marker:**")
st.code(markers, language="python")
st.markdown("**Time_ML:**")
st.code(f"\u202b{time_mls}\u202c", language="python")
st.markdown("**NER:**")
st.code(ners, language="python")