chore(deps): 移除未使用的 ModelTaskConfig 导入

从 cache_manager.py 文件中删除了对 `src.config.api_ada_configs` 中 `ModelTaskConfig` 的导入,因为它在该文件中并未被使用。

添加了记忆系统的大饼

Co-authored-by: 雅诺狐 <foxcyber907@users.noreply.github.com>
This commit is contained in:
minecraft1024a
2025-08-18 11:54:00 +08:00
parent 51c0d2a1e8
commit c47d666d07
2 changed files with 66 additions and 1 deletions

View File

@@ -0,0 +1,66 @@
# 全新三层记忆系统架构 (V2.0) 设计文档
## 1. 核心思想
本架构旨在建立一个清晰、有序的信息处理流水线,模拟人类记忆从瞬时感知到长期知识沉淀的过程。信息将经历**短期记忆 (STM)**、**中期记忆 (MTM)** 和 **长期记忆 (LTM)** 三个阶段,实现从海量、零散到结构化、深刻的转化。
## 2. 架构分层详解
### 2.1. 短期记忆 (STM - Short-Term Memory) - “消息缓冲区”
* **职责**: 捕获并暂存所有进入核心的最新消息,为即时对话提供上下文,实现快速响应。
* **实现方式**:
* **内存队列**: 采用定长的内存队列(如 `collections.deque`),存储最近的 N 条原始消息(建议初始值为 200
* **实时向量化**: 消息入队时,异步进行文本内容的语义向量化,生成“意义指纹”。
* **快速检索**: 利用高效的向量相似度计算库(如 FAISS, Annoy在新消息到来时快速从队列中检索最相关的历史消息构建即时上下文。
* **触发机制**: 当队列达到容量上限时,将最老的一批消息(例如前 50 条)打包,移交给中期记忆模块处理。
### 2.2. 中期记忆 (MTM - Mid-Term Memory) - “记忆压缩器”
* **职责**: 对来自短期记忆的大量零散信息进行压缩、总结,形成结构化的“记忆片段”。
* **实现方式**:
* **LLM 总结**: 调用大语言模型LLM对 STM 移交的消息包进行深度分析和总结提炼成一段精简的“记忆陈述”Memory Statement
* **信息结构化**: 每个记忆片段都将包含以下元数据:
* `memory_text`: 记忆陈述本身。
* `keywords`: 关联的关键词列表。
* `time_range`: 记忆所涉及的时间范围。
* `importance_score`: LLM 评估的重要性评分。
* `access_count`: 访问计数器,初始为 0。
* **持久化存储**: 将结构化的记忆片段存储在数据库中,可复用或改造现有 `Memory` 表。
* **触发机制**: 由 STM 的队列溢出事件触发。
### 2.3. 长期记忆 (LTM - Long-Term Memory) - “知识图谱”
* **职责**: 将经过验证的、具有高价值的中期记忆,内化为系统核心知识的一部分,构建深层联系。
* **实现方式**:
* **晋升机制**: 通过一个定期的“记忆整理”任务,扫描中期记忆数据库。当某个记忆片段的 `access_count` 达到预设阈值(例如 10 次),则触发晋升。
* **融入图谱**: 晋升的记忆片段将被送往 `Hippocampus` 模块。`Hippocampus` 将不再直接处理原始聊天记录,而是处理这些高质量、经过预处理的记忆片段。它会从中提取核心概念(节点)和它们之间的关系(边),然后将这些信息融入并更新现有的知识图谱。
* **触发机制**: 由定时任务(例如每天执行一次)触发。
## 3. 信息处理流程
```mermaid
graph TD
A[输入: 新消息] --> B{短期记忆 STM};
B --> |实时向量检索| C[输出: 对话上下文];
B --> |队列满| D{中期记忆 MTM};
D --> |LLM 总结| E[存入数据库: 记忆片段];
E --> |关键词/时间检索| C;
E --> |访问次数高| F{长期记忆 LTM};
F --> |LLM 提取概念/关系| G[更新: 知识图谱];
G --> |图谱扩散激活检索| C;
subgraph "内存中 (高速)"
B
end
subgraph "数据库中 (持久化)"
E
G
end
```
## 4. 现有模块改造计划
* **`InstantMemory`**: 将被新的 **STM****MTM** 模块取代。其原有的“判断是否需要记忆”和“总结”的功能,将融入到 MTM 的处理流程中。
* **`Hippocampus`**: 将保留其作为 **LTM** 的核心地位,但其输入源将从“随机抽样的历史聊天记录”变更为“从 MTM 晋升的高价值记忆片段”。这将极大提升其构建知识图谱的效率和质量。

View File

@@ -9,7 +9,6 @@ import faiss
from typing import Any, Dict, Optional
from src.common.logger import get_logger
from src.llm_models.utils_model import LLMRequest
from src.config.api_ada_configs import ModelTaskConfig
from src.config.config import global_config, model_config
logger = get_logger("cache_manager")