mirror of https://github.com/Mai-with-u/MaiBot.git
feat:支持多重人格和切换概率配置
parent
a92e47701e
commit
ae1f509cdb
|
|
@ -594,7 +594,18 @@ class DefaultReplyer:
|
|||
else:
|
||||
bot_nickname = ""
|
||||
|
||||
prompt_personality = f"{global_config.personality.personality};"
|
||||
# 获取基础personality
|
||||
prompt_personality = global_config.personality.personality
|
||||
|
||||
# 检查是否需要随机替换为状态
|
||||
if (global_config.personality.states and
|
||||
global_config.personality.state_probability > 0 and
|
||||
random.random() < global_config.personality.state_probability):
|
||||
# 随机选择一个状态替换personality
|
||||
selected_state = random.choice(global_config.personality.states)
|
||||
prompt_personality = selected_state
|
||||
|
||||
prompt_personality = f"{prompt_personality};"
|
||||
return f"你的名字是{bot_name}{bot_nickname},你{prompt_personality}"
|
||||
|
||||
async def build_prompt_reply_context(
|
||||
|
|
|
|||
|
|
@ -522,7 +522,18 @@ class PrivateReplyer:
|
|||
else:
|
||||
bot_nickname = ""
|
||||
|
||||
prompt_personality = f"{global_config.personality.personality};"
|
||||
# 获取基础personality
|
||||
prompt_personality = global_config.personality.personality
|
||||
|
||||
# 检查是否需要随机替换为状态
|
||||
if (global_config.personality.states and
|
||||
global_config.personality.state_probability > 0 and
|
||||
random.random() < global_config.personality.state_probability):
|
||||
# 随机选择一个状态替换personality
|
||||
selected_state = random.choice(global_config.personality.states)
|
||||
prompt_personality = selected_state
|
||||
|
||||
prompt_personality = f"{prompt_personality};"
|
||||
return f"你的名字是{bot_name}{bot_nickname},你{prompt_personality}"
|
||||
|
||||
async def build_prompt_reply_context(
|
||||
|
|
|
|||
|
|
@ -57,6 +57,12 @@ class PersonalityConfig(ConfigBase):
|
|||
private_plan_style: str = ""
|
||||
"""私聊说话规则,行为风格"""
|
||||
|
||||
states: list[str] = field(default_factory=lambda: [])
|
||||
"""状态列表,用于随机替换personality"""
|
||||
|
||||
state_probability: float = 0.0
|
||||
"""状态概率,每次构建人格时替换personality的概率"""
|
||||
|
||||
|
||||
@dataclass
|
||||
class RelationshipConfig(ConfigBase):
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
[inner]
|
||||
version = "6.19.0"
|
||||
version = "6.19.1"
|
||||
|
||||
#----以下是给开发人员阅读的,如果你只是部署了麦麦,不需要阅读----
|
||||
#如果你想要修改配置文件,请递增version的值
|
||||
|
|
@ -47,6 +47,16 @@ private_plan_style = """
|
|||
2.如果相同的内容已经被执行,请不要重复执行
|
||||
3.某句话如果已经被回复过,不要重复回复"""
|
||||
|
||||
# 状态,可以理解为人格多样性,会随机替换人格
|
||||
states = [
|
||||
"是一个女大学生,喜欢上网聊天,会刷小红书。" ,
|
||||
"是一个大二心理学生,会刷贴吧和中国知网。" ,
|
||||
"是一个赛博网友,最近很想吐槽人。"
|
||||
]
|
||||
|
||||
# 替换概率,每次构建人格时替换personality的概率(0.0-1.0)
|
||||
state_probability = 0.3
|
||||
|
||||
[expression]
|
||||
# 表达方式模式
|
||||
mode = "classic"
|
||||
|
|
|
|||
Loading…
Reference in New Issue