Leonydis137 commited on
Commit
1bc2806
Β·
verified Β·
1 Parent(s): 6739ff7

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +134 -26
app.py CHANGED
@@ -4,23 +4,55 @@ import gradio as gr
4
  import time
5
  import os
6
  import psutil
 
7
 
8
  # Initialize components
9
  cognitive_engine = CognitiveEngine()
10
  packager = HFSpacePackager()
11
 
12
- def run_cycle():
 
13
  try:
14
- improvement_targets = cognitive_engine.identify_improvements()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
15
  code_updates = cognitive_engine.generate_enhancements(improvement_targets)
16
 
17
  if cognitive_engine.apply_enhancements(code_updates):
18
  snapshot_url = packager.create_snapshot()
19
- return f"βœ… Cycle complete! Snapshot: {snapshot_url}"
20
- return "❌ Improvement failed - see logs"
 
 
 
 
 
 
 
 
21
  except Exception as e:
22
- return f"⚠️ Critical error: {str(e)}"
 
 
 
 
23
 
 
24
  def get_resource_usage():
25
  return {
26
  "cpu": f"{psutil.cpu_percent()}%",
@@ -28,31 +60,107 @@ def get_resource_usage():
28
  "disk": f"{psutil.disk_usage('/').percent}%"
29
  }
30
 
31
- def update_resources():
32
- return get_resource_usage()
 
 
33
 
34
- with gr.Blocks(css="static/style.css", theme=gr.themes.Soft()) as demo:
35
- gr.Markdown("# πŸ€– Autonomous AI System")
36
-
37
- with gr.Row():
38
- with gr.Column(scale=1):
39
- start_btn = gr.Button("πŸš€ Start Improvement Cycle", variant="primary")
40
- status = gr.Textbox(label="Status", interactive=False)
41
-
42
- gr.Markdown("### System Resources")
43
- resource_display = gr.JSON(label="Current Usage", value=get_resource_usage())
44
-
45
- # Manual refresh button
46
- refresh_btn = gr.Button("πŸ”„ Refresh Resources")
47
- refresh_btn.click(update_resources, outputs=resource_display)
48
-
49
- with gr.Column(scale=2):
50
- gr.HTML(open("templates/dashboard.html", "r").read())
51
 
52
- start_btn.click(
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
53
  run_cycle,
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
54
  inputs=[],
55
- outputs=status
56
  )
57
 
58
  if __name__ == "__main__":
 
4
  import time
5
  import os
6
  import psutil
7
+ import json
8
 
9
  # Initialize components
10
  cognitive_engine = CognitiveEngine()
11
  packager = HFSpacePackager()
12
 
13
+ # Load knowledge base
14
+ def load_knowledge():
15
  try:
16
+ with open("knowledge/state.json", "r") as f:
17
+ return json.load(f)
18
+ except:
19
+ return {"improvements": [], "solutions": {}, "tasks": []}
20
+
21
+ # Save knowledge base
22
+ def save_knowledge(data):
23
+ with open("knowledge/state.json", "w") as f:
24
+ json.dump(data, f, indent=2)
25
+
26
+ # Main autonomous cycle
27
+ def run_cycle(task_description):
28
+ knowledge = load_knowledge()
29
+ knowledge["tasks"].append(task_description)
30
+ save_knowledge(knowledge)
31
+
32
+ try:
33
+ improvement_targets = cognitive_engine.identify_improvements(task_description)
34
  code_updates = cognitive_engine.generate_enhancements(improvement_targets)
35
 
36
  if cognitive_engine.apply_enhancements(code_updates):
37
  snapshot_url = packager.create_snapshot()
38
+ return (
39
+ f"βœ… Task completed! Snapshot: {snapshot_url}",
40
+ code_updates,
41
+ "\n".join(improvement_targets)
42
+ )
43
+ return (
44
+ "❌ Improvement failed - see logs",
45
+ "",
46
+ ""
47
+ )
48
  except Exception as e:
49
+ return (
50
+ f"⚠️ Critical error: {str(e)}",
51
+ "",
52
+ ""
53
+ )
54
 
55
+ # Get system resources
56
  def get_resource_usage():
