SirinootKK commited on
Commit
846bf0f
·
1 Parent(s): fcea57d

fix app.py

Browse files
Files changed (1) hide show
  1. app.py +5 -17
app.py CHANGED
@@ -75,19 +75,19 @@ class Chatbot:
75
  def load_data(self, path: str = DATA_PATH):
76
  self.df = pd.read_excel(path, sheet_name='Default')
77
  self.df['Context'] = pd.read_excel(path, sheet_name='mdeberta')['Context']
78
- print('Load data done')
79
 
80
  def load_model(self, model_name: str = DEFAULT_MODEL):
81
  self.model = AutoModelForQuestionAnswering.from_pretrained(MODEL_DICT[model_name])
82
  self.tokenizer = AutoTokenizer.from_pretrained(MODEL_DICT[model_name])
83
  self.model_name = model_name
84
- print('Load model done')
85
 
86
  def load_embedding_model(self, model_name: str = DEFAULT_SENTENCE_EMBEDDING_MODEL):
87
  if torch.cuda.is_available(): # Check if GPU is available
88
  self.embedding_model = SentenceTransformer(model_name, device='cpu')
89
  else: self.embedding_model = SentenceTransformer(model_name)
90
- print('Load sentence embedding model done')
91
 
92
  def set_vectors(self):
93
  self.vectors = self.prepare_sentences_vector(self.load_embeddings(EMBEDDINGS_PATH))
@@ -149,8 +149,9 @@ class Chatbot:
149
  similar_questions, similar_contexts, distances, indices = self.faiss_search(question_vector)
150
  Answers = [self.df['Answer'][i] for i in indices[0]]
151
  Answer = Answers[0]
152
-
153
  return Answer
 
154
 
155
  # Function to predict using BERT embedding
156
  def predict_bert_embedding(self,message):
@@ -181,19 +182,6 @@ class Chatbot:
181
  Answer = self.model_pipeline(message, context)
182
  return Answer
183
 
184
-
185
- def predict_semantic_search(self, message):
186
- message = message.strip()
187
- query_embedding = self.embedding_model.encode([message], convert_to_tensor=True)[0] # Fix here
188
- query_embedding = query_embedding.to('cpu')
189
- corpus_embeddings = self.embedding_model.encode(self.df['Question'].tolist(), convert_to_tensor=True) # Fix here
190
- hits = util.semantic_search(query_embedding, corpus_embeddings, top_k=1)
191
- hit = hits[0][0]
192
- context = self.df['Context'][hit['corpus_id']]
193
- score = "{:.4f})".format(hit['score'])
194
- Answer = self.model_pipeline(message, context)
195
- return Answer
196
-
197
  def predict_without_faiss(self,message):
198
  MostSimilarContext = ""
199
  min_distance = 1000
 
75
  def load_data(self, path: str = DATA_PATH):
76
  self.df = pd.read_excel(path, sheet_name='Default')
77
  self.df['Context'] = pd.read_excel(path, sheet_name='mdeberta')['Context']
78
+ # print('Load data done')
79
 
80
  def load_model(self, model_name: str = DEFAULT_MODEL):
81
  self.model = AutoModelForQuestionAnswering.from_pretrained(MODEL_DICT[model_name])
82
  self.tokenizer = AutoTokenizer.from_pretrained(MODEL_DICT[model_name])
83
  self.model_name = model_name
84
+ # print('Load model done')
85
 
86
  def load_embedding_model(self, model_name: str = DEFAULT_SENTENCE_EMBEDDING_MODEL):
87
  if torch.cuda.is_available(): # Check if GPU is available
88
  self.embedding_model = SentenceTransformer(model_name, device='cpu')
89
  else: self.embedding_model = SentenceTransformer(model_name)
90
+ # print('Load sentence embedding model done')
91
 
92
  def set_vectors(self):
93
  self.vectors = self.prepare_sentences_vector(self.load_embeddings(EMBEDDINGS_PATH))
 
149
  similar_questions, similar_contexts, distances, indices = self.faiss_search(question_vector)
150
  Answers = [self.df['Answer'][i] for i in indices[0]]
151
  Answer = Answers[0]
152
+
153
  return Answer
154
+
155
 
156
  # Function to predict using BERT embedding
157
  def predict_bert_embedding(self,message):
 
182
  Answer = self.model_pipeline(message, context)
183
  return Answer
184
 
 
 
 
 
 
 
 
 
 
 
 
 
 
185
  def predict_without_faiss(self,message):
186
  MostSimilarContext = ""
187
  min_distance = 1000