better:升级自我回复的prompt

pull/1239/head
SengokuCola 2025-09-14 17:14:34 +08:00
parent 2533a46759
commit 328bc796da
3 changed files with 82 additions and 44 deletions

View File

@ -34,9 +34,11 @@ from src.plugin_system.apis import llm_api
from src.chat.replyer.lpmm_prompt import init_lpmm_prompt from src.chat.replyer.lpmm_prompt import init_lpmm_prompt
from src.chat.replyer.replyer_prompt import init_replyer_prompt from src.chat.replyer.replyer_prompt import init_replyer_prompt
from src.chat.replyer.rewrite_prompt import init_rewrite_prompt
init_lpmm_prompt() init_lpmm_prompt()
init_replyer_prompt() init_replyer_prompt()
init_rewrite_prompt()
logger = get_logger("replyer") logger = get_logger("replyer")

View File

@ -38,36 +38,8 @@ def init_replyer_prompt():
Prompt("你正在和{sender_name}聊天,这是你们之前聊的内容:", "chat_target_private1") Prompt("你正在和{sender_name}聊天,这是你们之前聊的内容:", "chat_target_private1")
Prompt("正在群里聊天", "chat_target_group2") Prompt("正在群里聊天", "chat_target_group2")
Prompt("{sender_name}聊天", "chat_target_private2") Prompt("{sender_name}聊天", "chat_target_private2")
Prompt(
"""
{expression_habits_block}
{relation_info_block}
{chat_target}
{time_block}
{chat_info}
{identity}
你现在的心情是{mood_state}
你正在{chat_target_2},{reply_target_block}
你想要对上述的发言进行回复回复的具体内容原句{raw_reply}
原因是{reason}
现在请你将这条具体内容改写成一条适合在群聊中发送的回复消息
你需要使用合适的语法和句法参考聊天内容组织一条日常且口语化的回复请你修改你想表达的原句符合你的表达风格和语言习惯
{reply_style}
你可以完全重组回复保留最基本的表达含义就好但重组后保持语意通顺
{keywords_reaction_prompt}
{moderation_prompt}
不要输出多余内容(包括前后缀冒号和引号括号表情包emoji,at或 @等 )只输出一条回复就好
现在你说
""",
"default_expressor_prompt",
)
Prompt( Prompt(
"""{knowledge_prompt}{relation_info_block}{tool_info_block}{extra_info_block} """{knowledge_prompt}{relation_info_block}{tool_info_block}{extra_info_block}
{expression_habits_block} {expression_habits_block}
@ -90,25 +62,23 @@ def init_replyer_prompt():
Prompt( Prompt(
"""{identity} """{knowledge_prompt}{relation_info_block}{tool_info_block}{extra_info_block}
{expression_habits_block}
你正在qq群里聊天下面是群里正在聊的内容:
{time_block} {time_block}
你现在正在一个QQ群里聊天以下是正在进行的聊天内容
{background_dialogue_prompt} {background_dialogue_prompt}
{expression_habits_block}{tool_info_block}
{knowledge_prompt}{relation_info_block}
{extra_info_block}
你现在想补充说明你刚刚自己的发言内容{target}原因是{reason} 你现在想补充说明你刚刚自己的发言内容{target}原因是{reason}
请你根据聊天内容组织一条新回复注意{target} 是刚刚你自己的发言你要在这基础上进一步发言请按照你自己的角度来继续进行回复 请你根据聊天内容组织一条新回复注意{target} 是刚刚你自己的发言你要在这基础上进一步发言请按照你自己的角度来继续进行回复注意保持上下文的连贯性
注意保持上下文的连贯性 {identity}
你现在的心情是{mood_state} 尽量简短一些{keywords_reaction_prompt}请注意把握聊天内容不要回复的太有条理可以有个性
{reply_style} {reply_style}
{keywords_reaction_prompt} 请注意不要输出多余内容(包括前后缀冒号和引号括号表情等)只输出回复内容
请注意不要输出多余内容(包括前后缀冒号和引号at或 @等 )只输出回复内容 {moderation_prompt}不要输出多余内容(包括前后缀冒号和引号括号表情包at或 @等 )
{moderation_prompt}
不要输出多余内容(包括前后缀冒号和引号括号()表情包emoji,at或 @等 )只输出一条回复就好
现在你说
""", """,
"replyer_self_prompt", "replyer_self_prompt",
) )

View File

@ -0,0 +1,66 @@
import traceback
import time
import asyncio
import random
import re
from typing import List, Optional, Dict, Any, Tuple
from datetime import datetime
from src.mais4u.mai_think import mai_thinking_manager
from src.common.logger import get_logger
from src.common.data_models.database_data_model import DatabaseMessages
from src.common.data_models.info_data_model import ActionPlannerInfo
from src.common.data_models.llm_data_model import LLMGenerationDataModel
from src.config.config import global_config, model_config
from src.llm_models.utils_model import LLMRequest
from src.chat.message_receive.message import UserInfo, Seg, MessageRecv, MessageSending
from src.chat.message_receive.chat_stream import ChatStream
from src.chat.message_receive.uni_message_sender import UniversalMessageSender
from src.chat.utils.timer_calculator import Timer # <--- Import Timer
from src.chat.utils.utils import get_chat_type_and_target_info
from src.chat.utils.prompt_builder import Prompt, global_prompt_manager
from src.chat.utils.chat_message_builder import (
build_readable_messages,
get_raw_msg_before_timestamp_with_chat,
replace_user_references,
)
from src.chat.express.expression_selector import expression_selector
# from src.chat.memory_system.memory_activator import MemoryActivator
from src.mood.mood_manager import mood_manager
from src.person_info.person_info import Person, is_person_known
from src.plugin_system.base.component_types import ActionInfo, EventType
from src.plugin_system.apis import llm_api
def init_rewrite_prompt():
Prompt("你正在qq群里聊天下面是群里正在聊的内容:", "chat_target_group1")
Prompt("你正在和{sender_name}聊天,这是你们之前聊的内容:", "chat_target_private1")
Prompt("正在群里聊天", "chat_target_group2")
Prompt("{sender_name}聊天", "chat_target_private2")
Prompt(
"""
{expression_habits_block}
{relation_info_block}
{chat_target}
{time_block}
{chat_info}
{identity}
你现在的心情是{mood_state}
你正在{chat_target_2},{reply_target_block}
你想要对上述的发言进行回复回复的具体内容原句{raw_reply}
原因是{reason}
现在请你将这条具体内容改写成一条适合在群聊中发送的回复消息
你需要使用合适的语法和句法参考聊天内容组织一条日常且口语化的回复请你修改你想表达的原句符合你的表达风格和语言习惯
{reply_style}
你可以完全重组回复保留最基本的表达含义就好但重组后保持语意通顺
{keywords_reaction_prompt}
{moderation_prompt}
不要输出多余内容(包括前后缀冒号和引号括号表情包emoji,at或 @等 )只输出一条回复就好
现在你说
""",
"default_expressor_prompt",
)