From 70c056b4fa41fc5599b01ee1a2beaa3a1b87ea7a Mon Sep 17 00:00:00 2001 From: Windpicker-owo <3431391539@qq.com> Date: Wed, 1 Oct 2025 18:30:47 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E5=85=BC=E5=AE=B9?= =?UTF-8?q?=E6=80=A7=E5=88=AB=E5=90=8D=E4=BB=A5=E6=94=AF=E6=8C=81=E5=A2=9E?= =?UTF-8?q?=E5=BC=BA=E8=AE=B0=E5=BF=86=E6=BF=80=E6=B4=BB=E5=99=A8=EF=BC=8C?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=90=91=E9=87=8F=E7=94=9F=E6=88=90=E9=80=BB?= =?UTF-8?q?=E8=BE=91=E5=B9=B6=E8=B0=83=E6=95=B4=E6=97=A5=E5=BF=97=E7=BA=A7?= =?UTF-8?q?=E5=88=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/chat/memory_system/__init__.py | 4 +++- .../enhanced_memory_activator.py | 2 ++ .../memory_system/unified_memory_storage.py | 24 +++++++++---------- src/chat/message_manager/context_manager.py | 2 +- 4 files changed, 18 insertions(+), 14 deletions(-) diff --git a/src/chat/memory_system/__init__.py b/src/chat/memory_system/__init__.py index 80bf0258c..66bdfe957 100644 --- a/src/chat/memory_system/__init__.py +++ b/src/chat/memory_system/__init__.py @@ -48,7 +48,8 @@ from .memory_manager import ( # 激活器 from .enhanced_memory_activator import ( MemoryActivator, - memory_activator + memory_activator, + enhanced_memory_activator ) # 格式化器 @@ -98,6 +99,7 @@ __all__ = [ # 激活器 "MemoryActivator", "memory_activator", + "enhanced_memory_activator", # 兼容性别名 # 格式化器 "MemoryFormatter", diff --git a/src/chat/memory_system/enhanced_memory_activator.py b/src/chat/memory_system/enhanced_memory_activator.py index e11e66e25..a9c5fc9cb 100644 --- a/src/chat/memory_system/enhanced_memory_activator.py +++ b/src/chat/memory_system/enhanced_memory_activator.py @@ -245,5 +245,7 @@ class MemoryActivator: # 创建全局实例 memory_activator = MemoryActivator() +# 兼容性别名 +enhanced_memory_activator = memory_activator init_prompt() \ No newline at end of file diff --git a/src/chat/memory_system/unified_memory_storage.py b/src/chat/memory_system/unified_memory_storage.py index 9b70a1691..42dffd61a 100644 --- a/src/chat/memory_system/unified_memory_storage.py +++ b/src/chat/memory_system/unified_memory_storage.py @@ -133,21 +133,21 @@ class UnifiedMemoryStorage: try: # 使用嵌入模型生成向量 - response, _ = await self.embedding_model.generate_response_async( - f"请为以下文本生成语义向量表示:{text}", - temperature=0.1 - ) - - # 这里需要实际的嵌入模型调用逻辑 - # 暂时返回随机向量作为占位符 - embedding = np.random.random(self.config.dimension).astype(np.float32) - + embedding, _ = await self.embedding_model.get_embedding(text) + + if embedding is None: + logger.warning(f"嵌入模型返回空向量,文本: {text[:50]}...") + return None + + # 转换为numpy数组 + embedding_array = np.array(embedding, dtype=np.float32) + # 归一化向量 - norm = np.linalg.norm(embedding) + norm = np.linalg.norm(embedding_array) if norm > 0: - embedding = embedding / norm + embedding_array = embedding_array / norm - return embedding + return embedding_array except Exception as e: logger.error(f"生成向量失败: {e}") diff --git a/src/chat/message_manager/context_manager.py b/src/chat/message_manager/context_manager.py index dd4daa2c3..77d03aff0 100644 --- a/src/chat/message_manager/context_manager.py +++ b/src/chat/message_manager/context_manager.py @@ -60,7 +60,7 @@ class SingleStreamContextManager: self.last_access_time = time.time() # 启动流的循环任务(如果还未启动) await stream_loop_manager.start_stream_loop(self.stream_id) - logger.info(f"添加消息{message.processed_plain_text}到单流上下文: {self.stream_id}") + logger.debug(f"添加消息{message.processed_plain_text}到单流上下文: {self.stream_id}") return True except Exception as e: logger.error(f"添加消息到单流上下文失败 {self.stream_id}: {e}", exc_info=True)