Spaces:
Running
Running
Girish Jeswani commited on
Commit ·
de20511
1
Parent(s): d8b28d6
remove response wrapper
Browse files
multi_llm_chatbot_backend/app/api/routes.py
CHANGED
|
@@ -210,7 +210,7 @@ async def chat_sequential_enhanced(message: ChatMessage, request: Request):
|
|
| 210 |
}
|
| 211 |
|
| 212 |
return {
|
| 213 |
-
"type": "
|
| 214 |
"responses": responses,
|
| 215 |
"rag_info": rag_info,
|
| 216 |
"session_id": session_id,
|
|
@@ -240,7 +240,6 @@ async def chat_sequential_enhanced(message: ChatMessage, request: Request):
|
|
| 240 |
logger.error(f"Error in enhanced sequential chat: {str(e)}")
|
| 241 |
raise HTTPException(status_code=500, detail=f"Error processing request: {str(e)}")
|
| 242 |
|
| 243 |
-
# Individual advisor endpoint (SAME INTERFACE)
|
| 244 |
@router.post("/chat/{persona_id}")
|
| 245 |
async def chat_with_specific_advisor(persona_id: str, input: UserInput, request: Request):
|
| 246 |
"""Chat with a specific advisor - SAME INTERFACE"""
|
|
@@ -258,17 +257,33 @@ async def chat_with_specific_advisor(persona_id: str, input: UserInput, request:
|
|
| 258 |
session_id=session_id
|
| 259 |
)
|
| 260 |
|
| 261 |
-
|
|
|
|
|
|
|
| 262 |
persona_data = result["persona"]
|
| 263 |
return {
|
| 264 |
"persona": persona_data["persona_name"],
|
| 265 |
"persona_id": persona_data["persona_id"],
|
| 266 |
"response": persona_data["response"]
|
| 267 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 268 |
else:
|
|
|
|
| 269 |
return {
|
| 270 |
"persona": "System",
|
| 271 |
-
"response":
|
| 272 |
}
|
| 273 |
|
| 274 |
except HTTPException:
|
|
@@ -335,8 +350,10 @@ async def upload_document(file: UploadFile = File(...), request: Request = None)
|
|
| 335 |
session = session_manager.get_session(session_id)
|
| 336 |
|
| 337 |
# Validate file
|
| 338 |
-
|
| 339 |
-
|
|
|
|
|
|
|
| 340 |
|
| 341 |
# Read and validate file content
|
| 342 |
file_bytes = await file.read()
|
|
|
|
| 210 |
}
|
| 211 |
|
| 212 |
return {
|
| 213 |
+
"type": "persona_responses",
|
| 214 |
"responses": responses,
|
| 215 |
"rag_info": rag_info,
|
| 216 |
"session_id": session_id,
|
|
|
|
| 240 |
logger.error(f"Error in enhanced sequential chat: {str(e)}")
|
| 241 |
raise HTTPException(status_code=500, detail=f"Error processing request: {str(e)}")
|
| 242 |
|
|
|
|
| 243 |
@router.post("/chat/{persona_id}")
|
| 244 |
async def chat_with_specific_advisor(persona_id: str, input: UserInput, request: Request):
|
| 245 |
"""Chat with a specific advisor - SAME INTERFACE"""
|
|
|
|
| 257 |
session_id=session_id
|
| 258 |
)
|
| 259 |
|
| 260 |
+
# FIX: Handle the actual response structure from orchestrator
|
| 261 |
+
if result.get("type") == "single_persona_response" and "persona" in result:
|
| 262 |
+
# New expected structure
|
| 263 |
persona_data = result["persona"]
|
| 264 |
return {
|
| 265 |
"persona": persona_data["persona_name"],
|
| 266 |
"persona_id": persona_data["persona_id"],
|
| 267 |
"response": persona_data["response"]
|
| 268 |
}
|
| 269 |
+
elif "persona_id" in result and "response" in result:
|
| 270 |
+
# Current actual structure from orchestrator
|
| 271 |
+
return {
|
| 272 |
+
"persona": result["persona_name"],
|
| 273 |
+
"persona_id": result["persona_id"],
|
| 274 |
+
"response": result["response"]
|
| 275 |
+
}
|
| 276 |
+
elif result.get("type") == "error" or "error" in result:
|
| 277 |
+
# Error handling
|
| 278 |
+
return {
|
| 279 |
+
"persona": "System",
|
| 280 |
+
"response": result.get("error", "I'm having trouble generating a response right now. Please try again.")
|
| 281 |
+
}
|
| 282 |
else:
|
| 283 |
+
# Fallback
|
| 284 |
return {
|
| 285 |
"persona": "System",
|
| 286 |
+
"response": "I'm having trouble generating a response right now. Please try again."
|
| 287 |
}
|
| 288 |
|
| 289 |
except HTTPException:
|
|
|
|
| 350 |
session = session_manager.get_session(session_id)
|
| 351 |
|
| 352 |
# Validate file
|
| 353 |
+
MAX_FILE_SIZE = 10 * 1024 * 1024 # 10MB
|
| 354 |
+
if file.size and file.size > MAX_FILE_SIZE:
|
| 355 |
+
raise HTTPException(status_code=413, detail="File size exceeds 10MB limit")
|
| 356 |
+
|
| 357 |
|
| 358 |
# Read and validate file content
|
| 359 |
file_bytes = await file.read()
|