Spaces:
Building
Building
Create core/dashboard.py
Browse files- 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 |
-
|
| 13 |
"time": datetime.now().strftime("%H:%M:%S"),
|
| 14 |
"model": model_name,
|
| 15 |
"type": query_type,
|
| 16 |
-
"response_time": response_time
|
| 17 |
-
}
|
| 18 |
-
|
| 19 |
-
if len(self.logs) > 20:
|
| 20 |
-
self.logs = self.logs[-20:]
|
| 21 |
|
| 22 |
-
def
|
| 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 |
-
|
| 31 |
-
|
| 32 |
-
|
| 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|