arubaDev commited on
Commit
c078c66
·
verified ·
1 Parent(s): 57c78ad

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +20 -5
app.py CHANGED
@@ -177,6 +177,13 @@ def delete_chat_cb(selected_label):
177
  selected = labels[0] if labels else None
178
  return gr.update(choices=labels, value=selected), []
179
 
 
 
 
 
 
 
 
180
  # --- Fixed send_cb to show user message ---
181
  def send_cb(user_text, selected_label, chatbot_msgs, system_message, max_tokens, temperature, top_p, model_choice, dataset_choice, *args):
182
  sid = label_to_id(selected_label)
@@ -185,19 +192,27 @@ def send_cb(user_text, selected_label, chatbot_msgs, system_message, max_tokens,
185
  labels, _ = list_sessions()
186
  selected_label = next((lbl for lbl in labels if lbl.startswith(f"{sid} ")), None)
187
 
 
188
  add_message(sid, "user", user_text)
189
  update_session_title_if_needed(sid, user_text)
190
 
191
- api_messages = build_api_messages(sid, system_message)
192
- display_msgs = chatbot_msgs[:] # preserve current chat
193
-
194
- # Show user's message immediately
195
  display_msgs.append({"role": "user", "content": user_text})
196
- # Add assistant typing placeholder
 
 
 
 
 
 
 
 
 
197
  display_msgs.append({"role": "assistant", "content": "…"})
198
  yield (display_msgs, "", selected_label)
199
 
200
  client = get_client(model_choice)
 
201
  partial = ""
202
  try:
203
  for chunk in client.chat_completion(
 
177
  selected = labels[0] if labels else None
178
  return gr.update(choices=labels, value=selected), []
179
 
180
+ FRONTEND_KEYWORDS = [
181
+ "react", "vue", "angular", "html", "css", "javascript", "tailwind", "recharts", "typescript"
182
+ ]
183
+
184
+ def is_frontend_request(user_text: str) -> bool:
185
+ text_lower = user_text.lower()
186
+ return any(kw in text_lower for kw in FRONTEND_KEYWORDS)
187
  # --- Fixed send_cb to show user message ---
188
  def send_cb(user_text, selected_label, chatbot_msgs, system_message, max_tokens, temperature, top_p, model_choice, dataset_choice, *args):
189
  sid = label_to_id(selected_label)
 
192
  labels, _ = list_sessions()
193
  selected_label = next((lbl for lbl in labels if lbl.startswith(f"{sid} ")), None)
194
 
195
+ # Save user message
196
  add_message(sid, "user", user_text)
197
  update_session_title_if_needed(sid, user_text)
198
 
199
+ display_msgs = chatbot_msgs[:]
 
 
 
200
  display_msgs.append({"role": "user", "content": user_text})
201
+
202
+ # Check for frontend-heavy request
203
+ if is_frontend_request(user_text):
204
+ apology = "⚠️ I'm a backend-focused assistant and cannot provide frontend code."
205
+ display_msgs.append({"role": "assistant", "content": apology})
206
+ add_message(sid, "assistant", apology)
207
+ yield (display_msgs, "", selected_label)
208
+ return
209
+
210
+ # Normal backend response
211
  display_msgs.append({"role": "assistant", "content": "…"})
212
  yield (display_msgs, "", selected_label)
213
 
214
  client = get_client(model_choice)
215
+ api_messages = build_api_messages(sid, system_message)
216
  partial = ""
217
  try:
218
  for chunk in client.chat_completion(