Raiff1982 commited on
Commit
2ce0c11
·
verified ·
1 Parent(s): 42f42cb

Update GUI.py

Browse files
Files changed (1) hide show
  1. GUI.py +49 -14
GUI.py CHANGED
@@ -1,12 +1,53 @@
1
  import asyncio
2
  import json
3
  import logging
4
- import os
5
  import tkinter as tk
6
  from tkinter import messagebox
7
  from threading import Thread
8
  from typing import Dict, Any
9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10
  class AIApp(tk.Tk):
11
  def __init__(self, ai_core):
12
  super().__init__()
@@ -14,23 +55,18 @@ class AIApp(tk.Tk):
14
  self.title("AI System Interface")
15
  self.geometry("800x600")
16
  self._running = True
17
-
18
  self.create_widgets()
19
  self._start_health_monitoring()
20
 
21
  def create_widgets(self):
22
  self.query_label = tk.Label(self, text="Enter your query:")
23
  self.query_label.pack(pady=10)
24
-
25
  self.query_entry = tk.Entry(self, width=100)
26
  self.query_entry.pack(pady=10)
27
-
28
  self.submit_button = tk.Button(self, text="Submit", command=self.submit_query)
29
  self.submit_button.pack(pady=10)
30
-
31
  self.response_area = tk.Text(self, height=20, width=100)
32
  self.response_area.pack(pady=10)
33
-
34
  self.status_bar = tk.Label(self, text="Ready", bd=1, relief=tk.SUNKEN, anchor=tk.W)
35
  self.status_bar.pack(side=tk.BOTTOM, fill=tk.X)
36
 
@@ -65,21 +101,20 @@ class AIApp(tk.Tk):
65
  """Periodically check system health"""
66
  def update_health():
67
  if self._running:
68
- health = asyncio.run(self.ai_core.self_healing.check_health())
69
  self.status_bar.config(
70
  text=f"System Health - Memory: {health['memory_usage']}% | "
71
- f"CPU: {health['cpu_load']}% | Response Time: {health['response_time']:.2f}s"
 
72
  )
73
- self.after(5000, update_health)
 
74
  update_health()
75
 
76
  async def main():
77
- """The main function initializes the AI system, handles user input in a loop,
78
- generates responses using the AI system, and prints the insights, security level,
79
- AI response, and safety analysis. It also ensures proper shutdown of the AI system
80
- and its resources."""
81
  print("🧠 Hybrid AI System Initializing (Local Models)")
82
- ai = AICore()
83
  app = AIApp(ai)
84
  app.mainloop()
85
  await ai.shutdown()
 
1
  import asyncio
2
  import json
3
  import logging
4
+ import torch
5
  import tkinter as tk
6
  from tkinter import messagebox
7
  from threading import Thread
8
  from typing import Dict, Any
9
 
10
+ # Set up logging
11
+ logging.basicConfig(level=logging.INFO)
12
+
13
+ class AICore:
14
+ def __init__(self):
15
+ if not torch.cuda.is_available():
16
+ raise RuntimeError("GPU not available. Ensure CUDA is installed and a compatible GPU is present.")
17
+ self.device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
18
+ logging.info(f"Using device: {self.device}")
19
+
20
+ async def generate_response(self, query: str) -> Dict[str, Any]:
21
+ # Simulate AI response generation
22
+ await asyncio.sleep(1) # Simulate processing time
23
+ return {
24
+ "query": query,
25
+ "response": f"AI response to: {query}",
26
+ "insights": ["Insight 1", "Insight 2"],
27
+ "security_level": 2,
28
+ "safety_analysis": {"toxicity": 0.1, "bias": 0.05, "privacy": []}
29
+ }
30
+
31
+ async def check_health(self) -> Dict[str, Any]:
32
+ # Simulate health check
33
+ await asyncio.sleep(1) # Simulate processing time
34
+ return {
35
+ "memory_usage": 30, # Example memory usage percentage
36
+ "cpu_load": 20, # Example CPU load percentage
37
+ "gpu_memory": self.get_gpu_memory(), # Get GPU memory usage
38
+ "response_time": 0.5 # Example response time in seconds
39
+ }
40
+
41
+ def get_gpu_memory(self) -> float:
42
+ if torch.cuda.is_available():
43
+ return torch.cuda.memory_allocated() / 1e9 # Convert bytes to GB
44
+ return 0.0
45
+
46
+ async def shutdown(self):
47
+ # Simulate shutdown process
48
+ await asyncio.sleep(1) # Simulate cleanup time
49
+ logging.info("AI Core shutdown complete.")
50
+
51
  class AIApp(tk.Tk):
52
  def __init__(self, ai_core):
53
  super().__init__()
 
55
  self.title("AI System Interface")
56
  self.geometry("800x600")
57
  self._running = True
 
58
  self.create_widgets()
59
  self._start_health_monitoring()
60
 
61
  def create_widgets(self):
62
  self.query_label = tk.Label(self, text="Enter your query:")
63
  self.query_label.pack(pady=10)
 
64
  self.query_entry = tk.Entry(self, width=100)
65
  self.query_entry.pack(pady=10)
 
66
  self.submit_button = tk.Button(self, text="Submit", command=self.submit_query)
67
  self.submit_button.pack(pady=10)
 
68
  self.response_area = tk.Text(self, height=20, width=100)
69
  self.response_area.pack(pady=10)
 
70
  self.status_bar = tk.Label(self, text="Ready", bd=1, relief=tk.SUNKEN, anchor=tk.W)
71
  self.status_bar.pack(side=tk.BOTTOM, fill=tk.X)
72
 
 
101
  """Periodically check system health"""
102
  def update_health():
103
  if self._running:
104
+ health = asyncio.run(self.ai_core.check_health())
105
  self.status_bar.config(
106
  text=f"System Health - Memory: {health['memory_usage']}% | "
107
+ f"CPU: {health['cpu_load']}% | GPU: {health['gpu_memory']}GB | "
108
+ f"Response Time: {health['response_time']:.2f}s"
109
  )
110
+ self.after(5000, update_health)
111
+
112
  update_health()
113
 
114
  async def main():
115
+ """The main function initializes the AI system and starts the GUI."""
 
 
 
116
  print("🧠 Hybrid AI System Initializing (Local Models)")
117
+ ai = AICore() # Initialize the AI core
118
  app = AIApp(ai)
119
  app.mainloop()
120
  await ai.shutdown()