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": "multi_advisor",
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
- if result["type"] == "single_persona_response":
 
 
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": result.get("message", "I'm having trouble generating a response right now. Please try again.")
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
- if not is_within_upload_limit(session.uploaded_files, file.size):
339
- raise HTTPException(status_code=413, detail="Upload would exceed session limits")
 
 
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()