From 50f9b062456bd595d4fee86e7c90e0cac8904960 Mon Sep 17 00:00:00 2001 From: zhaoqingang <zhaoqg0118@163.com> Date: 星期四, 07 十一月 2024 18:22:48 +0800 Subject: [PATCH] 用户组接口 --- app/service/ragflow.py | 24 ++++++++++++++++++++++-- 1 files changed, 22 insertions(+), 2 deletions(-) diff --git a/app/service/ragflow.py b/app/service/ragflow.py index 65c5a27..94bd9ac 100644 --- a/app/service/ragflow.py +++ b/app/service/ragflow.py @@ -1,6 +1,7 @@ import httpx from typing import Union, Dict, List +from Tools.scripts.objgraph import ignore from fastapi import HTTPException from starlette import status @@ -44,6 +45,7 @@ ) if response.status_code != 200: raise Exception(f"Ragflow registration failed: {response.text}") + return self._handle_response(response) async def login(self, username: str, password: str) -> str: password = RagflowCrypto(settings.PUBLIC_KEY, settings.PRIVATE_KEY).encrypt(password) @@ -66,7 +68,8 @@ "messages": chat_history } - print(data) + print(f"send to ragflow chat: {data}") + target_url = f"{self.base_url}/v1/conversation/completion" async with httpx.AsyncClient(timeout=300.0) as client: headers = { @@ -77,6 +80,7 @@ if response.status_code == 200: try: async for answer in response.aiter_text(): + print(f"response of ragflow chat: {answer}") yield answer except GeneratorExit as e: print(e) @@ -117,7 +121,11 @@ "content": "浣犲ソ锛� 鎴戞槸浣犵殑鍔╃悊锛屾湁浠�涔堝彲浠ュ府鍒颁綘鐨勫悧锛�", "role": "assistant" }, - message, + { + "content": message["message"], + "doc_ids":message.get("doc_ids", []), + "role": "user" + } ] if data else [] async def get_session_history(self, token: str, chat_id: str) -> list: @@ -139,3 +147,15 @@ response = await client.post(url, headers=headers, files=files, data=data) data = self._handle_response(response) return data + + async def add_user_tenant(self, token: str, tenant_id: str, email: str, user_id: str) -> str: + url = f"{self.base_url}/v1/tenant/{tenant_id}/user" + headers = {"Authorization": token} + data = {"email": email, "user_id": user_id} + print(url) + print(data) + async with httpx.AsyncClient(timeout=60) as client: + response = await client.post(url, headers=headers, json=data) + print(response.text) + if response.status_code != 200: + raise Exception(f"Ragflow add user to tenant failed: {response.text}") -- Gitblit v1.8.0