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