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