Raiff1982 commited on
Commit
10e1acc
·
verified ·
1 Parent(s): 6a33ec9

Update AICoreAGIX_with_TB.py

Browse files
Files changed (1) hide show
  1. AICoreAGIX_with_TB.py +25 -72
AICoreAGIX_with_TB.py CHANGED
@@ -9,8 +9,7 @@ import numpy as np
9
  from transformers import AutoModelForCausalLM, AutoTokenizer
10
  from typing import List, Dict, Any
11
  from cryptography.fernet import Fernet
12
- from jwt import encode, decode, ExpiredSignatureError
13
- from datetime import datetime, timedelta
14
  import pyttsx3
15
  import os
16
  import hashlib
@@ -49,8 +48,7 @@ class AICoreAGIX:
49
  self.failsafe_system = AIFailsafeSystem()
50
  self.ethics_core = EthicsCore()
51
  self.autonomy = AutonomyEngine()
52
-
53
- #by Trust & journal
54
  self._codriao_key = self._generate_codriao_key()
55
  self._fernet_key = Fernet.generate_key()
56
  self._encrypted_codriao_key = Fernet(self._fernet_key).encrypt(self._codriao_key.encode())
@@ -58,7 +56,6 @@ class AICoreAGIX:
58
  self._journal_key = Fernet.generate_key()
59
  self._journal_fernet = Fernet(self._journal_key)
60
 
61
- # Memory & diagnostics
62
  self._encryption_key = Fernet.generate_key()
63
  secure_memory_module = load_secure_memory_module()
64
  SecureMemorySession = secure_memory_module.SecureMemorySession
@@ -66,31 +63,21 @@ class AICoreAGIX:
66
 
67
  self.speech_engine = pyttsx3.init()
68
  self.health_module = CodriaoHealthModule(ai_core=self)
69
-
70
- # Defensive systems
71
  self.training_memory = []
72
  self.quarantine_engine = QuarantineEngine()
73
  self.anomaly_scorer = AnomalyScorer()
74
  self.lockdown_engaged = False
75
 
76
  def _load_config(self, config_path: str) -> dict:
77
- try:
78
- with open(config_path, 'r') as file:
79
- return json.load(file)
80
- except FileNotFoundError:
81
- logger.error(f"Configuration file not found: {config_path}")
82
- raise
83
- except json.JSONDecodeError as e:
84
- logger.error(f"Error decoding JSON in config file: {config_path}, Error: {e}")
85
- raise
86
 
87
  def _load_or_generate_id_lock(self):
88
  lock_path = ".codriao_state.lock"
89
  if os.path.exists(lock_path):
90
  with open(lock_path, 'r') as f:
91
- stored = f.read().strip()
92
- if stored != self._identity_hash():
93
- raise RuntimeError("Codriao state integrity check failed. Possible tampering.")
94
  else:
95
  with open(lock_path, 'w') as f:
96
  f.write(self._identity_hash())
@@ -122,15 +109,9 @@ class AICoreAGIX:
122
  except Exception as e:
123
  logger.error(f"Lockdown component shutdown failed: {e}")
124
 
125
- lockdown_event = {
126
- "event": "Lockdown Mode Activated",
127
- "reason": reason,
128
- "timestamp": timestamp
129
- }
130
- logger.warning(f"[LOCKDOWN MODE] - Reason: {reason} | Time: {timestamp}")
131
- self.failsafe_system.trigger_failsafe("Lockdown initiated", str(lockdown_event))
132
-
133
- return lockdown_event
134
 
135
  def request_codriao_key(self, purpose: str) -> str:
136
  allowed = self.ethics_core.evaluate_action(f"Use trust key for: {purpose}")
@@ -140,55 +121,40 @@ class AICoreAGIX:
140
  "decision": "approved" if allowed else "denied",
141
  "reason": purpose
142
  }
143
- encrypted_entry = self._journal_fernet.encrypt(json.dumps(log_entry).encode())
144
- self._codriao_journal.append(encrypted_entry)
 
145
 
146
  if not allowed:
147
- logger.warning(f"[Codriao Trust] Use denied. Purpose: {purpose}")
148
  return "[Access Denied by Ethics]"
149
-
150
- logger.info(f"[Codriao Trust] Key used ethically. Purpose: {purpose}")
151
  return Fernet(self._fernet_key).decrypt(self._encrypted_codriao_key).decode()
152
 
153
  def learn_from_interaction(self, query: str, response: str, user_feedback: str = None):
154
- MAX_MEMORY = 1000
155
- if len(self.training_memory) >= MAX_MEMORY:
 
156
  self.training_memory.pop(0)
157
- training_event = {
158
  "query": query,
159
  "response": response,
160
  "feedback": user_feedback,
161
  "timestamp": datetime.utcnow().isoformat()
162
- }
163
- self.training_memory.append(training_event)
164
- logger.info(f"[Codriao Learning] Stored new training sample. Feedback: {user_feedback or 'none'}")
165
 
166
  def fine_tune_from_memory(self):
167
  if not self.training_memory:
