From f9a307e86b771f20bd2dc043a875b2ee86cc5d50 Mon Sep 17 00:00:00 2001
From: zhaoqingang <zhaoqg0118@163.com>
Date: 星期二, 12 十一月 2024 18:42:12 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.5.5:10010/r/rag-gateway
---
app/service/ragflow.py | 34 ++++++++++++++++++++++++++++++++--
1 files changed, 32 insertions(+), 2 deletions(-)
diff --git a/app/service/ragflow.py b/app/service/ragflow.py
index 7ce287d..969f3b0 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
@@ -40,10 +39,11 @@
response = await client.post(
f"{self.base_url}/v1/user/register",
headers={'Content-Type': 'application/json'},
- json={"nickname": username, "email": f"{username}@example.com", "password": password}
+ json={"nickname": username, "email": f"{username}@example.com", "password": password}
)
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)
@@ -102,6 +102,27 @@
]
return result
+ async def get_session_log(self, token: str, conversation_id: str) -> dict:
+ url = f"{self.base_url}/v1/conversation/get?conversation_id={conversation_id}"
+ headers = {"Authorization": token}
+ async with httpx.AsyncClient() as client:
+ response = await client.get(url, headers=headers)
+ data = self._handle_response(response)
+ session_log = {
+ "dialog_id": data.get("dialog_id"),
+ "id": data.get("id"),
+ "message": [
+ {
+ "content": message.get("content"),
+ "role": message.get("role"),
+ }
+ for message in data.get("message", [])
+ ],
+ "name": data.get("name"),
+ "reference": data.get("reference"),
+ }
+ return session_log
+
async def set_session(self, token: str, dialog_id: str, message: dict, chat_id: str, is_new: bool) -> list:
url = f"{self.base_url}/v1/conversation/set?dialog_id={dialog_id}"
headers = {"Authorization": token}
@@ -145,3 +166,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