stanley-00 commited on
Commit
a1baed0
·
verified ·
1 Parent(s): 32f15bb

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +20 -4
app.py CHANGED
@@ -29,6 +29,21 @@ MODELS = [
29
  'Aravindan/awesome-gpt-2-coder', 'Qwen/Qwen2.5-Coder-0.5B'
30
  ]
31
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
32
  # Global class to safely manage the loaded model and tokenizer in memory
33
  class ModelManager:
34
  def __init__(self):
@@ -42,10 +57,11 @@ def get_system_stats():
42
  """Returns a dictionary of current system metrics with formatted strings."""
43
  mem = psutil.virtual_memory()
44
  disk = psutil.disk_usage('/')
45
- return '\n'.join((
46
- f"CPU\t: {psutil.cpu_percent(interval=1)}%",
47
- f"Memory\t: {round(mem.used / (1024**3), 2)} / {round(mem.total / (1024**3), 2)} GB",
48
- f"Disk\t: {round(disk.used / (1024**3), 2)} / {round(disk.total / (1024**3), 2)} GB"
 
49
  ))
50
 
51
  def load_new_model(model_id):
 
29
  'Aravindan/awesome-gpt-2-coder', 'Qwen/Qwen2.5-Coder-0.5B'
30
  ]
31
 
32
+ ACTIVE_SESSIONS = {}
33
+ SESSION_TIMEOUT = 5*60
34
+
35
+ def live_count(request: gr.Request):
36
+ current_time = time.time()
37
+ if request:
38
+ ACTIVE_SESSIONS[request.session_hash] = current_time
39
+
40
+ # Prune
41
+ expired = [s for s, t in ACTIVE_SESSIONS.items() if current_time - t > SESSION_TIMEOUT]
42
+ for s in expired:
43
+ ACTIVE_SESSIONS.pop(s, None)
44
+
45
+ return len(ACTIVE_SESSIONS)
46
+
47
  # Global class to safely manage the loaded model and tokenizer in memory
48
  class ModelManager:
49
  def __init__(self):
 
57
  """Returns a dictionary of current system metrics with formatted strings."""
58
  mem = psutil.virtual_memory()
59
  disk = psutil.disk_usage('/')
60
+ return (
61
+ f"CPU\t\t: {psutil.cpu_percent(interval=1)}%\n"
62
+ f"Mem\t\t: {round(mem.used / (1024**3), 2)} / {round(mem.total / (1024**3), 2)} GB\n"
63
+ f"Disk\t\t: {round(disk.used / (1024**3), 2)} / {round(disk.total / (1024**3), 2)} GB\n"
64
+ f"Active\t\t: {live_count()}/5min"
65
  ))
66
 
67
  def load_new_model(model_id):