import gradio as gr from data_library import embedded_form import pandas as pd from embed import sample_embedding import faiss embedded_form=embedded_form["train"] embedded_form.add_faiss_index("embedding") # gradio function title="""

SEARCH FOR SCIENCE RELATED(BIO,PHY AND CHEM)

""" description="""

This app is created to help give answers to high school science related questions

""" def input_text1(text): question_embedding =sample_embedding([text]) question_embedding=question_embedding["embedding"] scores, samples = embedded_form.get_nearest_examples( "embedding", question_embedding, k=5 ) dataframe=pd.DataFrame(samples) dataframe["scores"]=scores dataframe=dataframe.sort_values("scores",ascending=False).reset_index(drop=True) return dataframe.loc[0,"support"] def input_text2(text): question_embedding =sample_embedding([text]) question_embedding=question_embedding["embedding"] scores, samples = embedded_form.get_nearest_examples( "embedding", question_embedding, k=5 ) dataframe=pd.DataFrame(samples) dataframe["scores"]=scores dataframe=dataframe.sort_values("scores",ascending=False).reset_index(drop=True) return dataframe.loc[1,"support"] def input_text3(text): question_embedding =sample_embedding([text]) question_embedding=question_embedding["embedding"] scores, samples = embedded_form.get_nearest_examples( "embedding", question_embedding, k=5 ) dataframe=pd.DataFrame(samples) dataframe["scores"]=scores dataframe=dataframe.sort_values("scores",ascending=False).reset_index(drop=True) return dataframe.loc[2,"support"] def input_text4(text): question_embedding =sample_embedding([text]) question_embedding=question_embedding["embedding"] scores, samples = embedded_form.get_nearest_examples( "embedding", question_embedding, k=5 ) dataframe=pd.DataFrame(samples) dataframe["scores"]=scores dataframe=dataframe.sort_values("scores",ascending=False).reset_index(drop=True) return dataframe.loc[3,"support"] def input_text5(text): question_embedding =sample_embedding([text]) question_embedding=question_embedding["embedding"] scores, samples = embedded_form.get_nearest_examples( "embedding", question_embedding, k=5 ) dataframe=pd.DataFrame(samples) dataframe["scores"]=scores dataframe=dataframe.sort_values("scores",ascending=False).reset_index(drop=True) return dataframe.loc[4,"support"] answer1=gr.Interface(input_text1,inputs=gr.Textbox(label="Search"),outputs=gr.Textbox(label="Support 1")) answer2=gr.Interface(input_text2,inputs=gr.Textbox(label="Search"),outputs=gr.Textbox(label="Support 2")) answer3=gr.Interface(input_text3,inputs=gr.Textbox(label="Search"),outputs=gr.Textbox(label="Support 3")) answer4=gr.Interface(input_text4,inputs=gr.Textbox(label="Search"),outputs=gr.Textbox(label="Support 4")) answer5=gr.Interface(input_text5,inputs=gr.Textbox(label="Search"),outputs=gr.Textbox(label="Support 5")) demo=gr.Parallel(answer1,answer2,answer3,answer4,answer5,description=description,title=title) if __name__ == "__main__": demo.launch(debug=True)