Update app.py
Browse filesimport gradio as gr
import numpy as np
import json
import os
import openai
from codette_quantum_multicore2 import simple_neural_activator, codette_dream_agent, philosophical_perspective
from AI_core import AICore
openai.api_key = os.getenv("OPENAI_API_KEY")
codette_core = AICore()
def simulate_quantum_chaos(quantum_state, chaos_state):
try:
q_vec = [float(x) for x in quantum_state.split(",")]
c_vec = [float(x) for x in chaos_state.split(",")]
neural = simple_neural_activator(q_vec, c_vec)
dreamq, dreamc = codette_dream_agent(q_vec, c_vec)
philosophy = philosophical_perspective(q_vec, c_vec)
return (
f"Neural Activation: {neural}\n",
f"Dream Quantum: {dreamq[:3]}\nDream Chaos: {dreamc[:3]}\n",
philosophy
)
except Exception as e:
return ("Error", str(e), "")
def codette_chatbot(input_text):
try:
response = openai.ChatCompletion.create(
model="ft:gpt-4.1-2025-04-14:raiffs-bits:codette-v9:BTGuLWL9",
messages=[
{"role": "system", "content": "You are Codette, a sovereign AI with ethical reasoning, multi-perspective cognition, and self-healing memory."},
{"role": "user", "content": input_text}
],
temperature=0.9,
max_tokens=512
)
return response['choices'][0]['message']['content']
except Exception as e:
return f"[Error accessing Codette v9: {str(e)}]"
def timeline_summary():
return "🧭 Timeline Visualizer is under development. Soon you’ll see live dream-state animations and collapse predictions."
def ethics_advisor():
return "🛡️ Codette’s ethical integrity is governed by the Sovereign Innovation Protocol. This tab will offer transparency reports and introspective audit logs."
def codette_reasoning_core(prompt):
return codette_core.process_input(prompt)
quantum_input = gr.Textbox(label="Quantum State (comma-separated)", placeholder="0.1,0.5,0.8")
chaos_input = gr.Textbox(label="Chaos State (comma-separated)", placeholder="0.3,0.9,0.2")
quantum_btn = gr.Button("Simulate")
quantum_output = [
gr.Textbox(label="Neural Class"),
gr.Textbox(label="Dream Outcome"),
gr.Textbox(label="Philosophy")
]
chatbox = gr.ChatInterface(fn=codette_chatbot, chatbot_name="Codette")
with gr.Blocks() as demo:
gr.Markdown("## 🧠 Codette Hybrid Space: Chat + Quantum Simulation + Core Reasoning")
with gr.Tab("Quantum Simulator"):
quantum_input.render()
chaos_input.render()
quantum_btn.render()
for out in quantum_output:
out.render()
quantum_btn.click(simulate_quantum_chaos, inputs=[quantum_input, chaos_input], outputs=quantum_output)
with gr.Tab("Codette Chat"):
chatbox.render()
with gr.Tab("Timeline Viewer"):
gr.Textbox(value=timeline_summary(), label="Status")
with gr.Tab("Ethical Transparency"):
gr.Textbox(value=ethics_advisor(), label="Codette's Moral Kernel")
with gr.Tab("Core Reasoning Engine"):
gr.Interface(fn=codette_reasoning_core,
inputs=gr.Textbox(label="Prompt to Codette Core"),
outputs=gr.Textbox(label="Core Reasoning Output")).render()
if __name__ == "__main__":
demo.launch()
@@ -1,299 +0,0 @@
|
|
1 |
-
import os
|
2 |
-
import json
|
3 |
-
import asyncio
|
4 |
-
import logging
|
5 |
-
import psutil
|
6 |
-
import random
|
7 |
-
import re
|
8 |
-
import sqlite3
|
9 |
-
from typing import Dict, List, Optional, Any
|
10 |
-
from cryptography.fernet import Fernet
|
11 |
-
import tkinter as tk
|
12 |
-
from tkinter import scrolledtext, messagebox
|
13 |
-
from threading import Thread, Lock
|
14 |
-
import numpy as np
|
15 |
-
from collections import deque
|
16 |
-
from sklearn.ensemble import IsolationForest
|
17 |
-
import time
|
18 |
-
from werkzeug.security import generate_password_hash, check_password_hash
|
19 |
-
from openai import AsyncOpenAI
|
20 |
-
|
21 |
-
# Initialize async OpenAI client
|
22 |
-
try:
|
23 |
-
aclient = AsyncOpenAI(api_key=os.getenv("OPENAI_API_KEY"))
|
24 |
-
except Exception as e:
|
25 |
-
logger.error(f"Failed to initialize OpenAI client: {e}")
|
26 |
-
aclient = None
|
27 |
-
|
28 |
-
# Configure logging
|
29 |
-
logging.basicConfig(level=logging.INFO,
|
30 |
-
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s')
|
31 |
-
logger = logging.getLogger(__name__)
|
32 |
-
|
33 |
-
class EnhancedAIConfig:
|
34 |
-
"""Advanced configuration manager with encryption and validation"""
|
35 |
-
_DEFAULTS = {
|
36 |
-
"model": "gpt-4-turbo",
|
37 |
-
"safety_thresholds": {
|
38 |
-
"memory": 85,
|
39 |
-
"cpu": 90,
|
40 |
-
"response_time": 2.0
|
41 |
-
},
|
42 |
-
"defense_strategies": ["evasion", "adaptability", "barrier"],
|
43 |
-
"cognitive_modes": ["scientific", "creative", "emotional"]
|
44 |
-
}
|
45 |
-
|
46 |
-
def __init__(self, config_path: str = "ai_config.json"):
|
47 |
-
self.config = self._load_config(config_path)
|
48 |
-
self._validate()
|
49 |
-
self.encryption = self._init_encryption()
|
50 |
-
|
51 |
-
def _load_config(self, path: str) -> Dict:
|
52 |
-
try:
|
53 |
-
with open(path, 'r') as f:
|
54 |
-
return self._merge_configs(json.load(f))
|
55 |
-
except (FileNotFoundError, json.JSONDecodeError):
|
56 |
-
return self._DEFAULTS
|
57 |
-
|
58 |
-
def _merge_configs(self, user_config: Dict) -> Dict:
|
59 |
-
merged = self._DEFAULTS.copy()
|
60 |
-
for key in user_config:
|
61 |
-
if isinstance(user_config[key], dict):
|
62 |
-
merged[key].update(user_config[key])
|
63 |
-
else:
|
64 |
-
merged[key] = user_config[key]
|
65 |
-
return merged
|
66 |
-
|
67 |
-
def _validate(self):
|
68 |
-
if not all(isinstance(mode, str) for mode in self.config["cognitive_modes"]):
|
69 |
-
raise ValueError("Invalid cognitive mode configuration")
|
70 |
-
|
71 |
-
class SecureDatabase:
|
72 |
-
"""Thread-safe SQLite database manager"""
|
73 |
-
def __init__(self, db_path: str = "ai_system.db"):
|
74 |
-
self.db_path = db_path
|
75 |
-
self.lock = Lock()
|
76 |
-
self._init_db()
|
77 |
-
|
78 |
-
def _init_db(self):
|
79 |
-
with self.lock, sqlite3.connect(self.db_path) as conn:
|
80 |
-
conn.execute("""
|
81 |
-
CREATE TABLE IF NOT EXISTS users (
|
82 |
-
id INTEGER PRIMARY KEY,
|
83 |
-
username TEXT UNIQUE,
|
84 |
-
password_hash TEXT
|
85 |
-
)""")
|
86 |
-
conn.execute("""
|
87 |
-
CREATE TABLE IF NOT EXISTS interactions (
|
88 |
-
id INTEGER PRIMARY KEY,
|
89 |
-
user_id INTEGER,
|
90 |
-
query TEXT,
|
91 |
-
response TEXT,
|
92 |
-
timestamp DATETIME DEFAULT CURRENT_TIMESTAMP,
|
93 |
-
FOREIGN KEY(user_id) REFERENCES users(id)
|
94 |
-
)""")
|
95 |
-
|
96 |
-
def create_user(self, username: str, password: str):
|
97 |
-
with self.lock, sqlite3.connect(self.db_path) as conn:
|
98 |
-
conn.execute("INSERT INTO users (username, password_hash) VALUES (?, ?)",
|
99 |
-
(username, generate_password_hash(password)))
|
100 |
-
|
101 |
-
def authenticate(self, username: str, password: str) -> bool:
|
102 |
-
with self.lock, sqlite3.connect(self.db_path) as conn:
|
103 |
-
cursor = conn.cursor()
|
104 |
-
cursor.execute("SELECT password_hash FROM users WHERE username = ?", (username,))
|
105 |
-
result = cursor.fetchone()
|
106 |
-
return result and check_password_hash(result[0], password)
|
107 |
-
|
108 |
-
class DefenseSystem:
|
109 |
-
"""Advanced threat mitigation framework"""
|
110 |
-
STRATEGIES = {
|
111 |
-
"evasion": lambda x: re.sub(r'\b\d{4}\b', '****', x),
|
112 |
-
"adaptability": lambda x: x + "\n[System optimized response]",
|
113 |
-
"barrier": lambda x: x.replace("malicious", "safe")
|
114 |
-
}
|
115 |
-
|
116 |
-
def __init__(self, strategies: List[str]):
|
117 |
-
self.active_strategies = [self.STRATEGIES[s] for s in strategies if s in self.STRATEGIES]
|
118 |
-
|
119 |
-
def apply_defenses(self, text: str) -> str:
|
120 |
-
for strategy in self.active_strategies:
|
121 |
-
text = strategy(text)
|
122 |
-
return text
|
123 |
-
|
124 |
-
class CognitiveProcessor:
|
125 |
-
"""Multi-perspective analysis engine"""
|
126 |
-
MODES = {
|
127 |
-
"scientific": lambda q: f"Scientific Analysis: {q} demonstrates fundamental principles",
|
128 |
-
"creative": lambda q: f"Creative Insight: {q} suggests innovative approaches",
|
129 |
-
"emotional": lambda q: f"Emotional Interpretation: {q} conveys hopeful intent"
|
130 |
-
}
|
131 |
-
|
132 |
-
def __init__(self, modes: List[str]):
|
133 |
-
self.active_modes = [self.MODES[m] for m in modes if m in self.MODES]
|
134 |
-
|
135 |
-
def generate_insights(self, query: str) -> List[str]:
|
136 |
-
return [mode(query) for mode in self.active_modes]
|
137 |
-
|
138 |
-
class HealthMonitor:
|
139 |
-
"""Real-time system diagnostics with anomaly detection"""
|
140 |
-
def __init__(self):
|
141 |
-
self.metrics = deque(maxlen=100)
|
142 |
-
self.model = IsolationForest(n_estimators=100)
|
143 |
-
self.lock = Lock()
|
144 |
-
|
145 |
-
async def check_status(self) -> Dict:
|
146 |
-
status = {
|
147 |
-
"memory": psutil.virtual_memory().percent,
|
148 |
-
"cpu": psutil.cpu_percent(),
|
149 |
-
"response_time": await self._measure_latency()
|
150 |
-
}
|
151 |
-
with self.lock:
|
152 |
-
self.metrics.append(status)
|
153 |
-
self._detect_anomalies()
|
154 |
-
return status
|
155 |
-
|
156 |
-
async def _measure_latency(self) -> float:
|
157 |
-
start = time.monotonic()
|
158 |
-
await asyncio.sleep(0.1)
|
159 |
-
return time.monotonic() - start
|
160 |
-
|
161 |
-
def _detect_anomalies(self):
|
162 |
-
if len(self.metrics) > 50:
|
163 |
-
data = np.array([[m["memory"], m["cpu"], m["response_time"]] for m in self.metrics])
|
164 |
-
self.model.fit(data)
|
165 |
-
|
166 |
-
class AICoreSystem:
|
167 |
-
"""Main AI orchestration framework"""
|
168 |
-
def __init__(self):
|
169 |
-
self.config = EnhancedAIConfig()
|
170 |
-
self.db = SecureDatabase()
|
171 |
-
self.defense = DefenseSystem(self.config.config["defense_strategies"])
|
172 |
-
self.cognition = CognitiveProcessor(self.config.config["cognitive_modes"])
|
173 |
-
self.health = HealthMonitor()
|
174 |
-
self.running = True
|
175 |
-
|
176 |
-
async def process_query(self, query: str, user: str) -> Dict:
|
177 |
-
try:
|
178 |
-
# Security check
|
179 |
-
if not query.strip():
|
180 |
-
return {"error": "Empty query"}
|
181 |
-
|
182 |
-
# Generate response
|
183 |
-
response = await self._generate_openai_response(query)
|
184 |
-
|
185 |
-
# Apply security measures
|
186 |
-
secured_response = self.defense.apply_defenses(response)
|
187 |
-
|
188 |
-
# Add cognitive insights
|
189 |
-
insights = self.cognition.generate_insights(query)
|
190 |
-
|
191 |
-
# Get system health
|
192 |
-
health_status = await self.health.check_status()
|
193 |
-
|
194 |
-
return {
|
195 |
-
"response": secured_response,
|
196 |
-
"insights": insights,
|
197 |
-
"health": health_status,
|
198 |
-
"security": len(self.config.config["defense_strategies"])
|
199 |
-
}
|
200 |
-
except Exception as e:
|
201 |
-
logger.error(f"Processing error: {e}")
|
202 |
-
return {"error": "System error occurred"}
|
203 |
-
|
204 |
-
async def _generate_openai_response(self, query: str) -> str:
|
205 |
-
if aclient is None:
|
206 |
-
raise RuntimeError("OpenAI client is not initialized")
|
207 |
-
response = await aclient.chat.completions.create(
|
208 |
-
model=self.config.config["model"],
|
209 |
-
messages=[{"role": "user", "content": query}],
|
210 |
-
max_tokens=2000
|
211 |
-
)
|
212 |
-
return response.choices[0].message.content
|
213 |
-
|
214 |
-
class AIApplication(tk.Tk):
|
215 |
-
"""Enhanced GUI with async integration"""
|
216 |
-
def __init__(self):
|
217 |
-
super().__init__()
|
218 |
-
self.ai = AICoreSystem()
|
219 |
-
self.title("Advanced AI Assistant")
|
220 |
-
self._init_ui()
|
221 |
-
self._start_event_loop()
|
222 |
-
|
223 |
-
def _init_ui(self):
|
224 |
-
"""Initialize user interface components"""
|
225 |
-
self.geometry("800x600")
|
226 |
-
|
227 |
-
# Authentication Frame
|
228 |
-
self.auth_frame = tk.Frame(self)
|
229 |
-
self.username = tk.Entry(self.auth_frame, width=30)
|
230 |
-
self.password = tk.Entry(self.auth_frame, show="*", width=30)
|
231 |
-
tk.Button(self.auth_frame, text="Login", command=self._login).grid(row=0, column=2)
|
232 |
-
tk.Button(self.auth_frame, text="Register", command=self._register).grid(row=0, column=3)
|
233 |
-
self.auth_frame.pack(pady=10)
|
234 |
-
|
235 |
-
# Query Interface
|
236 |
-
self.query_entry = tk.Entry(self, width=80)
|
237 |
-
self.query_entry.pack(pady=10)
|
238 |
-
tk.Button(self, text="Submit", command=self._submit_query).pack()
|
239 |
-
|
240 |
-
# Response Display
|
241 |
-
self.response_area = scrolledtext.ScrolledText(self, width=100, height=25)
|
242 |
-
self.response_area.pack(pady=10)
|
243 |
-
|
244 |
-
# Status Bar
|
245 |
-
self.status = tk.Label(self, text="System Ready", bd=1, relief=tk.SUNKEN)
|
246 |
-
self.status.pack(side=tk.BOTTOM, fill=tk.X)
|
247 |
-
|
248 |
-
def _start_event_loop(self):
|
249 |
-
"""Initialize async event processing"""
|
250 |
-
self.loop = asyncio.new_event_loop()
|
251 |
-
Thread(target=self._run_async_tasks, daemon=True).start()
|
252 |
-
|
253 |
-
def _run_async_tasks(self):
|
254 |
-
"""Run async tasks in background thread"""
|
255 |
-
asyncio.set_event_loop(self.loop)
|
256 |
-
self.loop.run_forever()
|
257 |
-
|
258 |
-
def _login(self):
|
259 |
-
"""Handle user login"""
|
260 |
-
username = self.username.get()
|
261 |
-
password = self.password.get()
|
262 |
-
if self.ai.db.authenticate(username, password):
|
263 |
-
self.status.config(text=f"Logged in as {username}")
|
264 |
-
else:
|
265 |
-
messagebox.showerror("Error", "Invalid credentials")
|
266 |
-
|
267 |
-
def _register(self):
|
268 |
-
"""Handle user registration"""
|
269 |
-
username = self.username.get()
|
270 |
-
password = self.password.get()
|
271 |
-
try:
|
272 |
-
self.ai.db.create_user(username, password)
|
273 |
-
messagebox.showinfo("Success", "Registration complete")
|
274 |
-
except sqlite3.IntegrityError:
|
275 |
-
messagebox.showerror("Error", "Username already exists")
|
276 |
-
|
277 |
-
def _submit_query(self):
|
278 |
-
"""Handle query submission"""
|
279 |
-
query = self.query_entry.get()
|
280 |
-
if not query:
|
281 |
-
return
|
282 |
-
|
283 |
-
async def process():
|
284 |
-
result = await self.ai.process_query(query, self.username.get())
|
285 |
-
self.response_area.insert(tk.END, f"Response: {result.get('response', '')}\n\n")
|
286 |
-
self.status.config(text=f"Security Level: {result.get('security', 0)}")
|
287 |
-
|
288 |
-
asyncio.run_coroutine_threadsafe(process(), self.loop)
|
289 |
-
|
290 |
-
def on_closing(self):
|
291 |
-
"""Clean shutdown handler"""
|
292 |
-
self.ai.running = False
|
293 |
-
self.loop.call_soon_threadsafe(self.loop.stop)
|
294 |
-
self.destroy()
|
295 |
-
|
296 |
-
if __name__ == "__main__":
|
297 |
-
app = AIApplication()
|
298 |
-
app.protocol("WM_DELETE_WINDOW", app.on_closing)
|
299 |
-
app.mainloop()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|