mirror of https://github.com/Mai-with-u/MaiBot.git
34 lines
1.4 KiB
Python
34 lines
1.4 KiB
Python
from dataclasses import dataclass
|
|
from typing import List
|
|
|
|
@dataclass
|
|
class MemoryConfig:
|
|
"""记忆系统配置类"""
|
|
# 记忆构建相关配置
|
|
memory_build_distribution: List[float] # 记忆构建的时间分布参数
|
|
build_memory_sample_num: int # 每次构建记忆的样本数量
|
|
build_memory_sample_length: int # 每个样本的消息长度
|
|
memory_compress_rate: float # 记忆压缩率
|
|
|
|
# 记忆遗忘相关配置
|
|
memory_forget_time: int # 记忆遗忘时间(小时)
|
|
|
|
# 记忆过滤相关配置
|
|
memory_ban_words: List[str] # 记忆过滤词列表
|
|
|
|
llm_topic_judge: str # 话题判断模型
|
|
llm_summary_by_topic: str # 话题总结模型
|
|
|
|
@classmethod
|
|
def from_global_config(cls, global_config):
|
|
"""从全局配置创建记忆系统配置"""
|
|
return cls(
|
|
memory_build_distribution=global_config.memory_build_distribution,
|
|
build_memory_sample_num=global_config.build_memory_sample_num,
|
|
build_memory_sample_length=global_config.build_memory_sample_length,
|
|
memory_compress_rate=global_config.memory_compress_rate,
|
|
memory_forget_time=global_config.memory_forget_time,
|
|
memory_ban_words=global_config.memory_ban_words,
|
|
llm_topic_judge=global_config.topic_judge_model,
|
|
llm_summary_by_topic=global_config.summary_by_topic_model
|
|
) |