import json import os from datetime import datetime # === Путь к файлу памяти === MEMORY_FILE = "core/memory.json" def load_memory(): """Загружает контекст предыдущих запросов""" if not os.path.exists(MEMORY_FILE): return [] try: with open(MEMORY_FILE, "r", encoding="utf-8") as f: return json.load(f) except Exception: return [] def save_memory(memory): """Сохраняет обновлённую память""" os.makedirs(os.path.dirname(MEMORY_FILE), exist_ok=True) with open(MEMORY_FILE, "w", encoding="utf-8") as f: json.dump(memory[-10:], f, ensure_ascii=False, indent=2) # храним только последние 10 def update_memory(prompt, response): """Добавляет новый элемент в память""" memory = load_memory() memory.append({ "time": datetime.now().strftime("%Y-%m-%d %H:%M:%S"), "prompt": prompt, "response": response[:300] # короткий обзор ответа }) save_memory(memory) def summarize_context(): """Суммирует контекст (чтобы понять, о чём была беседа)""" memory = load_memory() if not memory: return "Нет контекста" topics = [m["prompt"] for m in memory[-5:]] return "Контекст беседы: " + "; ".join(topics)