harismlnaslm commited on
Commit
725cf7b
Β·
1 Parent(s): c152345

Fix question classification: prevent general questions from using training data

Browse files
Files changed (1) hide show
  1. app.py +12 -3
app.py CHANGED
@@ -472,8 +472,12 @@ Minimum purchase is 1 roll (67-70 yards)."""
472
  """Generate response using HuggingFace Inference API with training data fallback"""
473
 
474
  # Check if this is a specific Textilindo business question that should use training data
475
- business_keywords = ['lokasi', 'alamat', 'ongkir', 'pengiriman', 'harga', 'produk', 'katalog', 'pemesanan', 'pembayaran', 'textilindo']
476
- is_business_question = any(keyword in user_message.lower() for keyword in business_keywords)
 
 
 
 
477
 
478
  # For business questions, try training data first
479
  if is_business_question:
@@ -484,6 +488,7 @@ Minimum purchase is 1 roll (67-70 yards)."""
484
 
485
  # For all other questions, use AI model first
486
  logger.info(f"Question type: {'Business' if is_business_question else 'General'}")
 
487
  logger.info(f"Using AI model for: {user_message[:50]}...")
488
 
489
  if not self.client:
@@ -588,9 +593,13 @@ Minimum purchase is 1 roll (67-70 yards)."""
588
  if "hello" in user_message.lower() or "hi" in user_message.lower():
589
  return "Halo! Saya adalah asisten AI Textilindo. Bagaimana saya bisa membantu Anda hari ini? 😊"
590
  elif "weather" in user_message.lower() or "cuaca" in user_message.lower():
591
- return "Maaf, saya tidak bisa memberikan informasi cuaca. Tapi saya bisa membantu Anda dengan pertanyaan tentang produk dan layanan Textilindo!"
592
  elif "how are you" in user_message.lower() or "apa kabar" in user_message.lower():
593
  return "Saya baik-baik saja, terima kasih! Saya siap membantu Anda dengan pertanyaan tentang Textilindo. Ada yang bisa saya bantu?"
 
 
 
 
594
  else:
595
  return f"Halo! Saya adalah asisten AI Textilindo. Saya bisa membantu Anda dengan pertanyaan tentang produk dan layanan kami, atau sekadar mengobrol! Bagaimana saya bisa membantu Anda hari ini? 😊"
596
 
 
472
  """Generate response using HuggingFace Inference API with training data fallback"""
473
 
474
  # Check if this is a specific Textilindo business question that should use training data
475
+ business_keywords = ['lokasi', 'alamat', 'ongkir', 'pengiriman', 'harga', 'produk', 'katalog', 'pemesanan', 'pembayaran', 'textilindo', 'roll', 'kain', 'minimal order', 'jam operasional']
476
+ general_keywords = ['weather', 'cuaca', 'temperature', 'suhu', 'rain', 'hujan', 'sunny', 'cerah', 'cloudy', 'berawan', 'time', 'waktu', 'date', 'tanggal', 'hello', 'hi', 'halo', 'hai', 'how are you', 'apa kabar']
477
+
478
+ # Check if it's a general question that should NOT use training data
479
+ is_general_question = any(keyword in user_message.lower() for keyword in general_keywords)
480
+ is_business_question = any(keyword in user_message.lower() for keyword in business_keywords) and not is_general_question
481
 
482
  # For business questions, try training data first
483
  if is_business_question:
 
488
 
489
  # For all other questions, use AI model first
490
  logger.info(f"Question type: {'Business' if is_business_question else 'General'}")
491
+ logger.info(f"General question detected: {is_general_question}")
492
  logger.info(f"Using AI model for: {user_message[:50]}...")
493
 
494
  if not self.client:
 
593
  if "hello" in user_message.lower() or "hi" in user_message.lower():
594
  return "Halo! Saya adalah asisten AI Textilindo. Bagaimana saya bisa membantu Anda hari ini? 😊"
595
  elif "weather" in user_message.lower() or "cuaca" in user_message.lower():
596
+ return "Maaf, saya tidak bisa memberikan informasi cuaca terkini. Tapi saya bisa membantu Anda dengan pertanyaan tentang produk dan layanan Textilindo! Apakah ada yang ingin Anda ketahui tentang kain atau layanan kami?"
597
  elif "how are you" in user_message.lower() or "apa kabar" in user_message.lower():
598
  return "Saya baik-baik saja, terima kasih! Saya siap membantu Anda dengan pertanyaan tentang Textilindo. Ada yang bisa saya bantu?"
599
+ elif "time" in user_message.lower() or "waktu" in user_message.lower():
600
+ return f"Waktu saat ini adalah {datetime.now().strftime('%H:%M WIB, %d %B %Y')}. Apakah ada yang ingin Anda ketahui tentang produk Textilindo?"
601
+ elif "date" in user_message.lower() or "tanggal" in user_message.lower():
602
+ return f"Hari ini adalah {datetime.now().strftime('%d %B %Y')}. Apakah ada yang ingin Anda ketahui tentang produk Textilindo?"
603
  else:
604
  return f"Halo! Saya adalah asisten AI Textilindo. Saya bisa membantu Anda dengan pertanyaan tentang produk dan layanan kami, atau sekadar mengobrol! Bagaimana saya bisa membantu Anda hari ini? 😊"
605