Yermek68 commited on
Commit
6925c52
·
verified ·
1 Parent(s): dd3c4b9

Create core/dashboard.py

Browse files
Files changed (1) hide show
  1. core/dashboard.py +10 -26
core/dashboard.py CHANGED
@@ -1,40 +1,24 @@
1
- import time
2
  import pandas as pd
3
- import gradio as gr
4
  from datetime import datetime
5
 
6
  class ErohaDashboard:
7
  def __init__(self):
8
  self.logs = []
9
- self.start_time = time.time()
10
 
11
  def log_request(self, model_name, query_type, response_time):
12
- self.logs.append({
13
  "time": datetime.now().strftime("%H:%M:%S"),
14
  "model": model_name,
15
  "type": query_type,
16
- "response_time": response_time
17
- })
18
- # храним только последние 20 записей
19
- if len(self.logs) > 20:
20
- self.logs = self.logs[-20:]
21
 
22
- def get_metrics(self):
23
  if not self.logs:
24
- return "", "", ""
25
- avg_time = round(sum(l["response_time"] for l in self.logs) / len(self.logs), 2)
26
- last_model = self.logs[-1]["model"]
27
- total_requests = len(self.logs)
28
- return last_model, total_requests, avg_time
29
 
30
- def dashboard_ui(self):
31
- df = pd.DataFrame(self.logs) if self.logs else pd.DataFrame([{
32
- "time": "—", "model": "—", "type": "—", "response_time": "—"
33
- }])
34
- last_model, total_requests, avg_time = self.get_metrics()
35
- return (
36
- f"🧠 **Активная модель:** {last_model}\n"
37
- f"📊 **Запросов обработано:** {total_requests}\n"
38
- f"⚡ **Среднее время ответа:** {avg_time} сек.",
39
- df
40
- )
 
 
1
  import pandas as pd
 
2
  from datetime import datetime
3
 
4
  class ErohaDashboard:
5
  def __init__(self):
6
  self.logs = []
 
7
 
8
  def log_request(self, model_name, query_type, response_time):
9
+ entry = {
10
  "time": datetime.now().strftime("%H:%M:%S"),
11
  "model": model_name,
12
  "type": query_type,
13
+ "response_time": response_time,
14
+ }
15
+ self.logs.append(entry)
 
 
16
 
17
+ def dashboard_ui(self):
18
  if not self.logs:
19
+ return "📭 Пока нет данных", pd.DataFrame(columns=["time", "model", "type", "response_time"])
 
 
 
 
20
 
21
+ df = pd.DataFrame(self.logs)
22
+ avg_time = round(df["response_time"].mean(), 2)
23
+ text = f"📊 **Запросов:** {len(df)} | **Среднее время ответа:** {avg_time} сек"
24
+ return text, df