|
6 | 6 | import traceback |
7 | 7 | from src.common.logger import get_logger |
8 | 8 | from src.chat.utils.prompt_builder import Prompt, global_prompt_manager |
9 | | -from src.chat.message_receive.chat_stream import chat_manager |
10 | | -from src.person_info.relationship_manager import relationship_manager |
| 9 | +from src.chat.message_receive.chat_stream import get_chat_manager |
| 10 | +from src.person_info.relationship_manager import get_relationship_manager |
11 | 11 | from .base_processor import BaseProcessor |
12 | 12 | from typing import List, Optional |
13 | 13 | from typing import Dict |
14 | 14 | from src.chat.focus_chat.info.info_base import InfoBase |
15 | 15 | from src.chat.focus_chat.info.relation_info import RelationInfo |
16 | 16 | from json_repair import repair_json |
17 | | -from src.person_info.person_info import person_info_manager |
| 17 | +from src.person_info.person_info import get_person_info_manager |
18 | 18 | import json |
19 | 19 | import asyncio |
20 | 20 | from src.chat.utils.chat_message_builder import get_raw_msg_by_timestamp_with_chat |
21 | 21 |
|
| 22 | + |
22 | 23 | # 配置常量:是否启用小模型即时信息提取 |
23 | 24 | # 开启时:使用小模型并行即时提取,速度更快,但精度可能略低 |
24 | 25 | # 关闭时:使用原来的异步模式,精度更高但速度较慢 |
@@ -110,7 +111,7 @@ def __init__(self, subheartflow_id: str): |
110 | 111 | request_type="focus.relationship.instant", |
111 | 112 | ) |
112 | 113 |
|
113 | | - name = chat_manager.get_stream_name(self.subheartflow_id) |
| 114 | + name = get_chat_manager().get_stream_name(self.subheartflow_id) |
114 | 115 | self.log_prefix = f"[{name}] " |
115 | 116 |
|
116 | 117 | async def process_info( |
@@ -241,6 +242,7 @@ async def relation_identify( |
241 | 242 | instant_tasks = [] |
242 | 243 | async_tasks = [] |
243 | 244 |
|
| 245 | + person_info_manager = get_person_info_manager() |
244 | 246 | for person_name, info_type in content_json.items(): |
245 | 247 | person_id = person_info_manager.get_person_id_by_person_name(person_name) |
246 | 248 | if person_id: |
@@ -366,6 +368,7 @@ async def _fetch_single_info_instant(self, person_id: str, info_type: str, start |
366 | 368 | """ |
367 | 369 | 使用小模型提取单个信息类型 |
368 | 370 | """ |
| 371 | + person_info_manager = get_person_info_manager() |
369 | 372 | nickname_str = ",".join(global_config.bot.alias_names) |
370 | 373 | name_block = f"你的名字是{global_config.bot.nickname},你的昵称有{nickname_str},有人也会用这些昵称称呼你。" |
371 | 374 |
|
@@ -453,6 +456,7 @@ async def fetch_person_info(self, person_id: str, info_types: list[str], start_t |
453 | 456 | nickname_str = ",".join(global_config.bot.alias_names) |
454 | 457 | name_block = f"你的名字是{global_config.bot.nickname},你的昵称有{nickname_str},有人也会用这些昵称称呼你。" |
455 | 458 |
|
| 459 | + person_info_manager = get_person_info_manager() |
456 | 460 | person_name = await person_info_manager.get_value(person_id, "person_name") |
457 | 461 |
|
458 | 462 | info_type_str = "" |
@@ -534,6 +538,7 @@ async def update_impression_on_cache_expiry(self, person_id: str, chat_id: str, |
534 | 538 | impression_messages = get_raw_msg_by_timestamp_with_chat(chat_id, start_time, end_time) |
535 | 539 | if impression_messages: |
536 | 540 | logger.info(f"为 {person_id} 获取到 {len(impression_messages)} 条消息用于印象更新。") |
| 541 | + relationship_manager = get_relationship_manager() |
537 | 542 | await relationship_manager.update_person_impression( |
538 | 543 | person_id=person_id, timestamp=end_time, bot_engaged_messages=impression_messages |
539 | 544 | ) |
|
0 commit comments