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()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|