amaisto commited on
Commit
563f2dd
·
verified ·
1 Parent(s): 02881cf

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +17 -13
app.py CHANGED
@@ -233,9 +233,9 @@ class MariannaBot:
233
  if best_score < similarity_threshold:
234
  # low confidence (< 0.35)
235
  if best_score < 0.55:
236
- return random.choice(["Mi dispiace, non ho informazioni su questo argomento. Puoi chiedermi di altro sulla città di Napoli.",
237
  "Purtroppo non riesco a rammentare questo argomento, la mia memoria non è più quella di un tempo. Chiedimi qualcos'altro su Napoli e le sue bellezze!",
238
- "Mi dispiace tantissimo, ma non riesco a ricordare. Vuoi chiedermi altro sulla città di Napoli?"])
239
 
240
  # medium confidence(0.55 - 0.75)
241
  else:
@@ -246,11 +246,11 @@ class MariannaBot:
246
  partial_info = value.get('short_intro', value.get('intro', '').split('.')[0] + '.')
247
  self.state = "query"
248
  self.is_telling_stories = False
249
- return random.choice([f"Potrei avere alcune informazioni su {best_title}, ma non sono completamente sicura sia ciò che stai cercando. I miei suggerimenti sono {suggestions}. \n\nCosa ti interessa?",
250
  f"Credo che tu stia parlando de {best_title}, ma per essere sicura di ciò che vuoi sapere, potresti specificare se parli di {suggestions}?",
251
- f"Per assicurarmi di aver capito bene, vuoi che ti parli di {suggestions}?"])
252
  else:
253
- return f"Ho trovato qualcosa su {best_title}, ma non sono completamente sicura. Vuoi saperne di più?"
254
 
255
  # high confidence (above the threshold)
256
  if best_title is not None:
@@ -266,17 +266,17 @@ class MariannaBot:
266
  else:
267
  self.current_further_info_values = [] # Se il valore non è un dizionario
268
  self.current_index = 0
269
- return f"{response}\n\nVuoi sapere altro su {self.main_k[-1]}?"
270
  else:
271
- return random.choice(["Mi dispiace, non ho informazioni su questo argomento. Puoi chiedermi di altro sulla città di Napoli.",
272
  "Purtroppo non riesco a rammentare altro su questo argomento, la mia memoria non è più quella di un tempo. Chiedimi qualcos'altro su Napoli e le sue bellezze!",
273
- "Mi dispiace tantissimo, ma non riesco a ricordare altro. Vuoi chiedermi altro sulla città di Napoli?"])
274
  except Exception as e:
275
  print(e)
276
  self.state = "initial"
277
- return random.choice(["Mi dispiace, c'è stato un errore. Puoi riprovare con un'altra domanda? ",
278
  "Scusami, sto facendo confusione. Puoi farmi un'altra domanda?",
279
- "Mi dispiace, non ho capito. Puoi essere più preciso?"])
280
 
281
 
282
  def first_query(self, message):
@@ -395,7 +395,7 @@ class MariannaBot:
395
  "Mi dispiace, non ho capito. Puoi essere più preciso?"]), is_idk)
396
 
397
 
398
- def log_interaction_to_file(log_filename, user_name, question, answer, is_idk):
399
  """Aggiunge un'interazione al file di log JSONL della sessione corrente."""
400
  log_entry = {
401
  "timestamp": datetime.datetime.now(datetime.timezone.utc).isoformat(),
@@ -403,6 +403,8 @@ def log_interaction_to_file(log_filename, user_name, question, answer, is_idk):
403
  "question": question,
404
  "answer": answer,
405
  "is_idk_response": is_idk
 
 
406
  }
407
  try:
408
  with open(log_filename, "a", encoding="utf-8") as f:
@@ -470,10 +472,12 @@ def main():
470
  if not message.strip():
471
  return history, "", current_session_log_file
472
 
473
- response_text, is_idk = bot.respond(message, history, current_user_name)
 
 
474
 
475
  # Salva l'interazione nel file di log della sessione
476
- log_interaction_to_file(current_session_log_file, current_user_name, message, response_text, is_idk)
477
 
478
  new_history = history + [[message, response_text]]
