From 30ccdd1fabd9f735bec7f40f7f74d8c8660b9bed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=98=9F=E6=B5=B7?= <62863922+xinhai-ai@users.noreply.github.com> Date: Wed, 5 Feb 2025 19:39:45 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D0.5.9=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E4=B8=8B=E7=9A=84=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resources/functions/openwebui_monitor.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/resources/functions/openwebui_monitor.py b/resources/functions/openwebui_monitor.py index a247855..ae8618b 100644 --- a/resources/functions/openwebui_monitor.py +++ b/resources/functions/openwebui_monitor.py @@ -76,6 +76,15 @@ def _prepare_user_dict(self, __user__: dict) -> dict: user_dict["valves"] = user_dict["valves"].model_dump() return user_dict + def _prepare_body_dict(self, body: dict) -> dict: + """将 body 对象转换为可序列化的字典""" + body_dict = dict(body) + if "model" in body_dict["metadata"] and hasattr( + body_dict["metadata"]["model"], "model_dump" + ): + body_dict["metadata"]["model"] = body_dict["metadata"]["model"].model_dump() + + return body_dict def inlet( self, body: dict, user: Optional[dict] = None, __user__: dict = {} @@ -87,9 +96,9 @@ def inlet( headers = {"Authorization": f"Bearer {self.valves.API_KEY}"} user_dict = self._prepare_user_dict(__user__) - + body_dict = self._prepare_body_dict(body) response = requests.post( - post_url, headers=headers, json={"user": user_dict, "body": body} + post_url, headers=headers, json={"user": user_dict, "body": body_dict} ) if response.status_code == 401: