From b663fe4535cdb13a28936ea21d908e9191a64c16 Mon Sep 17 00:00:00 2001
From: zhaoqingang <zhaoqg0118@163.com>
Date: 星期一, 31 三月 2025 11:00:57 +0800
Subject: [PATCH] 问题优化

---
 app/config/env_conf/default_agent_conf.json |   11 +++++++++++
 app/service/v2/chat.py                      |    2 +-
 app/config/const.py                         |    2 ++
 app/api/v2/chat.py                          |    6 +++++-
 app/service/v2/initialize_data.py           |    3 ++-
 app/models/v2/chat.py                       |    4 ++--
 6 files changed, 23 insertions(+), 5 deletions(-)

diff --git a/app/api/v2/chat.py b/app/api/v2/chat.py
index c10df3e..f9bbb11 100644
--- a/app/api/v2/chat.py
+++ b/app/api/v2/chat.py
@@ -6,7 +6,8 @@
 from sqlalchemy.orm import Session
 from starlette.responses import StreamingResponse, Response
 from app.api import get_current_user, get_api_key
-from app.config.const import smart_message_error, http_400, http_500, http_200, complex_dialog_chat
+from app.config.const import smart_message_error, http_400, http_500, http_200, complex_dialog_chat, \
+    complex_knowledge_chat_deep, complex_knowledge_chat
 from app.models import UserModel
 from app.models.base_model import get_db
 from app.models.v2.chat import RetrievalRequest, ChatDataRequest, ComplexChatDao
@@ -134,6 +135,9 @@
 
 @chat_router_v2.post("/complex/chat/completions")
 async def api_complex_chat_completions(chat: ChatDataRequest, current_user: UserModel = Depends(get_current_user), db: Session = Depends(get_db)): #  current_user: UserModel = Depends(get_current_user)
+    # chat_mode = chat.chatMode
+    if chat.isDeep == 2 and chat.chatMode == complex_knowledge_chat:
+        chat.chatMode = complex_knowledge_chat_deep
     complex_chat = await ComplexChatDao(db).get_complex_chat_by_mode(chat.chatMode)
     if complex_chat:
         if not chat.sessionId:
diff --git a/app/config/const.py b/app/config/const.py
index 9c369f7..30ee790 100644
--- a/app/config/const.py
+++ b/app/config/const.py
@@ -125,6 +125,8 @@
 complex_clean_chat = 7 # 娓呮礂
 complex_title_chat = 8 # 灏忔爣棰�
 complex_report_chat = 9 # 鎶ュ憡
+complex_knowledge_chat_deep = 10 # 鐭ヨ瘑搴撳璇�-娣卞害瀵硅瘽
+
 
 ### --------------------------------basic develop agent---------------------------------------------------
 basic_report_talk ="basic_report_talk"
\ No newline at end of file
diff --git a/app/config/env_conf/default_agent_conf.json b/app/config/env_conf/default_agent_conf.json
index 1829e05..84d7c40 100644
--- a/app/config/env_conf/default_agent_conf.json
+++ b/app/config/env_conf/default_agent_conf.json
@@ -227,6 +227,17 @@
       },
       "dialogType": "4",
       "mode": "complex-chat"
+    },
+    {
+      "id": "8f3e8d9c0bab11f0896e0242ac120006",
+      "name": "鐭ヨ瘑搴撲笓瀹�-娣卞害",
+      "description": "鐭ヨ瘑搴撲笓瀹�",
+      "icon": "intellFrame4",
+      "chat_mode": 10,
+      "parameters": {
+      },
+      "dialogType": "1",
+      "mode": "complex-chat"
     }
   ]
 }
\ No newline at end of file
diff --git a/app/models/v2/chat.py b/app/models/v2/chat.py
index 1397edc..1ee30d2 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, Dialog_STATSU_ON, complex_knowledge_chat
+from app.config.const import Dialog_STATSU_DELETE, Dialog_STATSU_ON, complex_knowledge_chat, complex_knowledge_chat_deep
 from app.models.base_model import Base
 from app.utils.common import current_time
 
@@ -198,7 +198,7 @@
                 "isDeep": query.get("isDeep", 1),
                 "mindmap": True if self.mindmap else False,
             }
-            if self.chat_mode == complex_knowledge_chat:
+            if self.chat_mode == complex_knowledge_chat or self.chat_mode == complex_knowledge_chat_deep:
                 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 []
diff --git a/app/service/v2/chat.py b/app/service/v2/chat.py
index 0919b08..9f83c63 100644
--- a/app/service/v2/chat.py
+++ b/app/service/v2/chat.py
@@ -550,7 +550,7 @@
 
     query_data["parentId"] = new_message_id
     try:
-        if chat_request.chatMode == complex_knowledge_chat:
+        if chat_request.chatMode == complex_knowledge_chat or chat_request.chatMode == complex_knowledge_chat_deep:
             if not conversation_id:
                 session = await service_chat_sessions(db, chat_id, chat_request.query)
                 # print(session)
diff --git a/app/service/v2/initialize_data.py b/app/service/v2/initialize_data.py
index 9fb5792..1cfad66 100644
--- a/app/service/v2/initialize_data.py
+++ b/app/service/v2/initialize_data.py
@@ -10,7 +10,7 @@
 from app.config.agent_base_url import RG_APP_TOKEN_LIST, RG_APP_NEW_TOKEN, DF_CHAT_API_KEY
 # from app.api import pwd_context
 from app.config.const import DIFY, ENV_CONF_PATH, RAGFLOW, smart_server, chat_server, workflow_server, TMP_DICT, \
-    rg_api_token
+    rg_api_token, Dialog_STATSU_ON
 from app.models import MenuCapacityModel, WebMenuModel, GroupModel, RoleModel, DialogModel, UserModel, UserAppModel, \
     cipher_suite, UserTokenModel, ApiTokenModel, ComplexChatModel
 from app.service.auth import UserAppDao
@@ -172,6 +172,7 @@
                 dialog.icon = agent["icon"]
                 dialog.mode = agent["mode"]
                 dialog.chat_mode = agent["chat_mode"]
+                dialog.status = Dialog_STATSU_ON
                 # dialog.parameters = json.dumps(agent["parameters"])
                 db.commit()
             except Exception as e:

--
Gitblit v1.8.0