eroha-agentapi / core /intelligence.py
Yermek68's picture
Create core/intelligence.py
0a9155d verified
raw
history blame
1.45 kB
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)