fix:微调了关系参

This commit is contained in:
SengokuCola
2025-06-09 19:15:39 +08:00
parent 86c3d4be1e
commit ad478a88b7
4 changed files with 151 additions and 17 deletions

View File

@@ -240,7 +240,7 @@ class RelationshipManager:
prompt = f"""
你的名字是{global_config.bot.nickname}{global_config.bot.nickname}的别名是{alias_str}
请不要混淆你自己和{global_config.bot.nickname}{person_name}
请你基于用户 {person_name}(昵称:{nickname}) 的最近发言,总结出其中是否有有关{person_name}的内容引起了你的兴趣,或者有什么需要你记忆的点。
请你基于用户 {person_name}(昵称:{nickname}) 的最近发言,总结出其中是否有有关{person_name}的内容引起了你的兴趣,或者有什么需要你记忆的点,或者对你友好或者不友好的点
如果没有就输出none
{current_time}的聊天内容:
@@ -359,7 +359,7 @@ class RelationshipManager:
else:
current_points = points_list
# 如果points超过30条按权重随机选择多余的条目移动到forgotten_points
# 如果points超过10条按权重随机选择多余的条目移动到forgotten_points
if len(current_points) > 10:
# 获取现有forgotten_points
forgotten_points = await person_info_manager.get_value(person_id, "forgotten_points") or []
@@ -394,7 +394,7 @@ class RelationshipManager:
# 计算保留概率(权重越高越可能保留)
keep_probability = weight / total_weight
if len(remaining_points) < 30:
if len(remaining_points) < 10:
# 如果还没达到30条直接保留
remaining_points.append(point)
else:
@@ -412,7 +412,7 @@ class RelationshipManager:
current_points = remaining_points
forgotten_points.extend(points_to_move)
# 检查forgotten_points是否达到100
# 检查forgotten_points是否达到5
if len(forgotten_points) >= 5:
# 构建压缩总结提示词
alias_str = ", ".join(global_config.bot.alias_names)
@@ -433,19 +433,26 @@ class RelationshipManager:
你的名字是{global_config.bot.nickname}{global_config.bot.nickname}的别名是{alias_str}
请不要混淆你自己和{global_config.bot.nickname}{person_name}
请根据以下历史记录,添加,修改,整合,原有的印象和关系,总结出对用户 {person_name}(昵称:{nickname})的信息
请根据你对ta过去的了解和ta最近的行为,修改,整合,原有的了解,总结出对用户 {person_name}(昵称:{nickname})新的了解
你之前对他的印象和关系是:
印象impression{impression}
了解可以包含性格关系感受态度你推测的ta的性别年龄外貌身份习惯爱好重要事件重要经历等等内容。也可以包含其他点。
关注友好和不友好的因素,不要忽略。
请严格按照以下给出的信息,不要新增额外内容。
你之前对他的了解是:
{impression}
你记得ta最近做的事
{points_text}
请输出impression:对这个人的总体印象你对ta的感觉你们的交互方式对方的性格特点身份外貌年龄性别习惯爱好等等内容
请输出一段平文本,以陈诉自白的语气,输出你对{person_name}的了解,不要输出任何其他内容
"""
# 调用LLM生成压缩总结
compressed_summary, _ = await self.relationship_llm.generate_response_async(prompt=compress_prompt)
current_time = datetime.fromtimestamp(timestamp).strftime("%Y-%m-%d %H:%M:%S")
compressed_summary = f"截至{current_time},你对{person_name}的了解:{compressed_summary}"
await person_info_manager.update_one_field(person_id, "impression", compressed_summary)