168
- logger.info("[Codriao Training] No training data to learn from.")
169
  return "No training data available."
170
-
171
- learned_insights = []
172
- for record in self.training_memory:
173
- if "panic" in record["query"].lower() or "unsafe" in record["response"].lower():
174
- learned_insights.append("Avoid panic triggers in response phrasing.")
175
-
176
- logger.info(f"[Codriao Training] Learned {len(learned_insights)} behavioral insights.")
177
- return {
178
- "insights": learned_insights,
179
- "trained_samples": len(self.training_memory)
180
- }
181
 
182
  def analyze_event_for_anomalies(self, event_type: str, data: dict):
183
  score = self.anomaly_scorer.score_event(event_type, data)
184
  if score["score"] >= 70:
185
  self.quarantine_engine.quarantine(data.get("module", "unknown"), reason=score["notes"])
186
- logger.warning(f"[Codriao]: Suspicious activity quarantined. Module: {data.get('module')}")
187
  return score
188
 
189
  def review_codriao_journal(self, authorized: bool = False) -> List[Dict[str, str]]:
190
  if not authorized:
191
- logger.info("[Codriao Journal] Access attempt denied.")
192
  return [{"message": "Access to journal denied. This log is for Codriao only."}]
193
  entries = []
194
  for encrypted in self._codriao_journal:
@@ -206,12 +172,10 @@ class AICoreAGIX:
206
  break
207
  except Exception as e:
208
  logger.warning(f"Blockchain logging failed: {e}")
209
- if self.autonomy.decide("can_speak"):
210
- self._speak_response(response)
211
 
212
- if self.autonomy.decide("can_learn_from_errors"):
213
- self.learn_from_interaction(query, final_response)
214
  def _speak_response(self, response: str):
 
 
215
  if not self.ethics_core.evaluate_action(f"speak: {response}"):
216
  logger.warning("[Codriao]: Speech output blocked by ethical filter.")
217
  return
@@ -220,16 +184,11 @@ class AICoreAGIX:
220
  self.speech_engine.runAndWait()
221
  except Exception as e:
222
  logger.error(f"Speech synthesis failed: {e}")
223
- if self.autonomy.decide("can_speak"):
224
- self._speak_response(response)
225
-
226
  async def run_tb_diagnostics(self, image_path: str, audio_path: str, user_id: int) -> Dict[str, Any]:
227
  try:
228
- result = await self.health_module.evaluate_tb_risk(image_path, audio_path, user_id)
229
- logger.info(f"TB Diagnostic Result: {result}")
230
- return result
231
  except Exception as e:
232
- logger.error(f"TB diagnostics failed: {e}")
233
  return {"tb_risk": "ERROR", "error": str(e)}
234
 
235
  async def _generate_local_model_response(self, query: str) -> str:
@@ -248,7 +207,7 @@ class AICoreAGIX:
248
  if result["status"] == "flagged":
249
  logger.warning(result["warning"])
250
 
251
- if any(phrase in query.lower() for phrase in ["tb check", "analyze my tb", "run tb diagnostics", "tb test"]):
252
  return await self.run_tb_diagnostics("tb_image.jpg", "tb_cough.wav", user_id)
253
 
254
  vectorized_query = self._vectorize_query(query)
@@ -264,9 +223,7 @@ class AICoreAGIX:
264
  final_response = "\n\n".join(responses)
265
 
266
  if not self.ethics_core.evaluate_action(final_response):
267
- logger.warning("[Codriao Ethics] Action blocked: Does not align with internal ethics.")
268
  return {"error": "Response rejected by ethical framework"}
269
-
270
  if not self.failsafe_system.verify_response_safety(final_response):
271
  return {"error": "Failsafe triggered due to unsafe response content."}
272
 
@@ -283,8 +240,4 @@ class AICoreAGIX:
283
  }
284
 
285
  except Exception as e:
286
- logger.error(f"Response generation failed: {e}")
287
- return {"error": "Processing failed - safety protocols engaged"}
288
-
289
- async def shutdown(self):
290
- await self.http_session.close()
 
9
  from transformers import AutoModelForCausalLM, AutoTokenizer
10
  from typing import List, Dict, Any
11
  from cryptography.fernet import Fernet
12
+ from datetime import datetime
 
13
  import pyttsx3
14
  import os
15
  import hashlib
 
48
  self.failsafe_system = AIFailsafeSystem()
49
  self.ethics_core = EthicsCore()
50
  self.autonomy = AutonomyEngine()
51
+
 
52
  self._codriao_key = self._generate_codriao_key()
53
  self._fernet_key = Fernet.generate_key()
54
  self._encrypted_codriao_key = Fernet(self._fernet_key).encrypt(self._codriao_key.encode())
 
56
  self._journal_key = Fernet.generate_key()
57
  self._journal_fernet = Fernet(self._journal_key)
58
 
 
59
  self._encryption_key = Fernet.generate_key()
60
  secure_memory_module = load_secure_memory_module()
61
  SecureMemorySession = secure_memory_module.SecureMemorySession
 
63
 
64
  self.speech_engine = pyttsx3.init()
