mirror of https://github.com/Mai-with-u/MaiBot.git
完成回复概率增强器实现逻辑
parent
7917191101
commit
ad770cec84
|
|
@ -82,12 +82,12 @@ class BotConfig:
|
||||||
chinese_typo_word_replace_rate: float = 0.02 # 整词替换概率
|
chinese_typo_word_replace_rate: float = 0.02 # 整词替换概率
|
||||||
|
|
||||||
reply_possibility_enhance_enable: bool = True # 是否启用回复可能性增强
|
reply_possibility_enhance_enable: bool = True # 是否启用回复可能性增强
|
||||||
minumum_group_reply_possibility = 0 # 最低群组回复可能性
|
min_group_reply_possibility: float = 0.0 # 最低群组回复可能性
|
||||||
minumum_friend_reply_possibility = 0.5 # 最低好友回复可能性
|
min_friend_reply_possibility: float = 0.5 # 最低好友回复可能性
|
||||||
max_group_reply_possibility = 1.0 # 最大回复可能性
|
max_group_reply_possibility: float = 1.0 # 最大回复可能性
|
||||||
max_friend_reply_possibility = 1.0 # 最大回复可能性
|
max_friend_reply_possibility: float = 1.0 # 最大回复可能性
|
||||||
group_reply_possibility_enhance = 0 # 群组回复可能性增强
|
group_reply_possibility_enhance: float = 0.0 # 群组回复可能性增强
|
||||||
friend_reply_possibility_enhance = 0 # 好友回复可能性增强
|
friend_reply_possibility_enhance: float = 0.0 # 好友回复可能性增强
|
||||||
|
|
||||||
# 默认人设
|
# 默认人设
|
||||||
PROMPT_PERSONALITY = [
|
PROMPT_PERSONALITY = [
|
||||||
|
|
@ -354,13 +354,13 @@ class BotConfig:
|
||||||
def reply_possibility_enhance(parent: dict):
|
def reply_possibility_enhance(parent: dict):
|
||||||
reply_possibility_enhance_config = parent["reply_possibility_enhance"]
|
reply_possibility_enhance_config = parent["reply_possibility_enhance"]
|
||||||
config.reply_possibility_enhance_enable = reply_possibility_enhance_config.get(
|
config.reply_possibility_enhance_enable = reply_possibility_enhance_config.get(
|
||||||
"enable", config.reply_possibility_enhance_config_enable
|
"enable", config.reply_possibility_enhance_enable
|
||||||
)
|
)
|
||||||
config.minumum_group_reply_possibility = reply_possibility_enhance_config.get(
|
config.min_group_reply_possibility = reply_possibility_enhance_config.get(
|
||||||
"minumum_group_reply_possibility", config.minumum_group_reply_possibility
|
"min_group_reply_possibility", config.min_group_reply_possibility
|
||||||
)
|
)
|
||||||
config.minumum_friend_reply_possibility = reply_possibility_enhance_config.get(
|
config.min_group_reply_possibility = reply_possibility_enhance_config.get(
|
||||||
"minumum_friend_reply_possibility", config.minumum_friend_reply_possibility
|
"min_group_reply_possibility", config.min_group_reply_possibility
|
||||||
)
|
)
|
||||||
config.max_group_reply_possibility = reply_possibility_enhance_config.get(
|
config.max_group_reply_possibility = reply_possibility_enhance_config.get(
|
||||||
"max_group_reply_possibility", config.max_group_reply_possibility
|
"max_group_reply_possibility", config.max_group_reply_possibility
|
||||||
|
|
|
||||||
|
|
@ -70,6 +70,24 @@ class WillingManager:
|
||||||
|
|
||||||
reply_probability = max((current_willing - 0.45) * 2, 0)
|
reply_probability = max((current_willing - 0.45) * 2, 0)
|
||||||
|
|
||||||
|
# 回复意愿增强器
|
||||||
|
if global_config.reply_possibility_enhance_enable:
|
||||||
|
logger.debug("回复意愿增强器激活")
|
||||||
|
# 群聊
|
||||||
|
if chat_stream.group_info and chat_stream.group_info.group_id:
|
||||||
|
reply_probability += global_config.group_reply_possibility_enhance
|
||||||
|
reply_probability = min(reply_probability, global_config.max_group_reply_possibility)
|
||||||
|
reply_probability = max(reply_probability, global_config.min_group_reply_possibility)
|
||||||
|
logger.debug(f"群聊回复意愿增强: {reply_probability}")
|
||||||
|
|
||||||
|
# 私聊
|
||||||
|
else:
|
||||||
|
reply_probability += global_config.friend_reply_possibility_enhance
|
||||||
|
reply_probability = min(reply_probability, global_config.max_friend_reply_possibility)
|
||||||
|
reply_probability = max(reply_probability, global_config.min_friend_reply_possibility)
|
||||||
|
logger.debug(f"私聊回复意愿增强: {reply_probability}")
|
||||||
|
|
||||||
|
|
||||||
# 检查群组权限(如果是群聊)
|
# 检查群组权限(如果是群聊)
|
||||||
if chat_stream.group_info:
|
if chat_stream.group_info:
|
||||||
if chat_stream.group_info.group_id in config.talk_frequency_down_groups:
|
if chat_stream.group_info.group_id in config.talk_frequency_down_groups:
|
||||||
|
|
|
||||||
|
|
@ -109,9 +109,10 @@ enable_debug_output = false # 是否启用调试输出
|
||||||
enable_friend_chat = false # 是否启用好友聊天
|
enable_friend_chat = false # 是否启用好友聊天
|
||||||
|
|
||||||
[reply_possibility_enhance]
|
[reply_possibility_enhance]
|
||||||
|
# 若果开启此项,最终回复概率=原始回复概率+回复可能性增强,并被限制在max和min之间
|
||||||
enable = true # 是否启用回复可能性增强
|
enable = true # 是否启用回复可能性增强
|
||||||
minumum_group_reply_possibility = 0 # 最低群组回复可能性
|
min_group_reply_possibility = 0 # 最低群组回复可能性
|
||||||
minumum_friend_reply_possibility = 0.5 # 最低好友回复可能性
|
min_friend_reply_possibility = 0.5 # 最低好友回复可能性
|
||||||
max_group_reply_possibility = 1.0 # 最大回复可能性
|
max_group_reply_possibility = 1.0 # 最大回复可能性
|
||||||
max_friend_reply_possibility = 1.0 # 最大回复可能性
|
max_friend_reply_possibility = 1.0 # 最大回复可能性
|
||||||
group_reply_possibility_enhance = 0 # 群组回复可能性增强
|
group_reply_possibility_enhance = 0 # 群组回复可能性增强
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue