better:日志系统现已可以动态更新

This commit is contained in:
SengokuCola
2025-03-26 22:42:19 +08:00
parent ee4a2f6e72
commit 572bffc273
11 changed files with 296 additions and 428 deletions

View File

@@ -79,10 +79,14 @@ async def start_background_tasks():
# 只启动表情包管理任务
asyncio.create_task(emoji_manager.start_periodic_check())
await bot_schedule.initialize()
bot_schedule.print_schedule()
@driver.on_startup
async def init_schedule():
"""在 NoneBot2 启动时初始化日程系统"""
bot_schedule.initialize(name=global_config.BOT_NICKNAME, personality=global_config.PROMPT_PERSONALITY, behavior=global_config.PROMPT_SCHEDULE_GEN, interval=global_config.SCHEDULE_DOING_UPDATE_INTERVAL)
asyncio.create_task(bot_schedule.mai_schedule_start())
@driver.on_startup
async def init_relationships():
"""在 NoneBot2 启动时初始化关系管理器"""
@@ -157,13 +161,13 @@ async def print_mood_task():
mood_manager.print_mood_status()
@scheduler.scheduled_job("interval", seconds=7200, id="generate_schedule")
async def generate_schedule_task():
"""每2小时尝试生成一次日程"""
logger.debug("尝试生成日程")
await bot_schedule.initialize()
if not bot_schedule.enable_output:
bot_schedule.print_schedule()
# @scheduler.scheduled_job("interval", seconds=7200, id="generate_schedule")
# async def generate_schedule_task():
# """每2小时尝试生成一次日程"""
# logger.debug("尝试生成日程")
# await bot_schedule.initialize()
# if not bot_schedule.enable_output:
# bot_schedule.print_schedule()
@scheduler.scheduled_job("interval", seconds=3600, id="remove_recalled_message")

View File

@@ -42,6 +42,7 @@ class BotConfig:
# schedule
ENABLE_SCHEDULE_GEN: bool = False # 是否启用日程生成
PROMPT_SCHEDULE_GEN = "无日程"
SCHEDULE_DOING_UPDATE_INTERVAL: int = 300 # 日程表更新间隔 单位秒
# message
MAX_CONTEXT_SIZE: int = 15 # 上下文最大消息数
@@ -219,6 +220,8 @@ class BotConfig:
schedule_config = parent["schedule"]
config.ENABLE_SCHEDULE_GEN = schedule_config.get("enable_schedule_gen", config.ENABLE_SCHEDULE_GEN)
config.PROMPT_SCHEDULE_GEN = schedule_config.get("prompt_schedule_gen", config.PROMPT_SCHEDULE_GEN)
config.SCHEDULE_DOING_UPDATE_INTERVAL = schedule_config.get(
"schedule_doing_update_interval", config.SCHEDULE_DOING_UPDATE_INTERVAL)
logger.info(
f"载入自定义日程prompt:{schedule_config.get('prompt_schedule_gen', config.PROMPT_SCHEDULE_GEN)}")

View File

@@ -51,13 +51,13 @@ class ResponseGenerator:
# 从global_config中获取模型概率值并选择模型
rand = random.random()
if rand < global_config.MODEL_R1_PROBABILITY:
self.current_model_type = "r1"
self.current_model_type = "深深地"
current_model = self.model_r1
elif rand < global_config.MODEL_R1_PROBABILITY + global_config.MODEL_V3_PROBABILITY:
self.current_model_type = "v3"
self.current_model_type = "浅浅的"
current_model = self.model_v3
else:
self.current_model_type = "r1_distill"
self.current_model_type = "又浅又浅的"
current_model = self.model_r1_distill
logger.info(f"{global_config.BOT_NICKNAME}{self.current_model_type}思考中")

View File

@@ -57,9 +57,7 @@ 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()
schedule_prompt = f'''你现在正在做的事情是:{bot_schedule.get_current_num_task(num = 1,time_info = False)}'''
# 获取聊天上下文
chat_in_group = True
@@ -173,8 +171,6 @@ class PromptBuilder:
prompt_check_if_response = ""
# print(prompt)
return prompt, prompt_check_if_response
def _build_initiative_prompt_select(self, group_id, probability_1=0.8, probability_2=0.1):