mirror of https://github.com/Mai-with-u/MaiBot.git
fix: correct `save_personality_config`, rename some function name and variable name for readability
parent
5795efa593
commit
63303e068a
144
webui.py
144
webui.py
|
|
@ -235,49 +235,62 @@ def save_bot_config(t_qqbot_qq, t_nickname,t_nickname_final_result):
|
||||||
return "Bot配置已保存"
|
return "Bot配置已保存"
|
||||||
|
|
||||||
# 监听滑块的值变化,确保总和不超过 1,并显示警告
|
# 监听滑块的值变化,确保总和不超过 1,并显示警告
|
||||||
def adjust_greater_probabilities(t_personality_1, t_personality_2, t_personality_3):
|
def adjust_personality_greater_probabilities(t_personality_1_probability, t_personality_2_probability, t_personality_3_probability):
|
||||||
total = t_personality_1 + t_personality_2 + t_personality_3
|
total = t_personality_1_probability + t_personality_2_probability + t_personality_3_probability
|
||||||
if total > 1.0:
|
if total > 1.0:
|
||||||
warning_message = f"警告: 人格1、人格2和人格3的概率总和为 {total:.2f},超过了 1.0!请调整滑块使总和等于 1.0。"
|
warning_message = f"警告: 人格1、人格2和人格3的概率总和为 {total:.2f},超过了 1.0!请调整滑块使总和等于 1.0。"
|
||||||
return warning_message
|
return warning_message
|
||||||
else:
|
|
||||||
return "" # 没有警告时返回空字符串
|
return "" # 没有警告时返回空字符串
|
||||||
|
|
||||||
def adjust_less_probabilities(t_personality_1, t_personality_2, t_personality_3):
|
def adjust_personality_less_probabilities(t_personality_1_probability, t_personality_2_probability, t_personality_3_probability):
|
||||||
total = t_personality_1 + t_personality_2 + t_personality_3
|
total = t_personality_1_probability + t_personality_2_probability + t_personality_3_probability
|
||||||
if total < 1.0:
|
if total < 1.0:
|
||||||
warning_message = f"警告: 人格1、人格2和人格3的概率总和为 {total:.2f},小于 1.0!请调整滑块使总和等于 1.0。"
|
warning_message = f"警告: 人格1、人格2和人格3的概率总和为 {total:.2f},小于 1.0!请调整滑块使总和等于 1.0。"
|
||||||
return warning_message
|
return warning_message
|
||||||
else:
|
|
||||||
return "" # 没有警告时返回空字符串
|
return "" # 没有警告时返回空字符串
|
||||||
|
|
||||||
def adjust_model_greater_probabilities(t_personality_1, t_personality_2, t_personality_3):
|
def adjust_model_greater_probabilities(t_model_1_probability, t_model_2_probability, t_model_3_probability):
|
||||||
total = t_personality_1 + t_personality_2 + t_personality_3
|
total = t_model_1_probability + t_model_2_probability + t_model_3_probability
|
||||||
if total > 1.0:
|
if total > 1.0:
|
||||||
warning_message = f"警告: 选择模型1、模型2和模型3的概率总和为 {total:.2f},超过了 1.0!请调整滑块使总和等于 1.0。"
|
warning_message = f"警告: 选择模型1、模型2和模型3的概率总和为 {total:.2f},超过了 1.0!请调整滑块使总和等于 1.0。"
|
||||||
return warning_message
|
return warning_message
|
||||||
else:
|
|
||||||
return "" # 没有警告时返回空字符串
|
return "" # 没有警告时返回空字符串
|
||||||
|
|
||||||
def adjust_model_less_probabilities(t_personality_1, t_personality_2, t_personality_3):
|
def adjust_model_less_probabilities(t_model_1_probability, t_model_2_probability, t_model_3_probability):
|
||||||
total = t_personality_1 + t_personality_2 + t_personality_3
|
total = t_model_1_probability + t_model_2_probability + t_model_3_probability
|
||||||
if total > 1.0:
|
if total > 1.0:
|
||||||
warning_message = f"警告: 选择模型1、模型2和模型3的概率总和为 {total:.2f},小于了 1.0!请调整滑块使总和等于 1.0。"
|
warning_message = f"警告: 选择模型1、模型2和模型3的概率总和为 {total:.2f},小于了 1.0!请调整滑块使总和等于 1.0。"
|
||||||
return warning_message
|
return warning_message
|
||||||
else:
|
|
||||||
return "" # 没有警告时返回空字符串
|
return "" # 没有警告时返回空字符串
|
||||||
|
|
||||||
|
|
||||||
# ==============================================
|
# ==============================================
|
||||||
# 人格保存函数
|
# 人格保存函数
|
||||||
def save_personality_config(t_personality_1, t_personality_2, t_personality_3, t_prompt_schedule):
|
def save_personality_config(t_prompt_personality_1,
|
||||||
config_data["personality"]["personality_1_probability"] = t_personality_1
|
t_prompt_personality_2,
|
||||||
config_data["personality"]["personality_2_probability"] = t_personality_2
|
t_prompt_personality_3,
|
||||||
config_data["personality"]["personality_3_probability"] = t_personality_3
|
t_prompt_schedule,
|
||||||
|
t_personality_1_probability,
|
||||||
|
t_personality_2_probability,
|
||||||
|
t_personality_3_probability):
|
||||||
|
# 保存人格提示词
|
||||||
|
config_data["personality"]["prompt_personality"][0] = t_prompt_personality_1
|
||||||
|
config_data["personality"]["prompt_personality"][1] = t_prompt_personality_2
|
||||||
|
config_data["personality"]["prompt_personality"][2] = t_prompt_personality_3
|
||||||
|
|
||||||
|
# 保存日程生成提示词
|
||||||
config_data["personality"]["prompt_schedule"] = t_prompt_schedule
|
config_data["personality"]["prompt_schedule"] = t_prompt_schedule
|
||||||
|
|
||||||
|
# 保存三个人格的概率
|
||||||
|
config_data["personality"]["personality_1_probability"] = t_personality_1_probability
|
||||||
|
config_data["personality"]["personality_2_probability"] = t_personality_2_probability
|
||||||
|
config_data["personality"]["personality_3_probability"] = t_personality_3_probability
|
||||||
|
|
||||||
save_config_to_file(config_data)
|
save_config_to_file(config_data)
|
||||||
logger.info("人格配置已保存到 bot_config.toml 文件中")
|
logger.info("人格配置已保存到 bot_config.toml 文件中")
|
||||||
return "人格配置已保存"
|
return "人格配置已保存"
|
||||||
|
|
||||||
|
|
||||||
def save_message_and_emoji_config(t_min_text_length,
|
def save_message_and_emoji_config(t_min_text_length,
|
||||||
t_max_context_size,
|
t_max_context_size,
|
||||||
t_emoji_chance,
|
t_emoji_chance,
|
||||||
|
|
@ -635,38 +648,92 @@ with gr.Blocks(title="MaimBot配置文件编辑") as app:
|
||||||
with gr.Row():
|
with gr.Row():
|
||||||
prompt_personality_1 = gr.Textbox(
|
prompt_personality_1 = gr.Textbox(
|
||||||
label="人格1提示词",
|
label="人格1提示词",
|
||||||
value=config_data['personality']['prompt_personality'][0],
|
value=config_data["personality"]["prompt_personality"][0],
|
||||||
interactive=True
|
interactive=True,
|
||||||
)
|
)
|
||||||
with gr.Row():
|
with gr.Row():
|
||||||
prompt_personality_2 = gr.Textbox(
|
prompt_personality_2 = gr.Textbox(
|
||||||
label="人格2提示词",
|
label="人格2提示词",
|
||||||
value=config_data['personality']['prompt_personality'][1],
|
value=config_data["personality"]["prompt_personality"][1],
|
||||||
interactive=True
|
interactive=True,
|
||||||
)
|
)
|
||||||
with gr.Row():
|
with gr.Row():
|
||||||
prompt_personality_3 = gr.Textbox(
|
prompt_personality_3 = gr.Textbox(
|
||||||
label="人格3提示词",
|
label="人格3提示词",
|
||||||
value=config_data['personality']['prompt_personality'][2],
|
value=config_data["personality"]["prompt_personality"][2],
|
||||||
interactive=True
|
interactive=True,
|
||||||
)
|
)
|
||||||
with gr.Column(scale=3):
|
with gr.Column(scale=3):
|
||||||
# 创建三个滑块
|
# 创建三个滑块, 代表三个人格的概率
|
||||||
personality_1 = gr.Slider(minimum=0, maximum=1, step=0.01, value=config_data["personality"]["personality_1_probability"], label="人格1概率")
|
personality_1_probability = gr.Slider(
|
||||||
personality_2 = gr.Slider(minimum=0, maximum=1, step=0.01, value=config_data["personality"]["personality_2_probability"], label="人格2概率")
|
minimum=0,
|
||||||
personality_3 = gr.Slider(minimum=0, maximum=1, step=0.01, value=config_data["personality"]["personality_3_probability"], label="人格3概率")
|
maximum=1,
|
||||||
|
step=0.01,
|
||||||
|
value=config_data["personality"]["personality_1_probability"],
|
||||||
|
label="人格1概率",
|
||||||
|
)
|
||||||
|
personality_2_probability = gr.Slider(
|
||||||
|
minimum=0,
|
||||||
|
maximum=1,
|
||||||
|
step=0.01,
|
||||||
|
value=config_data["personality"]["personality_2_probability"],
|
||||||
|
label="人格2概率",
|
||||||
|
)
|
||||||
|
personality_3_probability = gr.Slider(
|
||||||
|
minimum=0,
|
||||||
|
maximum=1,
|
||||||
|
step=0.01,
|
||||||
|
value=config_data["personality"]["personality_3_probability"],
|
||||||
|
label="人格3概率",
|
||||||
|
)
|
||||||
|
|
||||||
# 用于显示警告消息
|
# 用于显示警告消息
|
||||||
warning_greater_text = gr.Markdown()
|
warning_greater_text = gr.Markdown()
|
||||||
warning_less_text = gr.Markdown()
|
warning_less_text = gr.Markdown()
|
||||||
|
|
||||||
# 绑定滑块的值变化事件,确保总和必须等于 1.0
|
# 绑定滑块的值变化事件,确保总和必须等于 1.0
|
||||||
personality_1.change(adjust_greater_probabilities, inputs=[personality_1, personality_2, personality_3], outputs=[warning_greater_text])
|
|
||||||
personality_2.change(adjust_greater_probabilities, inputs=[personality_1, personality_2, personality_3], outputs=[warning_greater_text])
|
# 输入的 3 个概率
|
||||||
personality_3.change(adjust_greater_probabilities, inputs=[personality_1, personality_2, personality_3], outputs=[warning_greater_text])
|
personality_probability_change_inputs = [
|
||||||
personality_1.change(adjust_less_probabilities, inputs=[personality_1, personality_2, personality_3], outputs=[warning_less_text])
|
personality_1_probability,
|
||||||
personality_2.change(adjust_less_probabilities, inputs=[personality_1, personality_2, personality_3], outputs=[warning_less_text])
|
personality_2_probability,
|
||||||
personality_3.change(adjust_less_probabilities, inputs=[personality_1, personality_2, personality_3], outputs=[warning_less_text])
|
personality_3_probability,
|
||||||
|
]
|
||||||
|
|
||||||
|
# 绑定滑块的值变化事件,确保总和不大于 1.0
|
||||||
|
personality_1_probability.change(
|
||||||
|
adjust_personality_greater_probabilities,
|
||||||
|
inputs=personality_probability_change_inputs,
|
||||||
|
outputs=[warning_greater_text],
|
||||||
|
)
|
||||||
|
personality_2_probability.change(
|
||||||
|
adjust_personality_greater_probabilities,
|
||||||
|
inputs=personality_probability_change_inputs,
|
||||||
|
outputs=[warning_greater_text],
|
||||||
|
)
|
||||||
|
personality_3_probability.change(
|
||||||
|
adjust_personality_greater_probabilities,
|
||||||
|
inputs=personality_probability_change_inputs,
|
||||||
|
outputs=[warning_greater_text],
|
||||||
|
)
|
||||||
|
|
||||||
|
# 绑定滑块的值变化事件,确保总和不小于 1.0
|
||||||
|
personality_1_probability.change(
|
||||||
|
adjust_personality_less_probabilities,
|
||||||
|
inputs=personality_probability_change_inputs,
|
||||||
|
outputs=[warning_less_text],
|
||||||
|
)
|
||||||
|
personality_2_probability.change(
|
||||||
|
adjust_personality_less_probabilities,
|
||||||
|
inputs=personality_probability_change_inputs,
|
||||||
|
outputs=[warning_less_text],
|
||||||
|
)
|
||||||
|
personality_3_probability.change(
|
||||||
|
adjust_personality_less_probabilities,
|
||||||
|
inputs=personality_probability_change_inputs,
|
||||||
|
outputs=[warning_less_text],
|
||||||
|
)
|
||||||
|
|
||||||
with gr.Row():
|
with gr.Row():
|
||||||
prompt_schedule = gr.Textbox(
|
prompt_schedule = gr.Textbox(
|
||||||
label="日程生成提示词",
|
label="日程生成提示词",
|
||||||
|
|
@ -684,8 +751,16 @@ with gr.Blocks(title="MaimBot配置文件编辑") as app:
|
||||||
personal_save_message = gr.Textbox(label="保存人格结果")
|
personal_save_message = gr.Textbox(label="保存人格结果")
|
||||||
personal_save_btn.click(
|
personal_save_btn.click(
|
||||||
save_personality_config,
|
save_personality_config,
|
||||||
inputs=[personality_1, personality_2, personality_3, prompt_schedule],
|
inputs=[
|
||||||
outputs=[personal_save_message]
|
prompt_personality_1,
|
||||||
|
prompt_personality_2,
|
||||||
|
prompt_personality_3,
|
||||||
|
prompt_schedule,
|
||||||
|
personality_1_probability,
|
||||||
|
personality_2_probability,
|
||||||
|
personality_3_probability,
|
||||||
|
],
|
||||||
|
outputs=[personal_save_message],
|
||||||
)
|
)
|
||||||
with gr.TabItem("3-消息&表情包设置"):
|
with gr.TabItem("3-消息&表情包设置"):
|
||||||
with gr.Row():
|
with gr.Row():
|
||||||
|
|
@ -1161,7 +1236,6 @@ with gr.Blocks(title="MaimBot配置文件编辑") as app:
|
||||||
with gr.Row():
|
with gr.Row():
|
||||||
remote_status = gr.Checkbox(value=config_data['remote']['enable'], label="是否开启麦麦在线全球统计")
|
remote_status = gr.Checkbox(value=config_data['remote']['enable'], label="是否开启麦麦在线全球统计")
|
||||||
|
|
||||||
|
|
||||||
with gr.Row():
|
with gr.Row():
|
||||||
gr.Markdown(
|
gr.Markdown(
|
||||||
"""### 中文错别字设置"""
|
"""### 中文错别字设置"""
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue