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