From 56dc7c5640d5c7cbb48a047a50df7ab8d8c2e762 Mon Sep 17 00:00:00 2001 From: Timothy Jaeryang Baek Date: Sat, 5 Apr 2025 05:38:46 -0600 Subject: [PATCH] refac --- backend/open_webui/utils/middleware.py | 3 ++- backend/open_webui/utils/tools.py | 18 +++++++++++------- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/backend/open_webui/utils/middleware.py b/backend/open_webui/utils/middleware.py index c0ab41828..17037083f 100644 --- a/backend/open_webui/utils/middleware.py +++ b/backend/open_webui/utils/middleware.py @@ -1912,7 +1912,8 @@ async def process_chat_response( tool_result_files = [] if isinstance(tool_result, list): for item in tool_result: - if item.startswith("data:"): + # check if string + if isinstance(item, str) and item.startswith("data:"): tool_result_files.append(item) tool_result.remove(item) diff --git a/backend/open_webui/utils/tools.py b/backend/open_webui/utils/tools.py index ffaa59bfd..4746450f5 100644 --- a/backend/open_webui/utils/tools.py +++ b/backend/open_webui/utils/tools.py @@ -69,14 +69,18 @@ def get_tools( elif auth_type == "session": token = request.state.token.credentials + async def tool_function(**args): + return await execute_tool_server( + token=token, + url=tool_server_data["url"], + name=function_name, + params=args, + server_data=tool_server_data, + ) + callable = get_async_tool_function_and_apply_extra_params( - execute_tool_server, - { - "token": token, - "url": tool_server_data["url"], - "name": function_name, - "server_data": tool_server_data, - }, + tool_function, + {}, ) tool_dict = {