@@ -70,6 +70,12 @@ class BotConfig:
|
|||||||
|
|
||||||
keywords_reaction_rules = [] # 关键词回复规则
|
keywords_reaction_rules = [] # 关键词回复规则
|
||||||
|
|
||||||
|
chinese_typo_enable=True # 是否启用中文错别字生成器
|
||||||
|
chinese_typo_error_rate=0.03 # 单字替换概率
|
||||||
|
chinese_typo_min_freq=7 # 最小字频阈值
|
||||||
|
chinese_typo_tone_error_rate=0.2 # 声调错误概率
|
||||||
|
chinese_typo_word_replace_rate=0.02 # 整词替换概率
|
||||||
|
|
||||||
# 默认人设
|
# 默认人设
|
||||||
PROMPT_PERSONALITY=[
|
PROMPT_PERSONALITY=[
|
||||||
"曾经是一个学习地质的女大学生,现在学习心理学和脑科学,你会刷贴吧",
|
"曾经是一个学习地质的女大学生,现在学习心理学和脑科学,你会刷贴吧",
|
||||||
@@ -283,6 +289,14 @@ class BotConfig:
|
|||||||
if keywords_reaction_config.get("enable", False):
|
if keywords_reaction_config.get("enable", False):
|
||||||
config.keywords_reaction_rules = keywords_reaction_config.get("rules", config.keywords_reaction_rules)
|
config.keywords_reaction_rules = keywords_reaction_config.get("rules", config.keywords_reaction_rules)
|
||||||
|
|
||||||
|
def chinese_typo(parent: dict):
|
||||||
|
chinese_typo_config = parent["chinese_typo"]
|
||||||
|
config.chinese_typo_enable = chinese_typo_config.get("enable", config.chinese_typo_enable)
|
||||||
|
config.chinese_typo_error_rate = chinese_typo_config.get("error_rate", config.chinese_typo_error_rate)
|
||||||
|
config.chinese_typo_min_freq = chinese_typo_config.get("min_freq", config.chinese_typo_min_freq)
|
||||||
|
config.chinese_typo_tone_error_rate = chinese_typo_config.get("tone_error_rate", config.chinese_typo_tone_error_rate)
|
||||||
|
config.chinese_typo_word_replace_rate = chinese_typo_config.get("word_replace_rate", config.chinese_typo_word_replace_rate)
|
||||||
|
|
||||||
def groups(parent: dict):
|
def groups(parent: dict):
|
||||||
groups_config = parent["groups"]
|
groups_config = parent["groups"]
|
||||||
config.talk_allowed_groups = set(groups_config.get("talk_allowed", []))
|
config.talk_allowed_groups = set(groups_config.get("talk_allowed", []))
|
||||||
@@ -341,6 +355,11 @@ class BotConfig:
|
|||||||
"support": ">=0.0.2",
|
"support": ">=0.0.2",
|
||||||
"necessary": False
|
"necessary": False
|
||||||
},
|
},
|
||||||
|
"chinese_typo": {
|
||||||
|
"func": chinese_typo,
|
||||||
|
"support": ">=0.0.3",
|
||||||
|
"necessary": False
|
||||||
|
},
|
||||||
"groups": {
|
"groups": {
|
||||||
"func": groups,
|
"func": groups,
|
||||||
"support": ">=0.0.0"
|
"support": ">=0.0.0"
|
||||||
|
|||||||
@@ -332,18 +332,21 @@ def process_llm_response(text: str) -> List[str]:
|
|||||||
return ['懒得说']
|
return ['懒得说']
|
||||||
# 处理长消息
|
# 处理长消息
|
||||||
typo_generator = ChineseTypoGenerator(
|
typo_generator = ChineseTypoGenerator(
|
||||||
error_rate=0.03,
|
error_rate=global_config.chinese_typo_error_rate,
|
||||||
min_freq=7,
|
min_freq=global_config.chinese_typo_min_freq,
|
||||||
tone_error_rate=0.2,
|
tone_error_rate=global_config.chinese_typo_tone_error_rate,
|
||||||
word_replace_rate=0.02
|
word_replace_rate=global_config.chinese_typo_word_replace_rate
|
||||||
)
|
)
|
||||||
split_sentences = split_into_sentences_w_remove_punctuation(text)
|
split_sentences = split_into_sentences_w_remove_punctuation(text)
|
||||||
sentences = []
|
sentences = []
|
||||||
for sentence in split_sentences:
|
for sentence in split_sentences:
|
||||||
typoed_text, typo_corrections = typo_generator.create_typo_sentence(sentence)
|
if global_config.chinese_typo_enable:
|
||||||
sentences.append(typoed_text)
|
typoed_text, typo_corrections = typo_generator.create_typo_sentence(sentence)
|
||||||
if typo_corrections:
|
sentences.append(typoed_text)
|
||||||
sentences.append(typo_corrections)
|
if typo_corrections:
|
||||||
|
sentences.append(typo_corrections)
|
||||||
|
else:
|
||||||
|
sentences.append(sentence)
|
||||||
# 检查分割后的消息数量是否过多(超过3条)
|
# 检查分割后的消息数量是否过多(超过3条)
|
||||||
|
|
||||||
if len(sentences) > 5:
|
if len(sentences) > 5:
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
[inner]
|
[inner]
|
||||||
version = "0.0.2"
|
version = "0.0.3"
|
||||||
|
|
||||||
[bot]
|
[bot]
|
||||||
qq = 123
|
qq = 123
|
||||||
@@ -67,6 +67,13 @@ enable = false # 仅作示例,不会触发
|
|||||||
keywords = ["测试关键词回复","test",""]
|
keywords = ["测试关键词回复","test",""]
|
||||||
reaction = "回答“测试成功”"
|
reaction = "回答“测试成功”"
|
||||||
|
|
||||||
|
[chinese_typo]
|
||||||
|
enable = true # 是否启用中文错别字生成器
|
||||||
|
error_rate=0.03 # 单字替换概率
|
||||||
|
min_freq=7 # 最小字频阈值
|
||||||
|
tone_error_rate=0.2 # 声调错误概率
|
||||||
|
word_replace_rate=0.02 # 整词替换概率
|
||||||
|
|
||||||
[others]
|
[others]
|
||||||
enable_advance_output = true # 是否启用高级输出
|
enable_advance_output = true # 是否启用高级输出
|
||||||
enable_kuuki_read = true # 是否启用读空气功能
|
enable_kuuki_read = true # 是否启用读空气功能
|
||||||
|
|||||||
Reference in New Issue
Block a user