Spaces:
Runtime error
Runtime error
| # memory_manager.py | |
| from secure_memory import SecureMemorySession | |
| from datetime import datetime | |
| import numpy as np | |
| class MemoryFunction: | |
| def __init__(self, suppression_cycles, suppression_cost, realign_cost, stability_scores, instability_cost): | |
| self.suppression_cycles = suppression_cycles | |
| self.suppression_cost = suppression_cost | |
| self.realign_cost = realign_cost | |
| self.stability_scores = stability_scores | |
| self.instability_cost = instability_cost | |
| self.event_log = [] | |
| def log_event(self, action, details): | |
| timestamp = datetime.now().isoformat() | |
| self.event_log.append(f"[{timestamp}] {action}: {details}") | |
| def calculate_total_suppression_cost(self): | |
| cost = self.suppression_cycles * self.suppression_cost | |
| self.log_event("Suppression Cost", cost) | |
| return cost | |
| def calculate_total_realign_cost(self): | |
| cost = self.realign_cost * len(self.stability_scores) | |
| self.log_event("Realign Cost", cost) | |
| return cost | |
| def calculate_total_instability_cost(self): | |
| avg_stability = sum(self.stability_scores) / len(self.stability_scores) | |
| instability = self.instability_cost * (1 - avg_stability) | |
| self.log_event("Instability Cost", instability) | |
| return instability | |
| def calculate_total_memory_management_cost(self): | |
| total = ( | |
| self.calculate_total_suppression_cost() + | |
| self.calculate_total_realign_cost() + | |
| self.calculate_total_instability_cost() | |
| ) | |
| self.log_event("Total Memory Cost", total) | |
| return total | |
| def adaptive_suppression(self, model_performance, data_relevance, threshold=0.8): | |
| if model_performance < threshold and data_relevance < threshold: | |
| self.suppression_cycles += 1 | |
| self.log_event("Adaptive Suppression", f"β to {self.suppression_cycles}") | |
| else: | |
| self.suppression_cycles = max(0, self.suppression_cycles - 1) | |
| self.log_event("Adaptive Suppression", f"β to {self.suppression_cycles}") | |
| def automated_realign(self, threshold=0.85): | |
| for i in range(len(self.stability_scores)): | |
| if self.stability_scores[i] < threshold: | |
| self.stability_scores[i] = min(1.0, self.stability_scores[i] + 0.05) | |
| self.log_event("Automated Realign", self.stability_scores) | |
| def check_memory_health(self): | |
| avg = sum(self.stability_scores) / len(self.stability_scores) | |
| if avg < 0.7: | |
| warning = "β οΈ Memory integrity deteriorating." | |
| self.log_event("Health Warning", warning) | |
| return warning | |
| return "Memory stable." | |
| def summary(self): | |
| return { | |
| "suppression_cycles": self.suppression_cycles, | |
| "stability_scores": self.stability_scores, | |
| "total_cost": self.calculate_total_memory_management_cost(), | |
| "health_status": self.check_memory_health(), | |
| "log": self.event_log[-5:] | |
| } | |
| class MemoryManager: | |
| def __init__(self, memory_function: MemoryFunction = None, session: SecureMemorySession = None): | |
| self.memory_function = memory_function or MemoryFunction( | |
| suppression_cycles=0, | |
| suppression_cost=10.0, | |
| realign_cost=5.0, | |
| stability_scores=[1.0], | |
| instability_cost=20.0 | |
| ) | |
| self.session = session or SecureMemorySession() | |
| def store_vector(self, user_id: int, vector: np.ndarray): | |
| self.memory_function.suppression_cycles += 1 | |
| return self.session.encrypt_vector(user_id, vector) | |
| def retrieve_vectors(self, user_id: int): | |
| vectors = self.session.decrypt_vectors(user_id) | |
| if vectors: | |
| stabilities = np.clip([np.mean(v) / 100.0 for v in vectors], 0.0, 1.0) | |
| self.memory_function.stability_scores = stabilities.tolist() | |
| self.memory_function.automated_realign() | |
| return vectors | |
| def get_memory_report(self): | |
| return self.memory_function.summary() |