fix:修复好感prompt没启用

This commit is contained in:
SengokuCola
2025-06-05 13:25:56 +08:00
parent ea8c9fe443
commit 16a0717c6e
9 changed files with 37 additions and 52 deletions

View File

@@ -22,9 +22,19 @@ class ImpressionUpdateTask(AsyncTask):
async def run(self):
try:
# 获取最近10分钟的消息
current_time = int(time.time())
start_time = current_time - 6000 # 10分钟前
if random.random() < 0.5:
# 获取最近10分钟的消息
current_time = int(time.time())
start_time = current_time - 6000 # 10分钟前
# 取一个月内任意一个小时的时间段
else:
now = int(time.time())
# 30天前的时间戳
month_ago = now - 30 * 24 * 60 * 60
# 随机选择一个小时的起点
random_start = random.randint(month_ago, now - 3600)
start_time = random_start
current_time = random_start + 3600 # 一个小时后
# 获取所有消息
messages = get_raw_msg_by_timestamp(timestamp_start=start_time, timestamp_end=current_time, limit=100)

View File

@@ -133,6 +133,7 @@ class RelationshipManager:
gender_list = json.loads(gender)
gender = random.choice(gender_list)
except json.JSONDecodeError:
logger.error(f"性别解析错误: {gender}")
pass
if gender and "" in gender:
@@ -146,34 +147,39 @@ class RelationshipManager:
nickname_str = await person_info_manager.get_value(person_id, "nickname")
platform = await person_info_manager.get_value(person_id, "platform")
relation_prompt = f"你认识 {person_name} {gender_prompt}{platform}上的昵称是{nickname_str}你对{gender_prompt}的印象是"
relation_prompt = f"'{person_name}' {gender_prompt}{platform}上的昵称是{nickname_str}"
# person_impression = await person_info_manager.get_value(person_id, "person_impression")
# if person_impression:
# relation_prompt += f"你对ta的印象是{person_impression}。"
traits = await person_info_manager.get_value(person_id, "traits")
gender = await person_info_manager.get_value(person_id, "gender")
relation = await person_info_manager.get_value(person_id, "relation")
identity = await person_info_manager.get_value(person_id, "identity")
meme = await person_info_manager.get_value(person_id, "meme")
if traits or gender or relation or identity or meme:
relation_prompt += f"你对{gender_prompt}的印象是:"
if traits:
relation_prompt += f"{gender_prompt}的性格特征是:{traits}"
gender = await person_info_manager.get_value(person_id, "gender")
if gender:
relation_prompt += f"{gender_prompt}的性别是:{gender}"
relation = await person_info_manager.get_value(person_id, "relation")
if relation:
relation_prompt += f"你与{gender_prompt}的关系是:{relation}"
identity = await person_info_manager.get_value(person_id, "identity")
if identity:
relation_prompt += f"{gender_prompt}的身份是:{identity}"
meme = await person_info_manager.get_value(person_id, "meme")
if meme:
relation_prompt += f"你与{gender_prompt}之间的梗是:{meme}"
print(f"relation_prompt: {relation_prompt}")
# print(f"relation_prompt: {relation_prompt}")
return relation_prompt
async def update_person_impression(self, person_id, chat_id, reason, timestamp):