From 3b1bf7da6771bd1d6852d3dcc1f906d5ae5c95d1 Mon Sep 17 00:00:00 2001 From: zhaoqingang <zhaoqg0118@163.com> Date: 星期三, 12 三月 2025 13:49:12 +0800 Subject: [PATCH] 增加内容优化 --- app/service/session.py | 17 +++++++++++++---- 1 files changed, 13 insertions(+), 4 deletions(-) diff --git a/app/service/session.py b/app/service/session.py index 7e43223..16ef53d 100644 --- a/app/service/session.py +++ b/app/service/session.py @@ -1,3 +1,4 @@ +import json from typing import Type from sqlalchemy.orm import Session @@ -11,8 +12,10 @@ def __init__(self, db: Session): self.db = db - def create_session(self, session_id: str, name: str, agent_id: str, agent_type: AgentType, user_id: int) -> Type[ + + def create_session(self, session_id: str, name: str, agent_id: str, agent_type: AgentType, user_id: int, message: dict = None, workflow_type: int = 0) -> Type[ SessionModel] | SessionModel: + """ 鍒涘缓涓�涓柊鐨勪細璇濊褰曘�� @@ -25,9 +28,13 @@ 杩斿洖: SessionModel: 鏂板垱寤虹殑浼氳瘽妯″瀷瀹炰緥锛屽鏋滀細璇滻D宸插瓨鍦ㄥ垯杩斿洖None銆� """ + if not message: + message = {"role": "user", "content": name} existing_session = self.get_session_by_id(session_id) if existing_session: - existing_session.add_message({"role": "user", "content": name}) + print("update success") + # existing_session.add_message({"role": "user", "content": name}) + existing_session.add_message(message) existing_session.update_date = current_time() self.db.commit() self.db.refresh(existing_session) @@ -39,7 +46,8 @@ agent_id=agent_id, agent_type=agent_type, tenant_id=user_id, - message=[{"role": "user", "content": name}] + workflow=workflow_type, + message = json.dumps([message]) ) self.db.add(new_session) self.db.commit() @@ -57,7 +65,7 @@ SessionModel: 鏌ユ壘鍒扮殑浼氳瘽妯″瀷瀹炰緥锛屽鏋滄湭鎵惧埌鍒欒繑鍥濶one銆� """ session = self.db.query(SessionModel).filter_by(id=session_id).first() - if session.message is None: + if session and session.message is None: session.message = '[]' return session @@ -87,6 +95,7 @@ self.db.commit() self.db.refresh(session) except Exception as e: + logger.error(e) self.db.rollback() return session -- Gitblit v1.8.0