diff --git a/src/chat/express/expression_learner.py b/src/chat/express/expression_learner.py index ad75b565f..c1233cab3 100644 --- a/src/chat/express/expression_learner.py +++ b/src/chat/express/expression_learner.py @@ -106,7 +106,7 @@ class ExpressionLearner: # 获取该聊天流的学习强度 try: - use_expression, enable_learning, learning_intensity = global_config.expression.get_expression_config_for_chat(self.chat_id) + _, enable_learning, learning_intensity = global_config.expression.get_expression_config_for_chat(self.chat_id) except Exception as e: logger.error(f"获取聊天流 {self.chat_id} 的学习配置失败: {e}") return False @@ -129,7 +129,7 @@ class ExpressionLearner: timestamp_start=self.last_learning_time, timestamp_end=time.time(), ) - + if not recent_messages or len(recent_messages) < self.min_messages_for_learning: return False @@ -168,30 +168,30 @@ class ExpressionLearner: logger.error(f"为聊天流 {self.chat_name} 触发学习失败: {e}") return False - def get_expression_by_chat_id(self) -> Tuple[List[Dict[str, float]], List[Dict[str, float]]]: - """ - 获取指定chat_id的style表达方式(已禁用grammar的获取) - 返回的每个表达方式字典中都包含了source_id, 用于后续的更新操作 - """ - learnt_style_expressions = [] + # def get_expression_by_chat_id(self) -> Tuple[List[Dict[str, float]], List[Dict[str, float]]]: + # """ + # 获取指定chat_id的style表达方式(已禁用grammar的获取) + # 返回的每个表达方式字典中都包含了source_id, 用于后续的更新操作 + # """ + # learnt_style_expressions = [] - # 直接从数据库查询 - style_query = Expression.select().where((Expression.chat_id == self.chat_id) & (Expression.type == "style")) - for expr in style_query: - # 确保create_date存在,如果不存在则使用last_active_time - create_date = expr.create_date if expr.create_date is not None else expr.last_active_time - learnt_style_expressions.append( - { - "situation": expr.situation, - "style": expr.style, - "count": expr.count, - "last_active_time": expr.last_active_time, - "source_id": self.chat_id, - "type": "style", - "create_date": create_date, - } - ) - return learnt_style_expressions + # # 直接从数据库查询 + # style_query = Expression.select().where((Expression.chat_id == self.chat_id) & (Expression.type == "style")) + # for expr in style_query: + # # 确保create_date存在,如果不存在则使用last_active_time + # create_date = expr.create_date if expr.create_date is not None else expr.last_active_time + # learnt_style_expressions.append( + # { + # "situation": expr.situation, + # "style": expr.style, + # "count": expr.count, + # "last_active_time": expr.last_active_time, + # "source_id": self.chat_id, + # "type": "style", + # "create_date": create_date, + # } + # ) + # return learnt_style_expressions diff --git a/src/chat/heart_flow/heartflow_message_processor.py b/src/chat/heart_flow/heartflow_message_processor.py index 57f60dba5..10bf80929 100644 --- a/src/chat/heart_flow/heartflow_message_processor.py +++ b/src/chat/heart_flow/heartflow_message_processor.py @@ -142,7 +142,7 @@ class HeartFCMessageReceiver: else: logger.info(f"[{mes_name}]{userinfo.user_nickname}:{processed_plain_text}[兴趣度:{interested_rate:.2f}]") # type: ignore - person = Person.register_person(platform=message.message_info.platform, user_id=message.message_info.user_info.user_id,nickname=userinfo.user_nickname) + _ = Person.register_person(platform=message.message_info.platform, user_id=message.message_info.user_info.user_id,nickname=userinfo.user_nickname) # type: ignore except Exception as e: logger.error(f"消息处理失败: {e}") diff --git a/src/chat/replyer/default_generator.py b/src/chat/replyer/default_generator.py index 222fdfedf..70cb0f4bc 100644 --- a/src/chat/replyer/default_generator.py +++ b/src/chat/replyer/default_generator.py @@ -26,7 +26,7 @@ from src.chat.express.expression_selector import expression_selector from src.chat.memory_system.memory_activator import MemoryActivator from src.chat.memory_system.instant_memory import InstantMemory from src.mood.mood_manager import mood_manager -from src.person_info.person_info import Person, get_person_id_by_person_name,is_person_known +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 @@ -173,6 +173,7 @@ class DefaultReplyer: stream_id: Optional[str] = None, reply_message: Optional[Dict[str, Any]] = None, ) -> Tuple[bool, Optional[Dict[str, Any]], Optional[str]]: + # sourcery skip: merge-nested-ifs """ 回复器 (Replier): 负责生成回复文本的核心逻辑。 @@ -308,7 +309,7 @@ class DefaultReplyer: return person.build_relationship(points_num=5) - async def build_expression_habits(self, chat_history: str, target: str) -> Tuple[str, str]: + async def build_expression_habits(self, chat_history: str, target: str) -> str: """构建表达习惯块 Args: @@ -770,21 +771,21 @@ class DefaultReplyer: else: reply_target_block = "" - if is_group_chat: - chat_target_1 = await global_prompt_manager.get_prompt_async("chat_target_group1") - chat_target_2 = await global_prompt_manager.get_prompt_async("chat_target_group2") - else: - chat_target_name = "对方" - if self.chat_target_info: - chat_target_name = ( - self.chat_target_info.get("person_name") or self.chat_target_info.get("user_nickname") or "对方" - ) - chat_target_1 = await global_prompt_manager.format_prompt( - "chat_target_private1", sender_name=chat_target_name - ) - chat_target_2 = await global_prompt_manager.format_prompt( - "chat_target_private2", sender_name=chat_target_name - ) + # if is_group_chat: + # chat_target_1 = await global_prompt_manager.get_prompt_async("chat_target_group1") + # chat_target_2 = await global_prompt_manager.get_prompt_async("chat_target_group2") + # else: + # chat_target_name = "对方" + # if self.chat_target_info: + # chat_target_name = ( + # self.chat_target_info.get("person_name") or self.chat_target_info.get("user_nickname") or "对方" + # ) + # chat_target_1 = await global_prompt_manager.format_prompt( + # "chat_target_private1", sender_name=chat_target_name + # ) + # chat_target_2 = await global_prompt_manager.format_prompt( + # "chat_target_private2", sender_name=chat_target_name + # ) # 构建分离的对话 prompt @@ -846,8 +847,8 @@ class DefaultReplyer: is_group_chat = bool(chat_stream.group_info) if reply_message: - sender = reply_message.get("sender") - target = reply_message.get("target") + sender = reply_message.get("sender", "") + target = reply_message.get("target", "") else: sender, target = self._parse_reply_target(reply_to)