From c1768114de381e37e272e9faf7db8e95a93ff381 Mon Sep 17 00:00:00 2001 From: zhaoqingang <zhaoqg0118@163.com> Date: 星期一, 11 十一月 2024 16:37:12 +0800 Subject: [PATCH] role group user.. --- app/service/ragflow.py | 21 ++++++++++++++++++--- 1 files changed, 18 insertions(+), 3 deletions(-) diff --git a/app/service/ragflow.py b/app/service/ragflow.py index 65c5a27..1677ed5 100644 --- a/app/service/ragflow.py +++ b/app/service/ragflow.py @@ -1,6 +1,5 @@ import httpx from typing import Union, Dict, List - from fastapi import HTTPException from starlette import status @@ -44,6 +43,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 +66,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 +78,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 +119,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 +145,12 @@ 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} + async with httpx.AsyncClient(timeout=60) as client: + response = await client.post(url, headers=headers, json=data) + if response.status_code != 200: + raise Exception(f"Ragflow add user to tenant failed: {response.text}") -- Gitblit v1.8.0