微调prompt

pull/937/head
114514 2025-05-07 05:12:01 +08:00
parent 3350608173
commit 92df03376c
2 changed files with 17 additions and 8 deletions

View File

@ -43,6 +43,8 @@ PROMPT_INITIAL_REPLY = """
你的回忆
{retrieved_memory_str}
{spam_warning_info}
------
可选行动类型以及解释
listening: 倾听对方发言当你认为对方话才说到一半发言明显未结束时选择
@ -82,13 +84,16 @@ PROMPT_FOLLOW_UP = """
{chat_history_text}
你的回忆
{retrieved_memory_str}
{spam_warning_info}
------
可选行动类型以及解释
wait: 暂时不说话留给对方交互空间等待对方回复尤其是在你刚发言后或上次发言因重复发言过多被拒时或不确定做什么时这是不错的选择
wait: 暂时不说话留给对方交互空间等待对方回复
listening: 倾听对方发言虽然你刚发过言但如果对方立刻回复且明显话没说完可以选择这个
send_new_message: 发送一条新消息继续对话允许适当的追问补充深入话题或开启相关新话题**但是避免在因重复被拒后立即使用也不要在对方没有回复的情况下过多的消息轰炸或重复发言**
send_new_message: 发送一条新消息继续对话允许适当的追问补充深入话题或开启相关新话题但是注意看对话记录如果对方已经没有回复你wait或end_conversation可能更合适
rethink_goal: 思考一个对话目标当你觉得目前对话需要目标或当前目标不再适用或话题卡住时选择注意私聊的环境是灵活的有可能需要经常选择
end_conversation: 结束对话对方长时间没回复繁忙或者当你觉得对话告一段落时可以选择
end_conversation: 安全和平的结束对话对方长时间没回复繁忙已经不再回复你消息明显暗示或表达想结束聊天时可以果断选择
block_and_ignore: 更加极端的结束对话方式直接结束对话并在一段时间内无视对方所有发言屏蔽当对话让你感到十分不适或你遭到各类骚扰时选择
请以JSON格式输出你的决策
@ -182,7 +187,7 @@ class ActionPlanner:
sender_name_str = getattr(observation_info, 'sender_name', '对方') # 从 observation_info 获取
if not sender_name_str: sender_name_str = '对方' # 再次确保有默认值
relationship_text_str = getattr(conversation_info, 'relationship_text', '们还不熟悉。')
relationship_text_str = getattr(conversation_info, 'relationship_text', '们还不熟悉。')
current_emotion_text_str = getattr(conversation_info, 'current_emotion_text', '心情平静。')
@ -213,10 +218,13 @@ class ActionPlanner:
if observation_info and hasattr(observation_info, 'current_time_str') and observation_info.current_time_str:
current_time_value = observation_info.current_time_str
spam_warning_message = "" # 初始化为空字符串
if conversation_info.my_message_count > 5:
current_time_value += f"\n你已连续发送{str(conversation_info.my_message_count)}条消息,请注意不要连续发送大量消息,以免刷屏对造成对方困扰。"
spam_warning_message = f"⚠️【刷屏警告】**你已连续发送{str(conversation_info.my_message_count)}条消息请注意不要再选择send_new_message以免刷屏对造成对方困扰**"
elif conversation_info.my_message_count > 2:
current_time_value += f"\n你已连续发送{str(conversation_info.my_message_count)}条消息,如果没有必要请不要连续发送大量消息,以免刷屏给造成对方困扰。"
spam_warning_message = f"💬【提示】**你已连续发送{str(conversation_info.my_message_count)}条消息。如果非必要请避免选择send_new_message以免给对方造成困扰。**"
if spam_warning_message: # 仅当有警告时才添加换行符
spam_warning_message = f"\n{spam_warning_message}\n"
prompt = prompt_template.format(
persona_text=persona_text,
@ -229,6 +237,7 @@ class ActionPlanner:
retrieved_memory_str=retrieved_memory_str if retrieved_memory_str else "无相关记忆。",
retrieved_knowledge_str=retrieved_knowledge_str if retrieved_knowledge_str else "无相关知识。",
current_time_str=current_time_value, # 新增:传入当前时间字符串
spam_warning_info=spam_warning_message,
### 标记新增/修改区域 开始 ###
sender_name=sender_name_str,
relationship_text=relationship_text_str,

View File

@ -48,7 +48,7 @@ PROMPT_DIRECT_REPLY = """
2. 符合你的性格特征和身份细节
3. 通俗易懂自然流畅像正常聊天一样简短通常20字以内除非特殊情况
4. 可以适当利用相关知识和回忆**不要生硬引用**若无必要也可以不利用
5. 自然得体结合聊天记录逻辑合理没有重复表达同质内容
5. 自然得体结合聊天记录逻辑合理没有重复表达同质内容也没有复读你之前的发言
请注意把握聊天内容不要回复的太有条理可以有个性请分清""和对方说的话不要把""说的话当做对方说的话这是你自己说的话
可以回复得自然随意自然一些就像真人一样注意把握聊天内容整体风格可以平和简短不要刻意突出自身学科背景不要说你说过的话可以简短多简短都可以但是避免冗长
@ -84,7 +84,7 @@ PROMPT_SEND_NEW_MESSAGE = """
2. 符合你的性格特征和身份细节
3. 通俗易懂自然流畅像正常聊天一样简短通常20字以内除非特殊情况
4. 可以适当利用相关知识和回忆**不要生硬引用**若无必要也可以不利用
5. 跟之前你发的消息自然的衔接逻辑合理没有重复表达同质内容或部分重叠内容
5. 跟之前你发的消息自然的衔接逻辑合理没有重复表达同质内容或部分重叠内容也没有复读你之前的发言
请注意把握聊天内容不用太有条理可以有个性请分清""和对方说的话不要把""说的话当做对方说的话这是你自己说的话
这条消息可以自然随意自然一些就像真人一样注意把握聊天内容整体风格可以平和简短不要刻意突出自身学科背景不要说你说过的话可以简短多简短都可以但是避免冗长