From 6bac1630e5af5890a6922bdc624e591eb19a12eb Mon Sep 17 00:00:00 2001
From: zhaoqingang <zhaoqg0118@163.com>
Date: 星期四, 13 三月 2025 18:36:07 +0800
Subject: [PATCH] 知识库对接rg

---
 app/service/bisheng.py |   29 ++++++++++++-----------------
 1 files changed, 12 insertions(+), 17 deletions(-)

diff --git a/app/service/bisheng.py b/app/service/bisheng.py
index 9be6692..51db4f8 100644
--- a/app/service/bisheng.py
+++ b/app/service/bisheng.py
@@ -26,7 +26,7 @@
         else:
             return {}
 
-    async def register(self, username: str, password: str):
+    async def register(self, username: str, password: str, token:str=""):
         public_key = await self.get_public_key_api()
         password = BishengCrypto(public_key, settings.PRIVATE_KEY).encrypt(password)
         async with httpx.AsyncClient() as client:
@@ -35,7 +35,10 @@
                 json={"user_name": username, "password": password},
                 headers={'Content-Type': 'application/json'}
             )
-            return self._check_response(response)
+            res = self._check_response(response)
+            if isinstance(res, dict):
+                res["id"] = res.get("user_id")
+            return res
 
     async def login(self, username: str, password: str) -> str:
         public_key = await self.get_public_key_api()
@@ -90,18 +93,11 @@
                         name = message_json['query']
                     elif 'report_name' in message_json:
                         name = message_json['report_name']
-                except json.JSONDecodeError:
+                except Exception as e:
                     pass
                 if not name:
-                    name =  item.get("flow_name")
-                return name
-
-            def process_name_report(item):
-                # logger.error("-----------------------process_name-------------------------------------")
-                # logger.error(item)
-                name = item.get("flow_name", "鎶ュ憡鐢熸垚")
-
-                return name
+                    name = item.get("flow_name")
+                return name[:50]
 
             result = [
                 {
@@ -126,16 +122,15 @@
         async with httpx.AsyncClient() as client:
             response = await client.get(url, headers=headers)
             response.raise_for_status()
-            # print(response.text)
             data = self._check_response(response)
             session_log = [
                 {
-                    "message": message.get("intermediate_steps", ""),
-                    "intermediate_steps": message.get("message", ""),
-                    "role": message.get("category"),
+                    "message":message.get("message", "") if message.get("message", "") else message.get("intermediate_steps", ""),
+                    "files": message.get("files", ""),
+                    "role": "question" if message.get("category") == "question" and message.get("message", "") else "answer",
                     "ts": message.get("create_time")
                 }
-                for message in data
+                for message in data if message.get("category") != "system"
             ]
 
             # 鎶妔ession_log 鎸塼s 鍗囧簭鎺掑簭

--
Gitblit v1.8.0