Spaces:
Runtime error
Runtime error
| from pathlib import Path | |
| # Encrypted memory session handler template | |
| memory_isolation_code = """ | |
| # secure_memory.py | |
| from cryptography.fernet import Fernet | |
| import numpy as np | |
| import base64 | |
| class SecureMemorySession: | |
| def __init__(self, encryption_key: bytes = None): | |
| self.key = encryption_key or Fernet.generate_key() | |
| self.fernet = Fernet(self.key) | |
| self.sessions = {} | |
| def encrypt_vector(self, user_id: int, vector: np.ndarray) -> str: | |
| vector_bytes = vector.tobytes() | |
| encrypted = self.fernet.encrypt(vector_bytes) | |
| encoded = base64.b64encode(encrypted).decode('utf-8') | |
| if user_id not in self.sessions: | |
| self.sessions[user_id] = [] | |
| self.sessions[user_id].append(encoded) | |
| return encoded | |
| def decrypt_vectors(self, user_id: int) -> list: | |
| if user_id not in self.sessions: | |
| return [] | |
| decrypted_vectors = [] | |
| for encoded in self.sessions[user_id]: | |
| encrypted = base64.b64decode(encoded) | |
| decrypted = self.fernet.decrypt(encrypted) | |
| vector = np.frombuffer(decrypted, dtype=np.int64) # adjust dtype if needed | |
| decrypted_vectors.append(vector) | |
| return decrypted_vectors | |
| def get_encryption_key(self) -> bytes: | |
| return self.key | |
| """ | |
| # Save it as a Python file | |
| memory_path = Path("/mnt/data/secure_memory.py") | |
| memory_path.write_text(memory_isolation_code) | |
| memory_path |