🤖 自动格式化代码 [skip ci]

This commit is contained in:
github-actions[bot]
2025-06-25 07:55:16 +00:00
parent b4440defeb
commit 284c248add
5 changed files with 50 additions and 51 deletions

4
bot.py
View File

@@ -2,6 +2,7 @@ import asyncio
import hashlib
import os
from dotenv import load_dotenv
if os.path.exists(".env"):
load_dotenv(".env", override=True)
print("成功加载环境变量配置")
@@ -13,9 +14,11 @@ import platform
import traceback
from pathlib import Path
from rich.traceback import install
# maim_message imports for console input
from maim_message import Seg, UserInfo, BaseMessageInfo, MessageBase
from src.chat.message_receive.bot import chat_bot
# 最早期初始化日志系统,确保所有后续模块都使用正确的日志格式
from src.common.logger import initialize_logging, get_logger, shutdown_logging
from src.main import MainSystem
@@ -26,7 +29,6 @@ initialize_logging()
logger = get_logger("main")
install(extra_lines=3)
# 设置工作目录为脚本所在目录

View File

@@ -12,6 +12,7 @@ from src.chat.utils.prompt_builder import Prompt, global_prompt_manager
logger = get_logger("expression_selector")
def init_prompt():
expression_evaluation_prompt = """
你的名字是{bot_name}
@@ -42,6 +43,7 @@ def init_prompt():
"""
Prompt(expression_evaluation_prompt, "expression_evaluation_prompt")
def weighted_sample(population: List[Dict], weights: List[float], k: int) -> List[Dict]:
"""按权重随机抽样"""
if not population or not weights or k <= 0:
@@ -66,6 +68,7 @@ def weighted_sample(population: List[Dict], weights: List[float], k: int) -> Lis
return selected
class ExpressionSelector:
def __init__(self):
self.expression_learner = get_expression_learner()
@@ -75,7 +78,9 @@ class ExpressionSelector:
request_type="expression.selector",
)
def get_random_expressions(self, chat_id: str, style_num: int, grammar_num: int, personality_num: int) -> Tuple[List[Dict[str, str]], List[Dict[str, str]]]:
def get_random_expressions(
self, chat_id: str, style_num: int, grammar_num: int, personality_num: int
) -> Tuple[List[Dict[str, str]], List[Dict[str, str]]]:
(
learnt_style_expressions,
learnt_grammar_expressions,
@@ -127,8 +132,9 @@ class ExpressionSelector:
# 找到匹配的表达方式并更新count
for expr in expressions:
if (expr.get("situation") == expression.get("situation") and
expr.get("style") == expression.get("style")):
if expr.get("situation") == expression.get("situation") and expr.get("style") == expression.get(
"style"
):
expr["count"] = expr.get("count", 1) * multiplier
expr["last_active_time"] = time.time()
break
@@ -234,10 +240,3 @@ try:
expression_selector = ExpressionSelector()
except Exception as e:
print(f"ExpressionSelector初始化失败: {e}")

View File

@@ -24,7 +24,6 @@ class ExpressionSelectorProcessor(BaseProcessor):
self.selection_interval = 10 # 40秒间隔
self.cached_expressions = [] # 缓存上一次选择的表达方式
name = get_chat_manager().get_stream_name(self.subheartflow_id)
self.log_prefix = f"[{name}] 表达选择器"
@@ -72,7 +71,9 @@ class ExpressionSelectorProcessor(BaseProcessor):
try:
# LLM模式调用LLM选择5-10个然后随机选5个
selected_expressions = await expression_selector.select_suitable_expressions_llm(self.subheartflow_id, chat_info)
selected_expressions = await expression_selector.select_suitable_expressions_llm(
self.subheartflow_id, chat_info
)
cache_size = len(selected_expressions) if selected_expressions else 0
mode_desc = f"LLM模式已缓存{cache_size}个)"
@@ -93,4 +94,3 @@ class ExpressionSelectorProcessor(BaseProcessor):
except Exception as e:
logger.error(f"{self.log_prefix} 处理表达方式选择时出错: {e}")
return []

View File

@@ -163,7 +163,9 @@ class PromptBuilder:
show_actions=True,
)
expressions = expression_selector.select_suitable_expressions_llm(chat_stream.stream_id, chat_talking_prompt_half)
expressions = expression_selector.select_suitable_expressions_llm(
chat_stream.stream_id, chat_talking_prompt_half
)
style_habbits = []
grammar_habbits = []
if expressions:

View File

@@ -99,9 +99,7 @@ class Individuality:
logger.info("已将完整人设更新到bot的impression中")
# 创建压缩版本的short_impression
asyncio.create_task(self._create_compressed_impression(
personality_core, personality_sides, identity_detail
))
asyncio.create_task(self._create_compressed_impression(personality_core, personality_sides, identity_detail))
asyncio.create_task(self.express_style.extract_and_store_personality_expressions())
@@ -430,9 +428,7 @@ class Individuality:
# 更新short_impression字段
if result:
person_info_manager = get_person_info_manager()
await person_info_manager.update_one_field(
self.bot_person_id, "short_impression", result
)
await person_info_manager.update_one_field(self.bot_person_id, "short_impression", result)
logger.info("已将压缩人设更新到bot的short_impression中")