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.parent.mkdir(parents=True, exist_ok=True) | |
memory_path.write_text(memory_isolation_code) | |
memory_path |