From 081a109d369966182e5d6e4ff3ab38bb8512b498 Mon Sep 17 00:00:00 2001
From: zhaoqingang <zhaoqg0118@163.com>
Date: 星期三, 20 十一月 2024 15:59:01 +0800
Subject: [PATCH] 优化
---
app/service/ragflow.py | 12 +++++-------
app/service/service_token.py | 35 +++++++++++++++++++++++++++++++++++
app/service/dialog.py | 3 +--
app/service/user.py | 6 ++----
4 files changed, 43 insertions(+), 13 deletions(-)
diff --git a/app/service/dialog.py b/app/service/dialog.py
index 3af1363..ea75db8 100644
--- a/app/service/dialog.py
+++ b/app/service/dialog.py
@@ -1,6 +1,5 @@
from datetime import datetime
-from app.api.user import user_list
from app.models import KnowledgeModel, GroupModel, DialogModel, ConversationModel
from app.models.user_model import UserModel
from Log import logger
@@ -29,7 +28,7 @@
session_id = data.get("id")
if not session_id:
logger.error("鏇存柊鍥炶瘽璁板綍澶辫触锛亄}".format(data))
-
+ return
data["create_date"] = datetime.strptime(data["create_date"], '%a, %d %b %Y %H:%M:%S %Z')
data["update_date"] = datetime.strptime(data["update_date"], '%a, %d %b %Y %H:%M:%S %Z')
if is_new:
diff --git a/app/service/ragflow.py b/app/service/ragflow.py
index 03e92ea..34e8307 100644
--- a/app/service/ragflow.py
+++ b/app/service/ragflow.py
@@ -182,11 +182,11 @@
async def get_knowledge_list(self, token: str, page_index: int, page_size: int) -> str:
url = f"{self.base_url}/v1/kb/list"
headers = {"Authorization": token}
- params = {"page": page_index, "page_size": page_size}
+ # params = {"page": page_index, "page_size": page_size}
+ params = {}
async with httpx.AsyncClient(timeout=60) as client:
response = await client.get(url, headers=headers, params=params)
res = self._handle_response(response)
- print(res)
return res
@@ -204,10 +204,8 @@
data = {"password": password, "new_password":new_password}
async with httpx.AsyncClient(timeout=60) as client:
- response = await client.post(url, headers=headers, data=data)
- print(response.text)
+ response = await client.post(url, headers=headers, json=data)
data = self._handle_response(response)
- print(data)
# logger.info("set_user_password:{}".format(data))
return data
@@ -215,8 +213,8 @@
if __name__ == "__main__":
async def a():
a = RagflowService("http://192.168.20.119:11080")
- b = await a.set_user_password("IjYwYjg1MTFjYTY1NTExZWY4ODZlMDI0MmFjMTMwMDA2Ig.ZzxUxQ.8rIH2HifXNWtkNsnODv6XFHjGVU", "123456",
- "000000")
+ b = await a.get_knowledge_list("ImY3ZTZlZWQwYTY2NTExZWY5ZmFiMDI0MmFjMTMwMDA2Ig.Zzxwmw.uI_HAWzOkipQuga1aeQtoeIc3IM", 1,
+ 10)
print(b)
import asyncio
diff --git a/app/service/service_token.py b/app/service/service_token.py
index 9c54fed..15ded3b 100644
--- a/app/service/service_token.py
+++ b/app/service/service_token.py
@@ -1,4 +1,9 @@
+from Log import logger
+from app.config.config import settings
+from app.models import UserModel
from app.models.token_model import TokenModel
+from app.service.bisheng import BishengService
+from app.service.ragflow import RagflowService
def get_bisheng_token(db, user_id: int):
@@ -13,3 +18,33 @@
if not token:
return None
return token.ragflow_token
+
+
+async def get_ragflow_new_token(db, user_id: int, app_type):
+ user = db.query(UserModel).filter(UserModel.id == user_id).first()
+ if not user:
+ return None
+ if app_type == 1:
+ ragflow_service = RagflowService(settings.fwr_base_url)
+ # 鐧诲綍鍒皉agflow
+ try:
+ ragflow_token = await ragflow_service.login(user.username, user.decrypted_password())
+ return ragflow_token
+ except Exception as e:
+ logger.error(e)
+ # return Response(code=500, msg=f"Failed to login with Ragflow: {str(e)}")
+ return None
+ elif app_type == 2:
+ bisheng_service = BishengService(settings.sgb_base_url)
+ # 鐧诲綍鍒版瘯鏄�
+ try:
+ bisheng_token = await bisheng_service.login(user.username, user.decrypted_password())
+ return bisheng_token
+ except Exception as e:
+ logger.error(e)
+ # return Response(code=500, msg=f"Failed to login with Ragflow: {str(e)}")
+ return None
+
+ else:
+ logger.error("閿欒鐨勫簲鐢ㄧ被鍨媨}".format(app_type))
+
diff --git a/app/service/user.py b/app/service/user.py
index 6cf7c1e..f5cc7ea 100644
--- a/app/service/user.py
+++ b/app/service/user.py
@@ -8,7 +8,7 @@
from app.service.bisheng import BishengService
from app.service.common.app_register import AppRegister
from app.service.ragflow import RagflowService
-from app.service.service_token import get_ragflow_token, get_bisheng_token
+from app.service.service_token import get_ragflow_token, get_bisheng_token, get_ragflow_new_token
async def get_user_list(db, page_index: int, page_size: int, keyword: str, role_key:str, user_id):
@@ -104,11 +104,9 @@
try:
user = db.query(UserModel).filter(UserModel.id == user_id).first()
pwd = user.decrypted_password()
- print(pwd)
- print(new_password)
for app_type in AppRegister(db).get_app():
if app_type == AgentType.RAGFLOW:
- token = get_ragflow_token(db, user_id)
+ token = await get_ragflow_new_token(db, user_id, app_type)
ragflow_service = RagflowService(settings.fwr_base_url)
await ragflow_service.set_user_password(token, pwd, new_password)
elif app_type == AgentType.BISHENG:
--
Gitblit v1.8.0