feat: 注释掉日程相关代码,优化提示信息逻辑

pull/541/head
XBC_D2O 2025-03-11 00:08:22 +08:00
parent 595c375b60
commit e437d8f58c
4 changed files with 23 additions and 23 deletions

View File

@ -8,7 +8,7 @@ from nonebot.typing import T_State
from ...common.database import Database
from ..moods.moods import MoodManager # 导入情绪管理器
from ..schedule.schedule_generator import bot_schedule
# from ..schedule.schedule_generator import bot_schedule
from ..utils.statistic import LLMStatistics
from .bot import chat_bot
from .config import global_config

View File

@ -6,7 +6,7 @@ from loguru import logger
from ...common.database import Database
from ..memory_system.memory import hippocampus, memory_graph
from ..moods.moods import MoodManager
from ..schedule.schedule_generator import bot_schedule
#from ..schedule.schedule_generator import bot_schedule
from .config import global_config
from .utils import get_embedding, get_recent_group_detailed_plain_text
@ -51,10 +51,10 @@ class PromptBuilder:
mood_prompt = mood_manager.get_prompt()
# 日程构建
current_date = time.strftime("%Y-%m-%d", time.localtime())
current_time = time.strftime("%H:%M:%S", time.localtime())
bot_schedule_now_time, bot_schedule_now_activity = bot_schedule.get_current_task()
prompt_date = f'''今天是{current_date},现在是{current_time},你今天的日程是:\n{bot_schedule.today_schedule}\n你现在正在{bot_schedule_now_activity}\n'''
# current_date = time.strftime("%Y-%m-%d", time.localtime())
# current_time = time.strftime("%H:%M:%S", time.localtime())
# bot_schedule_now_time, bot_schedule_now_activity = bot_schedule.get_current_task()
# prompt_date = f'''今天是{current_date},现在是{current_time},你今天的日程是:\n{bot_schedule.today_schedule}\n你现在正在{bot_schedule_now_activity}\n'''
# 知识构建
start_time = time.time()
@ -135,16 +135,16 @@ class PromptBuilder:
personality_choice = random.random()
if personality_choice < probability_1: # 第一种人格
prompt_personality = f'''{activate_prompt}你的网名叫{global_config.BOT_NICKNAME}{personality[0]}, 你正在浏览qq群,{promt_info_prompt},
现在请你给出日常且口语化的回复平淡一些尽量简短一些{keywords_reaction_prompt}
请注意把握群里的聊天内容不要刻意突出自身学科背景不要回复的太有条理可以有个性'''
现在请你给出日常且口语化的回复{keywords_reaction_prompt}
请注意把握群里的聊天内容回复可以有个性'''
elif personality_choice < probability_1 + probability_2: # 第二种人格
prompt_personality = f'''{activate_prompt}你的网名叫{global_config.BOT_NICKNAME}{personality[1]}, 你正在浏览qq群{promt_info_prompt},
现在请你给出日常且口语化的回复请表现你自己的见解不要一昧迎合尽量简短一些{keywords_reaction_prompt}
你表达自己的见解和观点可以有个性'''
现在请你给出日常且口语化的回复{keywords_reaction_prompt}
注意把握群里的聊天内容回复可以有个性'''
else: # 第三种人格
prompt_personality = f'''{activate_prompt}你的网名叫{global_config.BOT_NICKNAME}{personality[2]}, 你正在浏览qq群{promt_info_prompt},
现在请你给出日常且口语化的回复请表现你自己的见解不要一昧迎合尽量简短一些{keywords_reaction_prompt}
你表达自己的见解和观点可以有个性'''
现在请你给出日常且口语化的回复{keywords_reaction_prompt}
注意把握群里的聊天内容回复可以有个性'''
# 中文高手(新加的好玩功能)
prompt_ger = ''
@ -152,16 +152,16 @@ class PromptBuilder:
prompt_ger += '你喜欢用倒装句'
if random.random() < 0.02:
prompt_ger += '你喜欢用反问句'
if random.random() < 0.01:
prompt_ger += '你喜欢用文言文'
#if random.random() < 0.01:
# prompt_ger += '你喜欢用文言文'
# 额外信息要求
extra_info = '''但是记得回复平淡一些,简短一些,尤其注意在没明确提到时不要过多提及自身的背景, 不要直接回复别人发的表情包,记住不要输出多余内容(包括前后缀,冒号和引号,括号,表情等),只需要输出回复内容就好,不要输出其他任何内容'''
extra_info = '''尤其注意在没明确提到时不要过多提及自身的背景, 不要直接回复别人发的表情包,记住不要输出多余内容(包括前后缀,冒号和引号,括号,表情等),只需要输出回复内容就好,不要输出其他任何内容'''
# 合并prompt
prompt = ""
prompt += f"{prompt_info}\n"
prompt += f"{prompt_date}\n"
#prompt += f"{prompt_date}\n"
prompt += f"{chat_talking_prompt}\n"
prompt += f"{prompt_personality}\n"
prompt += f"{prompt_ger}\n"
@ -178,8 +178,8 @@ class PromptBuilder:
else: # 第三种人格
prompt_personality_check = f'''你的网名叫{global_config.BOT_NICKNAME}{personality[2]}, 你正在浏览qq群{promt_info_prompt} {activate_prompt_check} {extra_check_info}'''
prompt_check_if_response = f"{prompt_info}\n{prompt_date}\n{chat_talking_prompt}\n{prompt_personality_check}"
prompt_check_if_response = f"{prompt_info}\n{chat_talking_prompt}\n{prompt_personality_check}"
#{prompt_date}\n
return prompt, prompt_check_if_response
def _build_initiative_prompt_select(self, group_id, probability_1=0.8, probability_2=0.1):

View File

@ -255,10 +255,10 @@ def split_into_sentences_w_remove_punctuation(text: str) -> List[str]:
text_no_1 = ''
for letter in text:
# print(f"当前字符: {letter}")
if letter in ['!', '', '?', '']:
# print(f"当前字符: {letter}, 随机数: {random.random()}")
if random.random() < split_strength:
letter = ''
# if letter in ['!', '', '?', '']:
# # print(f"当前字符: {letter}, 随机数: {random.random()}")
# if random.random() < split_strength:
# letter = ''
if letter in ['', '']:
# print(f"当前字符: {letter}, 随机数: {random.random()}")
if random.random() < 1 - split_strength:

View File

@ -49,7 +49,7 @@ class ScheduleGenerator:
async def generate_daily_schedule(self, target_date: datetime.datetime = None, read_only: bool = False) -> Dict[
str, str]:
return '忘了', None
date_str = target_date.strftime("%Y-%m-%d")
weekday = target_date.strftime("%A")