| | |
| | | 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 |
| | |
| | | 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: |
| | |
| | | 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 |
| | | |
| | | |
| | |
| | | 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 |
| | | |
| | |
| | | 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 |
| | |
| | | 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): |
| | |
| | | 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) |
| | | # 登录到ragflow |
| | | 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)) |
| | | |
| | |
| | | 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): |
| | |
| | | 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: |