# memory 模块说明 ## 模块作用 持久化用户反馈、用户偏好向量、Stage0 意图数据及按轮次的历史记录。通过 JSON 文件存储会话历史、用户记忆和意图记忆,供偏好学习与迭代交互使用。 ## 文件与类 | 文件 | 类 | 说明 | |------|-----|------| | store.py | MemoryStore | 统一读写 history、user_memory、intent_memory | --- ## 接口说明 ### MemoryStore(store.py) #### `__init__(path="memory/history.json", user_memory_path="memory/user_memory.json", intent_memory_path="memory/intent_memory.json")` - **传入参数**:三个 JSON 文件路径,分别对应会话历史、用户向量、意图数据。 - **传出参数**:无。 #### `load() -> Dict[str, Any]` - **传入参数**:无。 - **传出参数**:会话历史字典(含 `sessions` 等)。 #### `save(data: Dict[str, Any])` - **传入参数**:要写回的会话数据字典。 - **传出参数**:无。 #### `add_session(query, params, patterns, feedback)` - **传入参数**:`query` 查询文本,`params` 挖掘参数,`patterns` 模式列表,`feedback` 反馈字典(如 like/dislike 列表)。 - **传出参数**:无。 #### `get_all_sessions() -> List[Dict[str, Any]]` - **传入参数**:无。 - **传出参数**:所有会话列表。 #### `add_positive(user_id: str, vector: np.ndarray)` / `add_negative(user_id: str, vector: np.ndarray)` - **传入参数**:`user_id` 用户 ID,`vector` 模式嵌入向量。 - **传出参数**:无。 #### `get_user_profile(user_id: str) -> Optional[Dict[str, Any]]` - **传入参数**:`user_id`。 - **传出参数**:该用户的 profile(含 positive、negative 等),不存在为 `None`。 #### `save_preference_features(user_id, liked=None, disliked=None)` - **传入参数**:`user_id`;`liked`、`disliked` 为喜欢的/不喜欢的特征名列表(用于偏好加权)。 - **传出参数**:无。 #### `get_preference_features(user_id: str) -> Optional[Dict[str, List[str]]]` - **传入参数**:`user_id`。 - **传出参数**:`{"like": [...], "dislike": [...]}` 或 `None`。 #### `save_intent(user_id: str, u_llm: np.ndarray, intent_json: Dict[str, Any])` - **传入参数**:`user_id`;`u_llm` 初始用户向量;`intent_json` Stage0 意图字典。 - **传出参数**:无。 #### `load_intent(user_id: str) -> Optional[Dict[str, Any]]` - **传入参数**:`user_id`。 - **传出参数**:意图数据(含 `u_llm`、`intent` 等),不存在为 `None`。 #### `get_round_history(user_id: str) -> List[Dict[str, Any]]` - **传入参数**:`user_id`。 - **传出参数**:该用户按轮次的迭代历史列表。