Yermek68 commited on
Commit
0a9155d
·
verified ·
1 Parent(s): e6fa510

Create core/intelligence.py

Browse files
Files changed (1) hide show
  1. core/intelligence.py +44 -0
core/intelligence.py ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import json
2
+ import os
3
+ from datetime import datetime
4
+
5
+ # === Путь к файлу памяти ===
6
+ MEMORY_FILE = "core/memory.json"
7
+
8
+
9
+ def load_memory():
10
+ """Загружает контекст предыдущих запросов"""
11
+ if not os.path.exists(MEMORY_FILE):
12
+ return []
13
+ try:
14
+ with open(MEMORY_FILE, "r", encoding="utf-8") as f:
15
+ return json.load(f)
16
+ except Exception:
17
+ return []
18
+
19
+
20
+ def save_memory(memory):
21
+ """Сохраняет обновлённую память"""
22
+ os.makedirs(os.path.dirname(MEMORY_FILE), exist_ok=True)
23
+ with open(MEMORY_FILE, "w", encoding="utf-8") as f:
24
+ json.dump(memory[-10:], f, ensure_ascii=False, indent=2) # храним только последние 10
25
+
26
+
27
+ def update_memory(prompt, response):
28
+ """Добавляет новый элемент в память"""
29
+ memory = load_memory()
30
+ memory.append({
31
+ "time": datetime.now().strftime("%Y-%m-%d %H:%M:%S"),
32
+ "prompt": prompt,
33
+ "response": response[:300] # короткий обзор ответа
34
+ })
35
+ save_memory(memory)
36
+
37
+
38
+ def summarize_context():
39
+ """Суммирует контекст (чтобы понять, о чём была беседа)"""
40
+ memory = load_memory()
41
+ if not memory:
42
+ return "Нет контекста"
43
+ topics = [m["prompt"] for m in memory[-5:]]
44
+ return "Контекст беседы: " + "; ".join(topics)