VaneshDev commited on
Commit
deb778b
·
verified ·
1 Parent(s): 806c72d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +18 -13
app.py CHANGED
@@ -67,27 +67,32 @@ def call_ai_model(usage, idle, freq, cost, last):
67
  cost = float(cost) if cost is not None and not np.isnan(cost) else 0.0
68
 
69
  total = usage + idle
70
- ratio = usage / total if total > 0 else 0
71
- if ratio < 0.3:
 
 
 
72
  sug = "Pause Rent"
73
- elif ratio < 0.6:
74
  sug = "Move"
75
- elif ratio < 0.8:
76
  sug = "Repair"
77
  else:
78
  sug = "Replace"
79
 
80
- # Updated confidence logic:
 
81
  if idle > usage:
82
- conf = max(0.1, (usage / (idle + usage)) * 0.5) # Lower confidence if idle dominates
83
- else:
84
- conf = min(1.0, (usage / (idle + usage)) + 0.5) # Higher confidence if usage dominates
85
-
86
- score = ratio * 100
87
 
88
- if np.isnan(conf) or np.isnan(score):
89
  raise ValueError("Computed values resulted in NaN. Please check input data.")
90
- return sug, conf, score
 
 
91
  except Exception as e:
92
  logger.error(f"Error in call_ai_model: {e}")
93
  raise ValueError(f"AI model computation failed: {str(e)}")
@@ -414,4 +419,4 @@ with gr.Blocks() as app:
414
  #result-box { border: 3px solid #d3d3d3 !important; border-radius: 10px; padding: 10px; background: #f9f9f9; white-space: pre-line; }
415
  """
416
  if __name__ == "__main__":
417
- app.launch()
 
67
  cost = float(cost) if cost is not None and not np.isnan(cost) else 0.0
68
 
69
  total = usage + idle
70
+ ratio = usage / total if total > 0 else 0.0
71
+ utilization_percent = ratio * 100
72
+
73
+ # AI Suggestion logic based on utilization percent
74
+ if utilization_percent < 30:
75
  sug = "Pause Rent"
76
+ elif utilization_percent < 60:
77
  sug = "Move"
78
+ elif utilization_percent < 80:
79
  sug = "Repair"
80
  else:
81
  sug = "Replace"
82
 
83
+ # Confidence calculation
84
+ base_conf = min(ratio + 0.1, 1.0)
85
  if idle > usage:
86
+ base_conf *= 0.6
87
+ freq_factor = min(freq / 10.0, 1.0)
88
+ base_conf *= (0.7 + 0.3 * freq_factor)
89
+ confidence = max(0.1, min(base_conf, 1.0))
 
90
 
91
+ if np.isnan(confidence) or np.isnan(utilization_percent):
92
  raise ValueError("Computed values resulted in NaN. Please check input data.")
93
+
94
+ return sug, confidence, utilization_percent
95
+
96
  except Exception as e:
97
  logger.error(f"Error in call_ai_model: {e}")
98
  raise ValueError(f"AI model computation failed: {str(e)}")
 
419
  #result-box { border: 3px solid #d3d3d3 !important; border-radius: 10px; padding: 10px; background: #f9f9f9; white-space: pre-line; }
420
  """
421
  if __name__ == "__main__":
422
+ app.launch()