cabot / app.py
Graimond's picture
Update app.py
d78294d
import pandas as pd
from sentence_transformers import SentenceTransformer, util
import gradio
PATH_TO_FILE = 'cabot_qa.csv'
df = pd.read_csv(PATH_TO_FILE, sep=';')
df.drop_duplicates(inplace=True, ignore_index=True)
model = SentenceTransformer('sentence-transformers/all-MiniLM-L6-v2')
def run_question(Question):
similarities = []
for jdx, j in enumerate(list(df.Question)):
similarities.append(float(util.pytorch_cos_sim(
model.encode(list(df.Question)[jdx], convert_to_tensor=True),
model.encode(Question, convert_to_tensor=True))))
if round(max(similarities)*100) < 70:
return 'I\'m sorry, I\'m not sure I understood your question. Could you try again?'
else:
return df.loc[similarities.index(max(similarities)), 'Answer']
description = """Hi! I'm Cabot, the Consular Affairs bot.<br>
I will answer your questions about the Citizen Services that you can request at the Consular Sections within U.S. Embassy Rome."""
gradio.Interface(run_question,
title='Introducing C.A.BOT',
description=description,
inputs=gradio.Textbox(label="Type your question here!"),
outputs=gradio.Textbox(label="Answer")).launch()