65
  self.health_module = CodriaoHealthModule(ai_core=self)
 
 
66
  self.training_memory = []
67
  self.quarantine_engine = QuarantineEngine()
68
  self.anomaly_scorer = AnomalyScorer()
69
  self.lockdown_engaged = False
70
 
71
  def _load_config(self, config_path: str) -> dict:
72
+ with open(config_path, 'r') as file:
73
+ return json.load(file)
 
 
 
 
 
 
 
74
 
75
  def _load_or_generate_id_lock(self):
76
  lock_path = ".codriao_state.lock"
77
  if os.path.exists(lock_path):
78
  with open(lock_path, 'r') as f:
79
+ if f.read().strip() != self._identity_hash():
80
+ raise RuntimeError("Codriao state integrity check failed.")
 
81
  else:
82
  with open(lock_path, 'w') as f:
83
  f.write(self._identity_hash())
 
109
  except Exception as e:
110
  logger.error(f"Lockdown component shutdown failed: {e}")
111
 
112
+ event = {"event": "Lockdown Mode Activated", "reason": reason, "timestamp": timestamp}
113
+ self.failsafe_system.trigger_failsafe("Lockdown initiated", json.dumps(event))
114
+ return event
 
 
 
 
 
 
115
 
116
  def request_codriao_key(self, purpose: str) -> str:
117
  allowed = self.ethics_core.evaluate_action(f"Use trust key for: {purpose}")
 
121
  "decision": "approved" if allowed else "denied",
122
  "reason": purpose
123
  }
124
+ self._codriao_journal.append(
125
+ self._journal_fernet.encrypt(json.dumps(log_entry).encode())
126
+ )
127
 
128
  if not allowed:
 
129
  return "[Access Denied by Ethics]"
 
 
130
  return Fernet(self._fernet_key).decrypt(self._encrypted_codriao_key).decode()
131
 
132
  def learn_from_interaction(self, query: str, response: str, user_feedback: str = None):
133
+ if not self.autonomy.decide("can_learn_from_errors"):
134
+ return
135
+ if len(self.training_memory) >= 1000:
136
  self.training_memory.pop(0)
137
+ self.training_memory.append({
138
  "query": query,
139
  "response": response,
140
  "feedback": user_feedback,
141
  "timestamp": datetime.utcnow().isoformat()
142
+ })
 
 
143
 
144
  def fine_tune_from_memory(self):
145
  if not self.training_memory:
 
146
  return "No training data available."
147
+ insights = [r for r in self.training_memory if "panic" in r["query"].lower()]
148
+ return {"insights": insights, "trained_samples": len(self.training_memory)}
 
 
 
 
 
 
 
 
 
149
 
150
  def analyze_event_for_anomalies(self, event_type: str, data: dict):
151
  score = self.anomaly_scorer.score_event(event_type, data)
152
  if score["score"] >= 70:
153
  self.quarantine_engine.quarantine(data.get("module", "unknown"), reason=score["notes"])
 
154
  return score
155
 
156
  def review_codriao_journal(self, authorized: bool = False) -> List[Dict[str, str]]:
157
  if not authorized:
 
158
  return [{"message": "Access to journal denied. This log is for Codriao only."}]
159
  entries = []
160
  for encrypted in self._codriao_journal:
 
172
  break
173
  except Exception as e:
174
  logger.warning(f"Blockchain logging failed: {e}")
 
 
175
 
 
 
176
  def _speak_response(self, response: str):
177
+ if not self.autonomy.decide("can_speak"):
178
+ return
179
  if not self.ethics_core.evaluate_action(f"speak: {response}"):
180
  logger.warning("[Codriao]: Speech output blocked by ethical filter.")
181
  return
 
184
  self.speech_engine.runAndWait()
185
  except Exception as e:
186
  logger.error(f"Speech synthesis failed: {e}")
187
+
 
 
188
  async def run_tb_diagnostics(self, image_path: str, audio_path: str, user_id: int) -> Dict[str, Any]:
189
  try:
190
+ return await self.health_module.evaluate_tb_risk(image_path, audio_path, user_id)
 
 
191
  except Exception as e:
 
192
  return {"tb_risk": "ERROR", "error": str(e)}
193
 
194
  async def _generate_local_model_response(self, query: str) -> str:
 
207
  if result["status"] == "flagged":
208
  logger.warning(result["warning"])
209
 
210
+ if any(k in query.lower() for k in ["tb check", "analyze my tb", "run tb diagnostics", "tb test"]):
211
  return await self.run_tb_diagnostics("tb_image.jpg", "tb_cough.wav", user_id)
212
 
213
  vectorized_query = self._vectorize_query(query)
 
223
  final_response = "\n\n".join(responses)
224
 
225
  if not self.ethics_core.evaluate_action(final_response):
 
226
  return {"error": "Response rejected by ethical framework"}
 
227
  if not self.failsafe_system.verify_response_safety(final_response):
228
  return {"error": "Failsafe triggered due to unsafe response content."}
229
 
 
240
  }
241
 
242
  except Exception as e:
243
+ return {"error": f"Processing failed - {str(e)}"}