mirror of https://github.com/Mai-with-u/MaiBot.git
ruff x2
parent
505aa839b6
commit
af9bc64acf
|
|
@ -6,14 +6,13 @@ from src.chat.utils.chat_message_builder import build_readable_messages, get_raw
|
||||||
from src.chat.person_info.relationship_manager import relationship_manager
|
from src.chat.person_info.relationship_manager import relationship_manager
|
||||||
from src.chat.utils.utils import get_embedding
|
from src.chat.utils.utils import get_embedding
|
||||||
import time
|
import time
|
||||||
from typing import Union, Optional, Dict, Any
|
from typing import Union, Optional
|
||||||
from src.common.database import db
|
from src.common.database import db
|
||||||
from src.chat.utils.utils import get_recent_group_speaker
|
from src.chat.utils.utils import get_recent_group_speaker
|
||||||
from src.manager.mood_manager import mood_manager
|
from src.manager.mood_manager import mood_manager
|
||||||
from src.chat.memory_system.Hippocampus import HippocampusManager
|
from src.chat.memory_system.Hippocampus import HippocampusManager
|
||||||
from src.chat.knowledge.knowledge_lib import qa_manager
|
from src.chat.knowledge.knowledge_lib import qa_manager
|
||||||
from src.chat.focus_chat.expressors.exprssion_learner import expression_learner
|
from src.chat.focus_chat.expressors.exprssion_learner import expression_learner
|
||||||
import traceback
|
|
||||||
import random
|
import random
|
||||||
from src.plugins.group_nickname.nickname_manager import nickname_manager
|
from src.plugins.group_nickname.nickname_manager import nickname_manager
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -194,7 +194,7 @@ def is_mentioned_bot_in_message(message: MessageRecv) -> tuple[bool, float]:
|
||||||
)
|
)
|
||||||
|
|
||||||
# 判断是否被@
|
# 判断是否被@
|
||||||
if re.search(f"@[\\s\\S]*?(id:{global_config.BOT_QQ})", message.processed_plain_text):
|
if re.search(f"@[\s\S]*?(id:{global_config.BOT_QQ})", message.processed_plain_text):
|
||||||
is_at = True
|
is_at = True
|
||||||
is_mentioned = True
|
is_mentioned = True
|
||||||
|
|
||||||
|
|
@ -205,7 +205,7 @@ def is_mentioned_bot_in_message(message: MessageRecv) -> tuple[bool, float]:
|
||||||
if not is_mentioned:
|
if not is_mentioned:
|
||||||
# 判断是否被回复
|
# 判断是否被回复
|
||||||
if re.match(
|
if re.match(
|
||||||
f"\\[回复 [\\s\\S]*?\\({str(global_config.BOT_QQ)}\\):[\\s\\S]*?\\],说:",
|
f"\[回复 [\s\S]*?\({str(global_config.BOT_QQ)}\):[\s\S]*?\],说:",
|
||||||
message.processed_plain_text,
|
message.processed_plain_text,
|
||||||
):
|
):
|
||||||
is_mentioned = True
|
is_mentioned = True
|
||||||
|
|
@ -430,11 +430,11 @@ def split_into_sentences_w_remove_punctuation(original_text: str) -> list[str]:
|
||||||
return []
|
return []
|
||||||
|
|
||||||
if len_text < 12:
|
if len_text < 12:
|
||||||
split_strength = 0.5
|
split_strength = 0.2
|
||||||
elif len_text < 32:
|
elif len_text < 32:
|
||||||
split_strength = 0.7
|
split_strength = 0.5
|
||||||
else:
|
else:
|
||||||
split_strength = 0.9
|
split_strength = 0.7
|
||||||
merge_probability = 1.0 - split_strength
|
merge_probability = 1.0 - split_strength
|
||||||
|
|
||||||
if merge_probability == 1.0 and len(preliminary_final_sentences) > 1:
|
if merge_probability == 1.0 and len(preliminary_final_sentences) > 1:
|
||||||
|
|
@ -497,13 +497,13 @@ def random_remove_punctuation(text: str) -> str:
|
||||||
if char == "。" and i == text_len - 1: # 结尾的句号
|
if char == "。" and i == text_len - 1: # 结尾的句号
|
||||||
if random.random() > 0.1: # 90%概率删除结尾句号
|
if random.random() > 0.1: # 90%概率删除结尾句号
|
||||||
continue
|
continue
|
||||||
# elif char == ",":
|
elif char == ",":
|
||||||
# rand = random.random()
|
rand = random.random()
|
||||||
# if rand < 0.25: # 25%概率删除逗号
|
if rand < 0.25: # 25%概率删除逗号
|
||||||
# continue
|
continue
|
||||||
# elif rand < 0.2: # 20%概率把逗号变成空格
|
elif rand < 0.2: # 20%概率把逗号变成空格
|
||||||
# result += " "
|
result += " "
|
||||||
# continue
|
continue
|
||||||
result += char
|
result += char
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
|
@ -516,8 +516,8 @@ def process_llm_response(text: str) -> list[str]:
|
||||||
else:
|
else:
|
||||||
protected_text = text
|
protected_text = text
|
||||||
kaomoji_mapping = {}
|
kaomoji_mapping = {}
|
||||||
# 提取被 [] 包裹且包含中文的内容
|
# 提取被 () 或 [] 包裹且包含中文的内容
|
||||||
pattern = re.compile(r"[\[](?=.*[一-鿿]).*?[\])]")
|
pattern = re.compile(r"[(\[(](?=.*[一-鿿]).*?[)\])]")
|
||||||
# _extracted_contents = pattern.findall(text)
|
# _extracted_contents = pattern.findall(text)
|
||||||
_extracted_contents = pattern.findall(protected_text) # 在保护后的文本上查找
|
_extracted_contents = pattern.findall(protected_text) # 在保护后的文本上查找
|
||||||
# 去除 () 和 [] 及其包裹的内容
|
# 去除 () 和 [] 及其包裹的内容
|
||||||
|
|
@ -527,7 +527,6 @@ def process_llm_response(text: str) -> list[str]:
|
||||||
return ["呃呃"]
|
return ["呃呃"]
|
||||||
|
|
||||||
logger.debug(f"{text}去除括号处理后的文本: {cleaned_text}")
|
logger.debug(f"{text}去除括号处理后的文本: {cleaned_text}")
|
||||||
cleaned_text = protected_text
|
|
||||||
# 对清理后的文本进行进一步处理
|
# 对清理后的文本进行进一步处理
|
||||||
max_length = global_config.response_max_length * 2
|
max_length = global_config.response_max_length * 2
|
||||||
max_sentence_num = global_config.response_max_sentence_num
|
max_sentence_num = global_config.response_max_sentence_num
|
||||||
|
|
@ -559,7 +558,7 @@ def process_llm_response(text: str) -> list[str]:
|
||||||
else:
|
else:
|
||||||
sentences.append(sentence)
|
sentences.append(sentence)
|
||||||
|
|
||||||
if len(sentences) > (max_sentence_num * 2):
|
if len(sentences) > max_sentence_num:
|
||||||
logger.warning(f"分割后消息数量过多 ({len(sentences)} 条),返回默认回复")
|
logger.warning(f"分割后消息数量过多 ({len(sentences)} 条),返回默认回复")
|
||||||
return [f"{global_config.BOT_NICKNAME}不知道哦"]
|
return [f"{global_config.BOT_NICKNAME}不知道哦"]
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue