Spaces:
Sleeping
Sleeping
import streamlit as st | |
from streamlit.logger import get_logger | |
from transformers import pipeline | |
import datasets | |
import pandas as pd | |
from huggingface_hub import login | |
LOGGER = get_logger(__name__) | |
def get_df() ->object: | |
ds = datasets.load_dataset('sivan22/orach-chaim') | |
df = ds['train'].to_pandas() | |
def clean(s)->str: | |
return s.replace(" ","") | |
df['seif']= df['seif'].apply(clean) | |
return df | |
def get_model()->object: | |
model = "sivan22/halacha-siman-seif-classifier" | |
classifier = pipeline("text-classification",model=model,top_k=None) | |
return classifier | |
def get_predicts(classifier,input)->str: | |
predicts = classifier(input) | |
return predicts | |
def run(): | |
st.set_page_config( | |
page_title="ืืืคืืฉ ืืื ืืฉืืืื ืขืจืื", | |
page_icon="๐", | |
) | |
st.write("# ืืืคืืฉ ืืื ืืฉืืืื ืขืจืื") | |
st.write("ืืืืคืืฉ ืืชืืฆืข ืขื ืืื ืืืื ืฉืคื ืฉืืืื ืืืืืื ืืืฉืืื ืฉื ืกืืืื (ืงืืกืืคืืงืฆืื). ืืื ืืกืืื ืื ืืฉืคื ืืืื ืืืจืืขืช ืืืคืื ืืกืขืืคืื ืฉืืฉืืืื ืขืจืื ืืืจื ืืืื. ืืืืื-ืกื ืขืืื ืืื ืืชืืื ืืื ืขืฉืจืืช ืืืคื ืงืืขื ืคืจืฉื ืืช ืืฉืืืื ืขืจืื, ืืื ืืื ืืืคืื ืฉื ืฉืืืืช ืืฉืคื ืืืคืฉืืช.") | |
classifier = get_model() | |
df = get_df() | |
user_input = st.text_input('ืืชืื ืืื ืืช ืฉืืืชื', placeholder='ืืื ื ืจืืช ืืืืืงืื ืืื ืืืื ืืืืืืช ืืื ืืื') | |
num_of_results = st.sidebar.slider('ืืกืคืจ ืืชืืฆืืืช ืฉืืจืฆืื ื ืืืฆืื:',1,25,5) | |
if st.button('ืืคืฉ') and user_input!="": | |
for prediction in get_predicts(classifier,user_input)[0][:num_of_results]: | |
siman = prediction['label'].split(' ')[0] | |
seif = prediction['label'].split(' ')[1] | |
rows = df[((df["bookname"] == " ืฉืืื ืขืจืื - ืืืจื ืืืื ") | (df["bookname"] ==" ืืฉื ื ืืจืืจื")) & | |
(df["siman"] == siman) & | |
(df["seif"] == seif) ] | |
rows = rows.sort_values(["bookname"],ascending=False) | |
st.write(('ืกืืื ' + siman + ' ืกืขืืฃ ' + seif), rows[['text','bookname','sek','seif','siman',]]) | |
if __name__ == "__main__": | |
run() | |