Spaces:
Runtime error
Runtime error
File size: 1,450 Bytes
0a9155d |
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 43 44 45 |
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)
|