tayyab-077 commited on
Commit
07112a0
ยท
1 Parent(s): 70cf92b

updatation

Browse files
Files changed (2) hide show
  1. app.py +2 -1
  2. src/chatbot.py +8 -4
app.py CHANGED
@@ -123,7 +123,8 @@ def generate_reply(user_msg: str, history: Optional[List[Dict[str, Any]]]):
123
  else:
124
  prompt = f"User: {user_msg}"
125
 
126
- bot_reply = bot.ask(prompt)
 
127
  ts = now_ts()
128
  bot_reply_ts = f"{bot_reply}\n\n๐Ÿ•’ {ts}"
129
 
 
123
  else:
124
  prompt = f"User: {user_msg}"
125
 
126
+ bot_reply = bot.ask(user_msg) # intent auto-detected
127
+
128
  ts = now_ts()
129
  bot_reply_ts = f"{bot_reply}\n\n๐Ÿ•’ {ts}"
130
 
src/chatbot.py CHANGED
@@ -56,23 +56,27 @@ class LocalChatbot:
56
  # ------------------------------------------------
57
  # Main Ask Function
58
  # ------------------------------------------------
59
- def ask(self, user_message: Any, gen_args: Optional[Dict[str, Any]] = None) -> str:
60
- # --- Handle Gradio formats ---
 
61
  if isinstance(user_message, list):
62
  extracted = []
63
  for item in user_message:
64
  if isinstance(item, dict) and "text" in item:
65
  extracted.append(item["text"])
66
  user_message = "\n".join(extracted)
 
67
  elif isinstance(user_message, dict) and "text" in user_message:
68
  user_message = user_message["text"]
69
 
70
  user_message = str(user_message).strip()
 
71
  if not user_message:
72
  return "Please enter a message."
73
 
74
- # Detect intent
75
- intent = detect_intent(user_message)
 
76
 
77
  # Build prompt
78
  prompt = self._build_prompt(user_message, intent, max_pairs=12)
 
56
  # ------------------------------------------------
57
  # Main Ask Function
58
  # ------------------------------------------------
59
+ def ask(self, user_message: Any, gen_args: Optional[Dict[str, Any]] = None, intent: Optional[str] = None) -> str:
60
+
61
+ # --- FIX #1: Extract text from Gradio compatibility formats ---
62
  if isinstance(user_message, list):
63
  extracted = []
64
  for item in user_message:
65
  if isinstance(item, dict) and "text" in item:
66
  extracted.append(item["text"])
67
  user_message = "\n".join(extracted)
68
+
69
  elif isinstance(user_message, dict) and "text" in user_message:
70
  user_message = user_message["text"]
71
 
72
  user_message = str(user_message).strip()
73
+
74
  if not user_message:
75
  return "Please enter a message."
76
 
77
+ # --- FIX #2: Use passed intent, or detect if None ---
78
+ if intent is None:
79
+ intent = detect_intent(user_message)
80
 
81
  # Build prompt
82
  prompt = self._build_prompt(user_message, intent, max_pairs=12)