realrastayouth's picture
Update app.py
0b5cc56
import gradio as gr
import pandas as pd
import faiss
from sentence_transformers import SentenceTransformer
#load the sentences data
path = "debate_hansard_sentences.txt"
file = open(path, "r")
sentences = file.readlines()
# remove duplicates
sentences = [word for word in list(set(sentences)) if type(word)]
sentences_dict = {idx:val for idx, val in enumerate(sentences)}
sentences_df = pd.DataFrame.from_dict(sentences_dict, orient='index', columns=['sentences'])
#load the index
index = faiss.read_index("semantic_search_vector.index")
def question_answer(query):
model = SentenceTransformer('bert-base-nli-mean-tokens')
k = 4
xq = model.encode([query])
D, I = index.search(xq, k) # search
sentences_df["sentences"].iloc[I.tolist()[0]]
a = list(sentences_df["sentences"].iloc[I.tolist()[0]])
results = "\n".join(a)
answer = results
return answer
iface = gr.Interface(
fn=question_answer,
inputs=gr.inputs.Textbox(lines=2, placeholder="Type your query here"),
outputs="text").launch()