From b24fbbcb8b42d147fa81b22275e57b5844a1fdc8 Mon Sep 17 00:00:00 2001 From: zhaoqingang <zhaoqg0118@163.com> Date: 星期三, 25 十二月 2024 09:43:54 +0800 Subject: [PATCH] 问题优化 --- app/models/role_model.py | 2 +- app/service/ragflow.py | 34 ++++++++++++++++++++++------------ app/service/service_token.py | 7 ------- app/service/group.py | 7 ++++--- app/task/fetch_agent.py | 6 +++--- app/models/group_model.py | 3 ++- 6 files changed, 32 insertions(+), 27 deletions(-) diff --git a/app/models/group_model.py b/app/models/group_model.py index d5135b2..281692d 100644 --- a/app/models/group_model.py +++ b/app/models/group_model.py @@ -6,6 +6,7 @@ from pydantic import BaseModel from sqlalchemy.orm import relationship, backref +from app.config.const import Dialog_STATSU_DELETE from app.models.base_model import Base @@ -94,7 +95,7 @@ json['knowledges'] = [knowledge.to_json() for knowledge in self.knowledges] # if len(self.dialogs.all()) > 0: - json['dialogs'] = [dialog.to_json() for dialog in self.dialogs] + json['dialogs'] = [dialog.to_json() for dialog in self.dialogs if dialog.status != Dialog_STATSU_DELETE] # if len(self.agents.all()) > 0: # json['agents'] = [agent.to_json() for agent in self.agents] diff --git a/app/models/role_model.py b/app/models/role_model.py index 23231de..3d4dbda 100644 --- a/app/models/role_model.py +++ b/app/models/role_model.py @@ -62,7 +62,7 @@ # if len(self.resources) > 0: json['resources'] = [resource.to_json() for resource in self.resources if resource.status != DEPT_STATUS_DELETE] - json['dept'] = [dept.to_base_json() for dept in self.organizationsif if dept.status != RESOURCE_STATUS_DELETE] + json['dept'] = [dept.to_base_json() for dept in self.organizations if dept.status != RESOURCE_STATUS_DELETE] return json diff --git a/app/service/group.py b/app/service/group.py index 7218e3a..474084b 100644 --- a/app/service/group.py +++ b/app/service/group.py @@ -1,5 +1,7 @@ from app.config.config import settings -from app.models import CanvasModel, DialogModel, KnowledgeModel +from app.models.dialog_model import DialogModel +from app.models.knowledge_model import KnowledgeModel +from app.models.llm_model import CommonLlmModel from app.models.group_model import GroupModel from app.models.user_model import UserModel from app.service.ragflow import RagflowService @@ -15,7 +17,6 @@ if keyword: query = query.filter(GroupModel.group_name.like('%{}%'.format(keyword))) total = query.count() - print(total) items = query.order_by(GroupModel.id.desc()).limit(page_size).offset((page_index - 1) * page_size) return {"total":total , "items": [item.to_json() for item in items.all()]} @@ -115,7 +116,7 @@ async def save_group_resource(db, user_id, group_id, llms, dialogs, knowledges): try: group = db.query(GroupModel).filter(GroupModel.id.__eq__(group_id)).first() - group.llms = [db.get(CommonLlmModel, user) for user in llms] + group.dialogs = [db.get(DialogModel, user) for user in dialogs] group.knowledges = [db.get(KnowledgeModel, user) for user in knowledges] db.commit() diff --git a/app/service/ragflow.py b/app/service/ragflow.py index d45806d..f10902f 100644 --- a/app/service/ragflow.py +++ b/app/service/ragflow.py @@ -178,7 +178,7 @@ data = {"email": email, "user_id": user_id} async with httpx.AsyncClient(timeout=60) as client: response = await client.post(url, headers=headers, json=data) - print(response) + print(response.text) if response.status_code != 200: raise Exception(f"Ragflow add user to tenant failed: {response.text}") @@ -212,16 +212,26 @@ # logger.info("set_user_password:{}".format(data)) return data + async def agree_tenant_role(self, token: str, tenant_id: str) -> str: + url = f"{self.base_url}/v1/tenant/agree/{tenant_id}" + headers = {"Authorization": token} + data = {} + async with httpx.AsyncClient(timeout=60) as client: + response = await client.put(url, headers=headers, json=data) + print(response.text) + if response.status_code != 200: + raise Exception(f"Ragflow add user to tenant failed: {response.text}") + if __name__ == "__main__": - # async def a(): - # a = RagflowService("http://192.168.20.119:11080") - # b = await a.get_knowledge_list("ImY3ZTZlZWQwYTY2NTExZWY5ZmFiMDI0MmFjMTMwMDA2Ig.Zzxwmw.uI_HAWzOkipQuga1aeQtoeIc3IM", 1, - # 10) - # print(b) - # - # import asyncio - # - # asyncio.run(a()) - password = RagflowCrypto(settings.PUBLIC_KEY, settings.PRIVATE_KEY).encrypt("123456") - print(password) + async def a(): + a = RagflowService("http://192.168.20.119:11080") + b = await a.agree_tenant_role("ImQ3MGY1NGFhYzFkZjExZWY5MDFmMDI0MmFjMTMwMDA2Ig.Z2qJfA.hJX4rPnnmlkUzpjIl0YGcM-yp1M", "fe24dd2c9be611ef92880242ac160006") + print(b) + print(b) + + import asyncio + + asyncio.run(a()) + # password = RagflowCrypto(settings.PUBLIC_KEY, settings.PRIVATE_KEY).encrypt("123456") + # print(password) diff --git a/app/service/service_token.py b/app/service/service_token.py index 8838b22..604946c 100644 --- a/app/service/service_token.py +++ b/app/service/service_token.py @@ -114,13 +114,6 @@ await ragflow_service.add_user_tenant(token,u.app_id, user.email, user.app_id) - - await ragflow_service.add_user_tenant(token, u.app_id, - user.email, - user.app_id) await ragflow_service.add_user_tenant(token, user.app_id, u.email, u.app_id) - await ragflow_service.add_user_tenant(token, user.app_id, - u.email, - u.app_id) \ No newline at end of file diff --git a/app/task/fetch_agent.py b/app/task/fetch_agent.py index a97f59b..00d2cc6 100644 --- a/app/task/fetch_agent.py +++ b/app/task/fetch_agent.py @@ -228,9 +228,9 @@ try: if names: query = db.query(Dialog.id, Dialog.name, Dialog.description, Dialog.status, Dialog.tenant_id) \ - .filter( Dialog.name.in_(names)) + .filter( Dialog.name.in_(names), Dialog.status == "1") else: - query = db.query(Dialog.id, Dialog.name, Dialog.description, Dialog.status, Dialog.tenant_id) + query = db.query(Dialog.id, Dialog.name, Dialog.description, Dialog.status, Dialog.tenant_id).filter( Dialog.status == "1") results = query.all() formatted_results = [ @@ -271,7 +271,7 @@ if existing_agent: existing_agent.name = row["name"] existing_agent.description = row["description"] - existing_agent.status = row["status"] + # existing_agent.status = row["status"] existing_agent.mode = row["mode"] # existing_agent.tenant_id = get_rag_user_id(db, row["user_id"], type_dict[dialog_type]) else: -- Gitblit v1.8.0