Replies: 31 comments 14 replies
|
It is called, llama3 models are known for being unreliable. |
|
Does webui do the usual behavior of sending the tool output to the model, after running the tool? Because I'm having the same problem as OP. |
|
I am having same issue, but with different model (not llama 3). I suspect the tool output isn't being sent to the model as a standalone message as per Get Weather example from OpenAI. @tjbck was this native tool calling feature only tested with remotely hosted models or was it tested also locally e.g. Ollama? If so, is it tested with both Ollama and OpenAI connection types? |
|
Did anyone manage to get this working? |
|
I would like to get more clear information about this as-well, it is not very well documented how this is supposed to work - how to check if its working etc. |
|
having the same issue with several models trying to figure out how to use multiple tool calls, mistral-small v3 for example. very reliable calling and execution (only a single time tho), no response usually (also not really able to call multiple in this). i feel like i'm doing it wrong in my tools but some documentation would really help. |
|
Someone needs to reopen this as a bug. Maybe if the owner hears it from multiple sides, he will listen. |
|
I have the same problem using llama3-groq-tool-use. The model consistently responds empty chat when native tool calling is enabled. |
|
Still not fixed as of 0.5.16. I also tried just "continuing" a temporary chat to see if it'd spit out the answer. It doesn't - it just repeats the tool call and then shows no response |
|
This looks like it's been fixed in 0.5.17 (just wish there was a way to set Native as the default) |
|
For me it's still the same. The tool is executed, but the model isn't called with the result. So I don't get an answer. |
|
My issues seems to have been solved. Using mistral small 2501 still, since the last update it can now use native tool calling no problem and respond normally. Even tho I did not see any fix related to this, something has fixed it. |
|
I am also facing a similar issue. I am attempting to chain together multiple tool calls, where the output of one tool is used in the reasoning of the next tool. I am implementing this for home assistant where it would need to take the user's query, determine which entity in the home assistant instance is relevant, and then take the action the user requested. Often times it will succeed in pulling the list of entities, but it will not take the action. It would be cool to see a more robust observability into why a model chose a particular set of actions..., but I think that's outside the scope of this thread. |
|
Also had the same issue - cannot remember how I encountered it.... but I noticed a perfect tool call in the logs - but Open WebUI just didn't call the tool... very odd. |
|
For such a large issue I'm surprised with the lack of activity in this thread. Not sure about the other developers in this thread. But for us, tool-calls are the whole point of using a chat-bot through an interface like open-webui. |
|
I'm having the same issues as everyone using Llama-4-Scout with vllm as the backend. Query sent to tool, only responds with the tool output. Query + tool output doesn't appear to be sent to the LLM OpenWebUI version: 0.6.15 Native tool calling enabled via these parameters: In case it helps, here is the chat template: https://github.com/vllm-project/vllm/blob/main/examples/tool_chat_template_llama4_pythonic.jinja Edit: Digging into the code a little... Unless I'm missing something, it appears it may only call the LLM once when native tool calling is enabled? I feel like the workflow should be identical to the default non-native, but without the non-native chat template. Because it should fill in the payload with tool info. At least that's how I think it should work. But happy to be wrong here. |
|
This has caused me to switch away from open webui - tooluse is the most valueable feature of modern LLMs. |
|
Oh, what are you using now?
…On Sun, Jul 13, 2025, 10:44 a.m. pAinapple ***@***.***> wrote:
This has caused me to switch away from open webui - tooluse is the most
valueable feature of modern LLMs.
—
Reply to this email directly, view it on GitHub
<#9435 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACVGHUCPGHY37CRDMMZCUA33IJPDFAVCNFSM6AAAAABWXEJ5FOVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTGNZUGM4TSMY>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
|
n8n + telegram seems to work well |
|
I dont know if it is related, but sometimes I noticed ollama tool was not called. |
|
Also in ollama v.0.10.0 was a couple of fixes about tools parsing... |
|
I'm still getting this on v0.6.18 with gpt5. It clearly goes through the tools, calling them correctly and then it just stops and provides no text output once complete. |
|
Still getting this on v0.6.34 with GPT OSS 120b |
|
I went to through the process of creating several MCP servers all streamable etc but Open WebUI drops random tools as if they aren't there. If I only use one MCP server at a time the issue isn't quite as bad but it's still there when I have 10-15 tools in a single MCP server. Using OpenAPI instead seems to work so far but MCP is not reliable in any way whatsoever. |
|
I've been hitting this with OpenWebUI + AWS Bedrock via REST API. After digging into the code, I believe there are two root causes: 1. In # Before
'function_calling': (
'native'
if (
form_data.get('params', {}).get('function_calling') == 'native'
or model_info_params.get('function_calling') == 'native'
)
else 'default'
),
# Fix: pass through whatever is configured
'function_calling': (
form_data.get('params', {}).get('function_calling')
or model_info_params.get('function_calling')
or 'default'
),2. REST API calls have no server-side tool-calling loop The native tool execution loop is driven by the frontend via WebSocket ( The fix adds a server-side loop for API calls (no I've been running both fixes for a couple of days and solved my issues |









Uh oh!
There was an error while loading. Please reload this page.
Bug Report
Installation Method
Docker
Environment
Open WebUI Version: 0.5.9
Ollama (if applicable): 0.5.7
Operating System: Windows 11
Browser (if applicable): Firefox 134.0.2
Confirmation:
Expected Behavior:
The result of a native tool call is handed to the model for further processing.
Actual Behavior:
The model does nothing with the result of a native tool call.
Description
Bug Summary:
Native tool calling works in principle, but the the model is not called again with the result. So no answer is generated.
Reproduction Details
Steps to Reproduce:
Logs and Screenshots
Browser Console Logs:
console-export-2025-2-5_16-42-23.txt
Docker Container Logs:
2025-02-05 16:43:56 open-webui | INFO: 192.168.32.1:42608 - "POST /api/v1/chats/ea42d230-9aa4-4bc7-acbb-8ac2fe7b9490 HTTP/1.1" 200 OK
2025-02-05 16:43:56 open-webui | INFO: 192.168.32.1:42608 - "GET /api/v1/chats/?page=1 HTTP/1.1" 200 OK
2025-02-05 16:43:56 open-webui | INFO [open_webui.utils.middleware] tools={'dice_roll': {'toolkit_id': 'dice_roller', 'callable': <function Tools.dice_roll at 0x7f18997a87c0>, 'spec': {'name': 'dice_roll', 'description': '\n Rolls a number of dice and returns the result.\n ', 'parameters': {'properties': {'dice_str': {'description': 'A text describing a how many dice should be rolled. E.g. "d100" is one 100-sided die, "2d6" are two six sided dice. A modifier also can be added, e.g. "3d10+2".', 'type': 'string'}}, 'required': ['dice_str'], 'type': 'object'}}, 'pydantic_model': <class 'open_webui.utils.tools.dice_roll'>, 'file_handler': False, 'citation': False}}
2025-02-05 16:43:57 open-webui | INFO: 192.168.32.1:42608 - "POST /api/chat/completions HTTP/1.1" 200 OK
2025-02-05 16:43:57 open-webui |
2025-02-05 16:43:57 open-webui |
2025-02-05 16:43:57 open-webui | {'index': 0, 'id': 'call_2cf4317d-058f-4b18-b592-578355b950fc', 'type': 'function', 'function': {'name': 'dice_roll', 'arguments': "{'dice_str': '2d10'}"}}
2025-02-05 16:43:57 open-webui |
2025-02-05 16:43:57 open-webui |
2025-02-05 16:43:57 open-webui | INFO: 192.168.32.1:42608 - "GET /api/v1/chats/?page=1 HTTP/1.1" 200 OK
2025-02-05 16:43:57 open-webui | INFO: 192.168.32.1:42620 - "GET /api/v1/chats/?page=1 HTTP/1.1" 200 OK
2025-02-05 16:43:57 open-webui | INFO: 192.168.32.1:42612 - "POST /api/chat/completed HTTP/1.1" 200 OK
2025-02-05 16:43:57 open-webui | INFO: 192.168.32.1:42608 - "POST /api/v1/chats/ea42d230-9aa4-4bc7-acbb-8ac2fe7b9490 HTTP/1.1" 200 OK
2025-02-05 16:43:57 open-webui | INFO: 192.168.32.1:42608 - "GET /api/v1/chats/?page=1 HTTP/1.1" 200 OK
All reactions