添加一点注释

This commit is contained in:
meng_xi_pan
2025-03-14 23:42:48 +08:00
parent 3d1a58130d
commit fcd9413beb
4 changed files with 12 additions and 42 deletions

View File

@@ -339,24 +339,11 @@ class ChatBot:
) )
message_manager.add_message(bot_message) message_manager.add_message(bot_message)
stance,emotion = await self.gpt._get_emotion_tags(raw_content,message.processed_plain_text) # 获取立场和情感标签,更新关系值
stance, emotion = await self.gpt._get_emotion_tags(raw_content, message.processed_plain_text)
logger.debug(f"'{response}' 立场为:{stance} 获取到的情感标签为:{emotion}") logger.debug(f"'{response}' 立场为:{stance} 获取到的情感标签为:{emotion}")
await relationship_manager.calculate_update_relationship_value(chat_stream=chat, label=emotion, stance=stance) await relationship_manager.calculate_update_relationship_value(chat_stream=chat, label=emotion, stance=stance)
# emotion = await self.gpt._get_emotion_tags(raw_content)
# logger.debug(f"为 '{response}' 获取到的情感标签为:{emotion}")
# valuedict = {
# "happy": 0.5,
# "angry": -1,
# "sad": -0.5,
# "surprised": 0.2,
# "disgusted": -1.5,
# "fearful": -0.7,
# "neutral": 0.1,
# }
# await relationship_manager.update_relationship_value(
# chat_stream=chat, relationship_value=valuedict[emotion[0]]
# )
# 使用情绪管理器更新情绪 # 使用情绪管理器更新情绪
self.mood_manager.update_mood_from_emotion(emotion[0], global_config.mood_intensity_factor) self.mood_manager.update_mood_from_emotion(emotion[0], global_config.mood_intensity_factor)

View File

@@ -69,18 +69,6 @@ class ResponseGenerator:
else: else:
f"用户({message.chat_stream.user_info.user_id})" f"用户({message.chat_stream.user_info.user_id})"
# # 获取关系值
# relationship_value = (
# relationship_manager.get_relationship(
# message.chat_stream
# ).relationship_value
# if relationship_manager.get_relationship(message.chat_stream)
# else 0.0
# )
# if relationship_value != 0.0:
# # print(f"\033[1;32m[关系管理]\033[0m 回复中_当前关系值: {relationship_value}")
# pass
# 构建prompt # 构建prompt
prompt, prompt_check = await prompt_builder._build_prompt( prompt, prompt_check = await prompt_builder._build_prompt(
message.chat_stream, message.chat_stream,

View File

@@ -34,11 +34,9 @@ class PromptBuilder:
Returns: Returns:
str: 构建好的prompt str: 构建好的prompt
""" """
# 关系 # 关系(载入当前聊天记录里所以人的关系)
relationship_level = ["厌恶", "冷漠", "一般", "友好", "喜欢", "爱慕"] relationship_level = ["厌恶", "冷漠", "一般", "友好", "喜欢", "爱慕"]
# position_attitude_list = ["反驳", "中立", "支持"]
relation_prompt2 = "" relation_prompt2 = ""
# position_attitude = ""
relation_prompt2_list = ["极度厌恶,冷漠回应或直接辱骂", "关系较差,冷淡回复,保持距离", "关系一般,保持理性", \ relation_prompt2_list = ["极度厌恶,冷漠回应或直接辱骂", "关系较差,冷淡回复,保持距离", "关系一般,保持理性", \
"关系较好,友善回复,积极互动", "关系很好,积极回复,关心对方", "关系暧昧,热情回复,无条件支持", ] "关系较好,友善回复,积极互动", "关系很好,积极回复,关心对方", "关系暧昧,热情回复,无条件支持", ]
relation_prompt = "" relation_prompt = ""
@@ -53,29 +51,26 @@ class PromptBuilder:
relation_prompt += f"你对昵称为'({person.user_info.user_id}){person.user_info.user_nickname}'的用户的态度为" relation_prompt += f"你对昵称为'({person.user_info.user_id}){person.user_info.user_nickname}'的用户的态度为"
relation_prompt2 += f"你对昵称为'({person.user_info.user_id}){person.user_info.user_nickname}'的用户的回复态度为" relation_prompt2 += f"你对昵称为'({person.user_info.user_id}){person.user_info.user_nickname}'的用户的回复态度为"
relationship_level_num = 2 relationship_level_num = 2
# position_attitude_num = 1
if -1000 <= relationship_value < -227: if -1000 <= relationship_value < -227:
relationship_level_num = 0 relationship_level_num = 0
# position_attitude_num = 0
elif -227 <= relationship_value < -73: elif -227 <= relationship_value < -73:
relationship_level_num = 1 relationship_level_num = 1
# position_attitude_num = 0
elif -76 <= relationship_value < 227: elif -76 <= relationship_value < 227:
relationship_level_num = 2 relationship_level_num = 2
# position_attitude_num = 1
elif 227 <= relationship_value < 587: elif 227 <= relationship_value < 587:
relationship_level_num = 3 relationship_level_num = 3
# position_attitude_num = 2
elif 587 <= relationship_value < 900: elif 587 <= relationship_value < 900:
relationship_level_num = 4 relationship_level_num = 4
# position_attitude_num = 2 elif 900 <= relationship_value <= 1000: # 不是随便写的数据喵
elif 900 <= relationship_value <= 1000: # 不是随便写的数据!
relationship_level_num = 5 relationship_level_num = 5
# position_attitude_num = 2 elif relationship_value > 1000 or relationship_value < -1000:
else: if relationship_value > 1000:
relationship_level_num = 5
else:
relationship_level_num = 0
logger.debug("relationship_value 超出有效范围 (-1000 到 1000)") logger.debug("relationship_value 超出有效范围 (-1000 到 1000)")
relation_prompt2 += relation_prompt2_list[relationship_level_num] + "" relation_prompt2 += relation_prompt2_list[relationship_level_num] + ""
# position_attitude = position_attitude_list[position_attitude_num]
relation_prompt += relationship_level[relationship_level_num] + "" relation_prompt += relationship_level[relationship_level_num] + ""
# 开始构建prompt # 开始构建prompt

View File

@@ -208,14 +208,14 @@ def get_recent_group_speaker(chat_stream_id: int, sender, limit: int = 12) -> li
if not recent_messages: if not recent_messages:
return [] return []
who_chat_in_group = [] who_chat_in_group = [] # ChatStream列表
duplicate_removal = [] duplicate_removal = []
for msg_db_data in recent_messages: for msg_db_data in recent_messages:
user_info = UserInfo.from_dict(msg_db_data["user_info"]) user_info = UserInfo.from_dict(msg_db_data["user_info"])
if (user_info.user_id, user_info.platform) != sender \ if (user_info.user_id, user_info.platform) != sender \
and (user_info.user_id, user_info.platform) != (global_config.BOT_QQ, "qq") \ and (user_info.user_id, user_info.platform) != (global_config.BOT_QQ, "qq") \
and (user_info.user_id, user_info.platform) not in duplicate_removal: and (user_info.user_id, user_info.platform) not in duplicate_removal: # 排除重复排除消息发送者排除bot(此处bot的平台强制为了qq可能需要更改)
duplicate_removal.append((user_info.user_id, user_info.platform)) duplicate_removal.append((user_info.user_id, user_info.platform))
chat_info = msg_db_data.get("chat_info", {}) chat_info = msg_db_data.get("chat_info", {})