Browse Source

fix: tools not working

Timothy J. Baek 6 months ago
parent
commit
badbe4ea06
1 changed files with 9 additions and 2 deletions
  1. 9 2
      backend/open_webui/main.py

+ 9 - 2
backend/open_webui/main.py

@@ -439,10 +439,17 @@ async def chat_completion_tools_handler(
             tool_function_params = result.get("parameters", {})
 
             try:
+                required_params = (
+                    tools[tool_function_name]
+                    .get("spec", {})
+                    .get("parameters", {})
+                    .get("required", [])
+                )
                 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
+                    k: v
+                    for k, v in tool_function_params.items()
+                    if k in required_params
                 }
                 tool_output = await tool_function(**tool_function_params)