diff --git a/backend/open_webui/main.py b/backend/open_webui/main.py index d1978425a..22cdaa3b0 100644 --- a/backend/open_webui/main.py +++ b/backend/open_webui/main.py @@ -439,9 +439,15 @@ async def chat_completion_tools_handler( tool_function_params = result.get("parameters", {}) try: - tool_output = await tools[tool_function_name]["callable"]( - **tool_function_params - ) + tool_function = tools[tool_function_name]["callable"] + sig = inspect.signature(tool_function) + tool_function_params = { + k: v + for k, v in tool_function_params.items() + if k in sig.parameters + } + tool_output = await tool_function(**tool_function_params) + except Exception as e: tool_output = str(e)