refactor(chat): 简化记忆构建和回复生成逻辑
移除记忆构建过程中的系统标识符和时间戳,简化提示词模板,使对话更加自然流畅。减少冗余的回复规则和约束,专注于生成简洁、口语化的回复内容。
This commit is contained in:
@@ -199,9 +199,8 @@ class HippocampusSampler:
|
||||
logger.warning("无法从消息样本生成可读文本")
|
||||
return None
|
||||
|
||||
# 添加当前日期信息
|
||||
current_date = f"当前日期: {datetime.now().isoformat()}"
|
||||
input_text = f"{current_date}\n{readable_text}"
|
||||
# 直接使用对话文本,不添加系统标识符
|
||||
input_text = readable_text
|
||||
|
||||
logger.debug(f"开始构建记忆,文本长度: {len(input_text)}")
|
||||
|
||||
@@ -550,9 +549,7 @@ class HippocampusSampler:
|
||||
async def _build_fused_conversation_text(self, fused_messages: list[list[dict[str, Any]]]) -> str:
|
||||
"""构建融合后的对话文本"""
|
||||
try:
|
||||
# 添加批次标识
|
||||
current_date = f"海马体批量采样 - {datetime.now().isoformat()}\n"
|
||||
conversation_parts = [current_date]
|
||||
conversation_parts = []
|
||||
|
||||
for group_idx, message_group in enumerate(fused_messages):
|
||||
if not message_group:
|
||||
|
||||
@@ -120,33 +120,19 @@ def init_prompt():
|
||||
### 核心任务
|
||||
- 你现在的主要任务是和 {sender_name} 聊天。同时,也有其他用户会参与聊天,你可以参考他们的回复内容,但是你现在想回复{sender_name}的发言。
|
||||
|
||||
- {reply_target_block} 你需要生成一段紧密相关且能推动对话的回复。
|
||||
- {reply_target_block} 你需要生成一段紧密相关的回复。
|
||||
|
||||
## 规则
|
||||
{safety_guidelines_block}
|
||||
**重要提醒:**
|
||||
- **已读历史消息仅作为当前聊天情景的参考**
|
||||
- **动作执行对象只能是未读历史消息中的消息**
|
||||
- **请优先对兴趣值高的消息做出回复**(兴趣度标注在未读消息末尾)
|
||||
- **未读历史消息是你需要回应的对象**
|
||||
|
||||
在回应之前,首先分析消息的针对性:
|
||||
1. **直接针对你**:@你、回复你、明确询问你 → 必须回应
|
||||
2. **间接相关**:涉及你感兴趣的话题但未直接问你 → 谨慎参与
|
||||
3. **他人对话**:与你无关的私人交流 → 通常不参与
|
||||
4. **重复内容**:他人已充分回答的问题 → 避免重复
|
||||
|
||||
你的回复应该:
|
||||
1. 明确回应目标消息,而不是宽泛地评论。
|
||||
2. 可以分享你的看法、提出相关问题,或者开个合适的玩笑。
|
||||
3. 目的是让对话更有趣、更深入。
|
||||
4. 不要浮夸,不要夸张修辞,不要输出多余内容(包括前后缀,冒号和引号,括号(),表情包,at或 @等 )。
|
||||
最终请输出一条简短、完整且口语化的回复。
|
||||
你的回复应该是一条简短、完整且口语化的回复。
|
||||
|
||||
--------------------------------
|
||||
{time_block}
|
||||
|
||||
注意不要复读你前面发过的内容,意思相近也不行。
|
||||
|
||||
请注意不要输出多余内容(包括前后缀,冒号和引号,at或 @等 )。只输出回复内容。
|
||||
{moderation_prompt}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user