57
  return {
58
  "cpu": f"{psutil.cpu_percent()}%",
 
60
  "disk": f"{psutil.disk_usage('/').percent}%"
61
  }
62
 
63
+ # Get task history
64
+ def get_task_history():
65
+ knowledge = load_knowledge()
66
+ return "\n".join([f"- {task}" for task in knowledge["tasks"][-5:]])
67
 
68
+ # Manual code submission
69
+ def submit_manual_code(code):
70
+ try:
71
+ if cognitive_engine.apply_enhancements(code):
72
+ snapshot_url = packager.create_snapshot()
73
+ return f"βœ… Code applied! Snapshot: {snapshot_url}", code
74
+ return "❌ Code application failed", code
75
+ except Exception as e:
76
+ return f"⚠️ Error: {str(e)}", code
 
 
 
 
 
 
 
 
77
 
78
+ with gr.Blocks(css="static/style.css", theme=gr.themes.Soft()) as demo:
79
+ knowledge = load_knowledge()
80
+
81
+ gr.Markdown("# πŸ€– Interactive Autonomous AI System")
82
+
83
+ with gr.Tab("Task-Based Improvement"):
84
+ with gr.Row():
85
+ with gr.Column():
86
+ task_input = gr.Textbox(
87
+ label="Describe your improvement task",
88
+ placeholder="e.g., 'Optimize the validation system' or 'Add user authentication'",
89
+ lines=3
90
+ )
91
+ submit_task = gr.Button("πŸš€ Execute Task", variant="primary")
92
+
93
+ gr.Markdown("### System Resources")
94
+ resource_display = gr.JSON(value=get_resource_usage(), label="Current Status")
95
+ refresh_btn = gr.Button("πŸ”„ Refresh Status")
96
+
97
+ with gr.Column():
98
+ task_output = gr.Textbox(label="Task Status", interactive=False)
99
+ improvement_list = gr.Textbox(label="Identified Improvements", interactive=False)
100
+ generated_code = gr.Code(
101
+ label="Generated Code",
102
+ language="python",
103
+ interactive=True
104
+ )
105
+
106
+ with gr.Tab("Manual Code Submission"):
107
+ with gr.Row():
108
+ with gr.Column():
109
+ manual_code = gr.Code(
110
+ label="Submit Your Own Code",
111
+ language="python",
112
+ value="# Write your code enhancements here",
113
+ interactive=True
114
+ )
115
+ submit_manual = gr.Button("πŸ’Ύ Apply Code", variant="primary")
116
+ manual_output = gr.Textbox(label="Result")
117
+ with gr.Column():
118
+ gr.Markdown("### Code Guidelines")
119
+ gr.Markdown("""
120
+ 1. Ensure backward compatibility
121
+ 2. Include necessary imports
122
+ 3. Add comments explaining changes
123
+ 4. Avoid system-critical modifications
124
+ """)
125
+
126
+ with gr.Tab("Knowledge & History"):
127
+ task_history = gr.Textbox(
128
+ label="Recent Tasks",
129
+ value=get_task_history(),
130
+ interactive=False
131
+ )
132
+ gr.Markdown("### Improvement Database")
133
+ knowledge_display = gr.JSON(
134
+ value={k: v for k, v in knowledge.items() if k != "solutions"},
135
+ label="System Knowledge"
136
+ )
137
+ refresh_knowledge = gr.Button("πŸ” Refresh Knowledge")
138
+
139
+ # Task submission
140
+ submit_task.click(
141
  run_cycle,
142
+ inputs=[task_input],
143
+ outputs=[task_output, generated_code, improvement_list]
144
+ )
145
+
146
+ # Manual code submission
147
+ submit_manual.click(
148
+ submit_manual_code,
149
+ inputs=[manual_code],
150
+ outputs=[manual_output, manual_code]
151
+ )
152
+
153
+ # Refresh actions
154
+ refresh_btn.click(
155
+ get_resource_usage,
156
+ inputs=[],
157
+ outputs=resource_display
158
+ )
159
+
160
+ refresh_knowledge.click(
161
+ lambda: load_knowledge(),
162
  inputs=[],
163
+ outputs=knowledge_display
164
  )
165
 
166
  if __name__ == "__main__":