From b663fe4535cdb13a28936ea21d908e9191a64c16 Mon Sep 17 00:00:00 2001
From: zhaoqingang <zhaoqg0118@163.com>
Date: 星期一, 31 三月 2025 11:00:57 +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