From e455bbcfb07c1b8e8edf190f4ec749a0c4de1f7d Mon Sep 17 00:00:00 2001 From: Windpicker-owo <3431391539@qq.com> Date: Thu, 13 Nov 2025 23:08:05 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=20build=5Fchat=5Fstream=5Fim?= =?UTF-8?q?pression=20=E6=96=B9=E6=B3=95=EF=BC=8C=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=AF=B9=E7=8E=B0=E6=9C=89=20ChatStream=20=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=E7=9A=84=E6=9F=A5=E8=AF=A2=EF=BC=8C=E6=94=B9=E8=BF=9B=E5=B9=B3?= =?UTF-8?q?=E5=8F=B0=E4=BF=A1=E6=81=AF=E8=8E=B7=E5=8F=96=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/person_info/relationship_fetcher.py | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/person_info/relationship_fetcher.py b/src/person_info/relationship_fetcher.py index 7498fb911..cd0f2bb0a 100644 --- a/src/person_info/relationship_fetcher.py +++ b/src/person_info/relationship_fetcher.py @@ -258,11 +258,22 @@ class RelationshipFetcher: try: import time + from src.common.database.api.crud import CRUDBase from src.common.database.api.specialized import get_or_create_chat_stream + from src.common.database.core.models import ChatStreams + + # 先尝试通过stream_id直接查询现有记录 + crud = CRUDBase(ChatStreams) + existing_stream = await crud.get_by(stream_id=stream_id) + + platform = "unknown" + if existing_stream: + # 从现有记录获取platform + platform = getattr(existing_stream, 'platform', 'unknown') or "unknown" + logger.debug(f"从现有ChatStream获取到platform: {platform}, stream_id: {stream_id}") + else: + logger.debug(f"未找到现有ChatStream记录,使用默认platform: unknown, stream_id: {stream_id}") - # 使用优化后的API(带缓存) - # 从stream_id解析platform,或使用默认值 - platform = stream_id.split("_")[0] if "_" in stream_id else "unknown" current_time = time.time() stream, _ = await get_or_create_chat_stream( @@ -286,6 +297,7 @@ class RelationshipFetcher: "stream_impression_text": stream.__dict__.get("stream_impression_text"), "stream_chat_style": stream.__dict__.get("stream_chat_style"), "stream_topic_keywords": stream.__dict__.get("stream_topic_keywords"), + "stream_interest_score": stream.__dict__.get("stream_interest_score"), } except Exception as e: logger.warning(f"访问stream对象属性失败: {e}")