Spaces:
Build error
Build error
import gradio as gr | |
import pickle | |
from sentence_transformers import SentenceTransformer | |
import pandas as pd | |
def find(query): | |
# transform query from user | |
model = SentenceTransformer('use-cmlm-multilingual') | |
encoded_query_text = model.encode(query) | |
# get encoded quran text | |
file = open('encoded_quran_cmlm.sav','rb') | |
encoded_quran_text = pickle.load(file) | |
file.close() | |
# compare query to each quran verse | |
i = 0 | |
text_similarity = [] | |
for encoded_quran_ayat in encoded_quran_text: | |
similarity = encoded_query_text @ encoded_quran_ayat.T | |
text_similarity.append(similarity) | |
i=i+1 | |
print(i) | |
# insert the similarity value to dataframe & sort it | |
quran = pd.read_csv('quran-simple-clean.txt', delimiter="|") | |
quran['similarity'] = text_similarity | |
sorted_quran = quran.sort_values(by='similarity', ascending=False) | |
results = "" | |
i = 0 | |
while i<6: | |
results = results + sorted_quran.iloc[i]['text']+" (Q.S "+str(sorted_quran.iloc[i]['sura'])+":"+str(sorted_quran.iloc[i]['aya'])+")\n" | |
i=i+1 | |
return results | |
demo = gr.Interface(fn=find, inputs="textbox", outputs="textbox") | |
if __name__ == "__main__": | |
demo.launch() |