479
  return new_history, "", current_session_log_file # Restituisce il log_file per mantenerlo nello stato
 
233
  if best_score < similarity_threshold:
234
  # low confidence (< 0.35)
235
  if best_score < 0.55:
236
+ return (random.choice(["Mi dispiace, non ho informazioni su questo argomento. Puoi chiedermi di altro sulla città di Napoli.",
237
  "Purtroppo non riesco a rammentare questo argomento, la mia memoria non è più quella di un tempo. Chiedimi qualcos'altro su Napoli e le sue bellezze!",
238
+ "Mi dispiace tantissimo, ma non riesco a ricordare. Vuoi chiedermi altro sulla città di Napoli?"]),[best_score,best_title])
239
 
240
  # medium confidence(0.55 - 0.75)
241
  else:
 
246
  partial_info = value.get('short_intro', value.get('intro', '').split('.')[0] + '.')
247
  self.state = "query"
248
  self.is_telling_stories = False
249
+ return (random.choice([f"Potrei avere alcune informazioni su {best_title}, ma non sono completamente sicura sia ciò che stai cercando. I miei suggerimenti sono {suggestions}. \n\nCosa ti interessa?",
250
  f"Credo che tu stia parlando de {best_title}, ma per essere sicura di ciò che vuoi sapere, potresti specificare se parli di {suggestions}?",
251
+ f"Per assicurarmi di aver capito bene, vuoi che ti parli di {suggestions}?"]),[best_score,best_title])
252
  else:
253
+ return (f"Ho trovato qualcosa su {best_title}, ma non sono completamente sicura. Vuoi saperne di più?",[best_score,best_title])
254
 
255
  # high confidence (above the threshold)
256
  if best_title is not None:
 
266
  else:
267
  self.current_further_info_values = [] # Se il valore non è un dizionario
268
  self.current_index = 0
269
+ return (f"{response}\n\nVuoi sapere altro su {self.main_k[-1]}?",[best_score,best_title])
270
  else:
271
+ return (random.choice(["Mi dispiace, non ho informazioni su questo argomento. Puoi chiedermi di altro sulla città di Napoli.",
272
  "Purtroppo non riesco a rammentare altro su questo argomento, la mia memoria non è più quella di un tempo. Chiedimi qualcos'altro su Napoli e le sue bellezze!",
273
+ "Mi dispiace tantissimo, ma non riesco a ricordare altro. Vuoi chiedermi altro sulla città di Napoli?"]),[best_score,best_title])
274
  except Exception as e:
275
  print(e)
276
  self.state = "initial"
277
+ return (random.choice(["Mi dispiace, c'è stato un errore. Puoi riprovare con un'altra domanda? ",
278
  "Scusami, sto facendo confusione. Puoi farmi un'altra domanda?",
279
+ "Mi dispiace, non ho capito. Puoi essere più preciso?"]),[best_score,best_title])
280
 
281
 
282
  def first_query(self, message):
 
395
  "Mi dispiace, non ho capito. Puoi essere più preciso?"]), is_idk)
396
 
397
 
398
+ def log_interaction_to_file(log_filename, user_name, question, answer, is_idk,response):
399
  """Aggiunge un'interazione al file di log JSONL della sessione corrente."""
400
  log_entry = {
401
  "timestamp": datetime.datetime.now(datetime.timezone.utc).isoformat(),
 
403
  "question": question,
404
  "answer": answer,
405
  "is_idk_response": is_idk
406
+ "Similarity Score":response[0]
407
+ "title":response[1]
408
  }
409
  try:
410
  with open(log_filename, "a", encoding="utf-8") as f:
 
472
  if not message.strip():
473
  return history, "", current_session_log_file
474
 
475
+ response, is_idk = bot.respond(message, history, current_user_name)
476
+ response_text = response[0]
477
+ scores = response[1]
478
 
479
  # Salva l'interazione nel file di log della sessione
480
+ log_interaction_to_file(current_session_log_file, current_user_name, message, response_text, is_idk, response[1])
481
 
482
  new_history = history + [[message, response_text]]
483
  return new_history, "", current_session_log_file # Restituisce il log_file per mantenerlo nello stato