Spaces:
Sleeping
Sleeping
File size: 1,379 Bytes
c497be7 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | # long_term_memory.py - Persistent Code Memory
import json
import hashlib
from datetime import datetime
class LongTermMemory:
def __init__(self, file_path="code_memory.json"):
self.file_path = file_path
self.memory = self.load_memory()
def load_memory(self):
try:
with open(self.file_path, 'r') as f:
return json.load(f)
except FileNotFoundError:
return {"code_snippets": [], "patterns": []}
def save_memory(self):
with open(self.file_path, 'w') as f:
json.dump(self.memory, f, indent=2)
def add_code_snippet(self, code, description, language="python"):
snippet_id = hashlib.md5(code.encode()).hexdigest()[:10]
snippet = {
"id": snippet_id,
"code": code,
"description": description,
"language": language,
"timestamp": datetime.now().isoformat()
}
self.memory["code_snippets"].append(snippet)
self.save_memory()
return snippet_id
def find_similar_code(self, query):
# Simple keyword matching (can be enhanced with embeddings)
results = []
for snippet in self.memory["code_snippets"]:
if query.lower() in snippet["description"].lower():
results.append(snippet)
return results[:5]
|