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