From 2c9e5df27dde50bf63bd2fdbd42b182e5d3b9748 Mon Sep 17 00:00:00 2001 From: lixinyue <2569494688@qq.com> Date: Wed, 14 Jan 2026 15:34:45 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=A8=E6=88=B7=E8=AF=A6=E6=83=85=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/app/schemas/memory_episodic_schema.py | 6 ++++++ api/app/services/user_memory_service.py | 4 +++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/api/app/schemas/memory_episodic_schema.py b/api/app/schemas/memory_episodic_schema.py index 6b41c493..832bf34b 100644 --- a/api/app/schemas/memory_episodic_schema.py +++ b/api/app/schemas/memory_episodic_schema.py @@ -40,6 +40,12 @@ class EmotionType(ABC): "anger":"生气", "neutral":"中性" } +class EmotionSubject(ABC): + SUBJECT_MAPPING={ + "self":"自己", + "other":"别人", + "object":"事物对象" + } class EpisodicMemoryOverviewRequest(BaseModel): """情景记忆总览查询请求""" diff --git a/api/app/services/user_memory_service.py b/api/app/services/user_memory_service.py index d19726af..5011e83e 100644 --- a/api/app/services/user_memory_service.py +++ b/api/app/services/user_memory_service.py @@ -15,7 +15,7 @@ from app.core.memory.utils.llm.llm_utils import MemoryClientFactory from app.db import get_db_context from app.repositories.end_user_repository import EndUserRepository from app.repositories.neo4j.neo4j_connector import Neo4jConnector -from app.schemas.memory_episodic_schema import type_mapping, EmotionType +from app.schemas.memory_episodic_schema import type_mapping, EmotionType, EmotionSubject from app.services.memory_base_service import MemoryBaseService from app.services.memory_config_service import MemoryConfigService @@ -1584,6 +1584,8 @@ async def _extract_node_properties(label: str, properties: Dict[str, Any],node_ value=type_mapping.get(value,'') if str(field)=="emotion_type": value=EmotionType.EMOTION_MAPPING.get(value) + if str(field)=="emotion_subject": + value=EmotionSubject.SUBJECT_MAPPING.get(value) # 清理 Neo4j 特殊类型 filtered_props[field] = _clean_neo4j_value(value) filtered_props['associative_memory']=[i['rel_count'] for i in node_results][0]