Spaces:
Sleeping
Sleeping
Davidtran99
commited on
Commit
·
ff794a8
1
Parent(s):
e9b83bb
Fix: Add selected_detail support in chat endpoint
Browse files
backend/hue_portal/chatbot/views.py
CHANGED
|
@@ -64,6 +64,23 @@ def _apply_selected_topic(session_id: Optional[str], topic: Optional[str]) -> No
|
|
| 64 |
)
|
| 65 |
|
| 66 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 67 |
@csrf_exempt
|
| 68 |
def chat_simple(request: HttpRequest) -> JsonResponse:
|
| 69 |
"""
|
|
@@ -189,6 +206,12 @@ def chat(request: Request) -> Response:
|
|
| 189 |
else:
|
| 190 |
selected_topic = None
|
| 191 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 192 |
# Log received message for debugging
|
| 193 |
message_preview = message[:100] + "..." if len(message) > 100 else message
|
| 194 |
logger.info(f"[CHAT] 📨 Received POST request - Message: '{message_preview}' (length: {len(message)}), Session: {session_id[:8] if session_id else 'new'}")
|
|
|
|
| 64 |
)
|
| 65 |
|
| 66 |
|
| 67 |
+
def _apply_selected_detail(session_id: Optional[str], detail: Optional[str]) -> None:
|
| 68 |
+
"""Persist or clear the selected detail for a session."""
|
| 69 |
+
if not session_id:
|
| 70 |
+
return
|
| 71 |
+
if not detail:
|
| 72 |
+
ConversationContext.clear_session_metadata_keys(session_id, ["selected_detail"])
|
| 73 |
+
return
|
| 74 |
+
normalized = str(detail).strip()
|
| 75 |
+
if not normalized:
|
| 76 |
+
ConversationContext.clear_session_metadata_keys(session_id, ["selected_detail"])
|
| 77 |
+
return
|
| 78 |
+
ConversationContext.update_session_metadata(
|
| 79 |
+
session_id,
|
| 80 |
+
{"selected_detail": normalized},
|
| 81 |
+
)
|
| 82 |
+
|
| 83 |
+
|
| 84 |
@csrf_exempt
|
| 85 |
def chat_simple(request: HttpRequest) -> JsonResponse:
|
| 86 |
"""
|
|
|
|
| 206 |
else:
|
| 207 |
selected_topic = None
|
| 208 |
|
| 209 |
+
selected_detail = request.data.get("selected_detail") or request.data.get("detail_option")
|
| 210 |
+
if isinstance(selected_detail, str):
|
| 211 |
+
selected_detail = selected_detail.strip()
|
| 212 |
+
else:
|
| 213 |
+
selected_detail = None
|
| 214 |
+
|
| 215 |
# Log received message for debugging
|
| 216 |
message_preview = message[:100] + "..." if len(message) > 100 else message
|
| 217 |
logger.info(f"[CHAT] 📨 Received POST request - Message: '{message_preview}' (length: {len(message)}), Session: {session_id[:8] if session_id else 'new'}")
|