diff --git a/src/plugins/heartFC_chat/heartflow_prompt_builder.py b/src/plugins/heartFC_chat/heartflow_prompt_builder.py index 009474224..4e2f44530 100644 --- a/src/plugins/heartFC_chat/heartflow_prompt_builder.py +++ b/src/plugins/heartFC_chat/heartflow_prompt_builder.py @@ -108,7 +108,7 @@ def init_prompt(): Prompt( """ {memory_prompt} -{relation_prompt_all} +{relation_prompt} {prompt_info} {schedule_prompt} {chat_target} @@ -373,7 +373,6 @@ class PromptBuilder: prompt = await global_prompt_manager.format_prompt( "reasoning_prompt_main", - relation_prompt_all=await global_prompt_manager.get_prompt_async("relationship_prompt"), relation_prompt=relation_prompt, sender_name=sender_name, memory_prompt=memory_prompt, diff --git a/src/plugins/person_info/relationship_manager.py b/src/plugins/person_info/relationship_manager.py index 640c12b8b..b66d74d5c 100644 --- a/src/plugins/person_info/relationship_manager.py +++ b/src/plugins/person_info/relationship_manager.py @@ -4,6 +4,7 @@ import math from bson.decimal128 import Decimal128 from .person_info import person_info_manager import time +import random # import re # import traceback @@ -282,17 +283,34 @@ class RelationshipManager: person_name = await person_info_manager.get_value(person_id, "person_name") relationship_value = await person_info_manager.get_value(person_id, "relationship_value") level_num = self.calculate_level_num(relationship_value) - relationship_level = ["厌恶", "冷漠以对", "认识", "友好对待", "喜欢", "暧昧"] - relation_prompt2_list = [ - "忽视的回应", - "冷淡回复", - "保持理性", - "愿意回复", - "积极回复", - "友善和包容的回复", - ] - - return f"你{relationship_level[level_num]}{person_name},打算{relation_prompt2_list[level_num]}。\n" + + if level_num == 0 or level_num == 5: + relationship_level = ["厌恶", "冷漠以对", "认识", "友好对待", "喜欢", "暧昧"] + relation_prompt2_list = [ + "忽视的回应", + "冷淡回复", + "保持理性", + "愿意回复", + "积极回复", + "友善和包容的回复", + ] + return f"你{relationship_level[level_num]}{person_name},打算{relation_prompt2_list[level_num]}。\n" + elif level_num == 2: + return "" + else: + if random.random() < 0.5: + relationship_level = ["厌恶", "冷漠以对", "认识", "友好对待", "喜欢", "暧昧"] + relation_prompt2_list = [ + "忽视的回应", + "冷淡回复", + "保持理性", + "愿意回复", + "积极回复", + "友善和包容的回复", + ] + return f"你{relationship_level[level_num]}{person_name},打算{relation_prompt2_list[level_num]}。\n" + else: + return "" @staticmethod def calculate_level_num(relationship_value) -> int: