From f95f801f35aa201cbaffd7d881c07edc9398b570 Mon Sep 17 00:00:00 2001
From: zhaoqingang <zhaoqg0118@163.com>
Date: 星期一, 03 三月 2025 16:03:51 +0800
Subject: [PATCH] 增加外接知识库中转接口

---
 app/api/report.py |   16 ++++++++++++----
 1 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/app/api/report.py b/app/api/report.py
index 0d33194..00f80d9 100644
--- a/app/api/report.py
+++ b/app/api/report.py
@@ -8,6 +8,7 @@
 from Log import logger
 from app.api import get_current_user_websocket, ResponseList, get_current_user, format_file_url, process_files
 from app.config.config import settings
+from app.models import MenuCapacityModel
 from app.models.agent_model import AgentModel, AgentType
 from app.models.base_model import get_db
 from app.models.user_model import UserModel
@@ -23,11 +24,18 @@
                       chat_id: str,
                       current_user: UserModel = Depends(get_current_user_websocket),
                       db: Session = Depends(get_db)):
-    agent = db.query(AgentModel).filter(AgentModel.id == agent_id).first()
+    agent = db.query(MenuCapacityModel).filter(MenuCapacityModel.chat_id == agent_id).first()
+    if not agent:
+        agent = db.query(AgentModel).filter(AgentModel.id == agent_id).first()
+        agent_type = agent.agent_type
+        chat_type = agent.type
+    else:
+        agent_type = agent.capacity_type
+        chat_type = agent.chat_type
     if not agent:
         ret = {"message": "Agent not found", "type": "close"}
         return websocket.send_json(ret)
-    agent_type = agent.agent_type
+    # agent_type = agent.agent_type
     if chat_id == "" or chat_id == "0":
         ret = {"message": "Chat ID not found", "type": "close"}
         return websocket.send_json(ret)
@@ -36,7 +44,7 @@
         ret = {"message": "Agent error", "type": "close"}
         return websocket.send_json(ret)
 
-    token = get_bisheng_token(db, current_user.id)
+    token = await get_bisheng_token(db, current_user.id)
     service_uri = f"{settings.sgb_websocket_url}/api/v1/chat/{agent_id}?type=L1&t=&chat_id={chat_id}"
     headers = {'cookie': f"access_token_cookie={token};"}
 
@@ -165,7 +173,7 @@
         return ResponseList(code=404, msg="Agent not found")
     bisheng_service = BishengService(base_url=settings.sgb_base_url)
     try:
-        token = get_bisheng_token(db, current_user.id)
+        token = await get_bisheng_token(db, current_user.id)
         result = await bisheng_service.variable_list(token, agent_id)
     except Exception as e:
         raise HTTPException(status_code=500, detail=str(e))

--
Gitblit v1.8.0