GenAICoder commited on
Commit
f55eedf
·
verified ·
1 Parent(s): 449b9b7

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +31 -8
app.py CHANGED
@@ -420,35 +420,58 @@ def run_deep_dive_on_question(question):
420
  if not result["success"]:
421
  return f"**Error in Deep Dive Analysis:**\n{result.get('error', 'Unknown error')}"
422
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
423
  output = f"**Question:** {result['question']}\n\n"
424
 
425
  # Display each requirement and its result
426
- if result["requirements"]:
427
  output += "## Analysis Requirements\n\n"
428
  for i, req in enumerate(result["requirements"], 1):
429
  output += f"**Requirement {i}:** {req.get('title', 'Untitled')}\n"
430
  output += f"- {req.get('description', 'No description')}\n\n"
431
  if "code" in req:
432
  output += f"Generated Code:\n```python\n{req['code']}\n```\n\n"
 
 
433
 
434
  # Display execution results
435
- if result["all_results"]:
436
  output += "## Execution Results\n\n"
437
  for i, res in enumerate(result["all_results"], 1):
438
  output += f"**Requirement {i} Results:**\n"
439
- if res["success"]:
440
  output += f"✓ Executed successfully\n"
441
- output += f"```\n{res['result']}\n```\n\n"
442
  else:
443
- output += f"✗ Execution failed: {res['error']}\n\n"
 
 
444
 
445
  # Display synthesis & insights
446
- output += "## Analyst Interpretation\n\n"
447
- output += f"{result['interpretation']}"
 
 
 
448
 
449
  return output
450
  except Exception as exc:
451
- return f"Deep dive analysis error: {str(exc)}"
 
452
 
453
 
454
  # ---------------------------------------------------
 
420
  if not result["success"]:
421
  return f"**Error in Deep Dive Analysis:**\n{result.get('error', 'Unknown error')}"
422
 
423
+ # Check if we have empty results
424
+ if not result.get("requirements") and not result.get("all_results"):
425
+ return (
426
+ f"**Question:** {result['question']}\n\n"
427
+ f"⚠️ **No analysis requirements generated.** \n"
428
+ f"This may indicate:\n"
429
+ f"- The LLM couldn't parse the question clearly\n"
430
+ f"- API connectivity issue\n"
431
+ f"\nPlease try:\n"
432
+ f"- Rephrasing your question more specifically\n"
433
+ f"- Asking about specific metrics (30+@6, Yr1 NCL) or segments (FICO, Channel, City Tier)\n"
434
+ f"- Breaking down complex questions into simpler components\n\n"
435
+ f"**Raw Response:** {result.get('interpretation', 'No interpretation')}"
436
+ )
437
+
438
  output = f"**Question:** {result['question']}\n\n"
439
 
440
  # Display each requirement and its result
441
+ if result.get("requirements"):
442
  output += "## Analysis Requirements\n\n"
443
  for i, req in enumerate(result["requirements"], 1):
444
  output += f"**Requirement {i}:** {req.get('title', 'Untitled')}\n"
445
  output += f"- {req.get('description', 'No description')}\n\n"
446
  if "code" in req:
447
  output += f"Generated Code:\n```python\n{req['code']}\n```\n\n"
448
+ else:
449
+ output += "⚠️ No requirements generated\n\n"
450
 
451
  # Display execution results
452
+ if result.get("all_results"):
453
  output += "## Execution Results\n\n"
454
  for i, res in enumerate(result["all_results"], 1):
455
  output += f"**Requirement {i} Results:**\n"
456
+ if res.get("success"):
457
  output += f"✓ Executed successfully\n"
458
+ output += f"```\n{res.get('result', 'No result')}\n```\n\n"
459
  else:
460
+ output += f"✗ Execution failed: {res.get('error', 'Unknown error')}\n\n"
461
+ else:
462
+ output += "⚠️ No execution results\n\n"
463
 
464
  # Display synthesis & insights
465
+ if result.get("interpretation"):
466
+ output += "## Analyst Interpretation\n\n"
467
+ output += f"{result['interpretation']}"
468
+ else:
469
+ output += "⚠️ No interpretation available"
470
 
471
  return output
472
  except Exception as exc:
473
+ import traceback
474
+ return f"**Deep Dive Analysis Error:**\n```\n{traceback.format_exc()}\n```"
475
 
476
 
477
  # ---------------------------------------------------