From 282a631b9ceee9a634ee1d93751a5254ed37ccef Mon Sep 17 00:00:00 2001 From: zhaoqingang <zhaoqg0118@163.com> Date: 星期二, 18 三月 2025 10:10:48 +0800 Subject: [PATCH] 首页知识库对话-rg --- app/models/v2/chat.py | 21 +++++++++++++++++---- 1 files changed, 17 insertions(+), 4 deletions(-) diff --git a/app/models/v2/chat.py b/app/models/v2/chat.py index e41edcf..e7fa060 100644 --- a/app/models/v2/chat.py +++ b/app/models/v2/chat.py @@ -6,7 +6,7 @@ from sqlalchemy import Column, Integer, String, BigInteger, ForeignKey, DateTime, Text, TEXT from sqlalchemy.orm import Session -from app.config.const import Dialog_STATSU_DELETE +from app.config.const import Dialog_STATSU_DELETE, Dialog_STATSU_ON, complex_knowledge_chat from app.models.base_model import Base from app.utils.common import current_time @@ -23,6 +23,7 @@ class ChatDataRequest(BaseModel): sessionId: str + parentId: Optional[str] = "" query: str chatMode: Optional[int] = 1 # 1= 鏅�氬璇濓紝2=鑱旂綉锛�3=鐭ヨ瘑搴�,4=娣卞害 isDeep: Optional[int] = 1 # 1= 鏅��, 2=娣卞害 @@ -40,6 +41,7 @@ "files": self.files, "isDeep": self.isDeep, "optimizeType": self.optimizeType, + "parentId": self.parentId, } @@ -136,7 +138,7 @@ return [i.id for i in session_list] async def get_complex_chat_by_mode(self, chat_mode: int) -> ComplexChatModel | None: - session = self.db.query(ComplexChatModel).filter(ComplexChatModel.chat_mode==chat_mode, ComplexChatModel.status!=Dialog_STATSU_DELETE).first() + session = self.db.query(ComplexChatModel).filter(ComplexChatModel.chat_mode==chat_mode, ComplexChatModel.status==Dialog_STATSU_ON).first() return session @@ -182,12 +184,23 @@ 'content': self.content, } else: - return { + query = {} + if self.query: + query = json.loads(self.query) + + res = { 'id': self.id, 'role': "assistant", 'answer': self.content, - 'node_list': json.loads(self.node_data) if self.node_data else [], + 'chat_mode': self.chat_mode, + "parentId": query.get("parentId"), + "isDeep": query.get("isDeep", 1), } + if self.chat_mode == complex_knowledge_chat: + res['reference'] = json.loads(self.node_data) if self.node_data else {} + else: + res['node_list'] = json.loads(self.node_data) if self.node_data else [] + return res class ComplexChatSessionDao: -- Gitblit v1.8.0