mirror of
https://github.com/open-webui/open-webui.git
synced 2026-05-07 11:28:35 -05:00
[GH-ISSUE #9348] Reasoning Models <thinking> Passed to Tag Generation #15465
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @csvance on GitHub (Feb 5, 2025).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/9348
Bug Report
Installation Method
Docker
Environment
Confirmation:
Expected Behavior:
Reasoning model "thinking" output should not be included for tag generation.
Actual Behavior:
Reasoning "thinking" is passed to the tag generation task model in-between
<detail></detail>tags.Description
Bug Summary:
Reasoning should not be passed to the tag generation model but it is. This makes it harder to accurately generate tags since the models inner reasoning dialogue often is less aligned with the tone of the conversation. It's especially bad for smaller task models because its stuffing the context with a ton of information that isn't aligned with creating useful tags, where as the non thinking/reasoning part of the response is.
Reproduction Details
Steps to Reproduce:
Logs and Screenshots
Here is what the OpenAI API recieves, you can see the reasoning content is included inside of
<details></details>tags when it probably shouldn't be. Keep in mind this is a very small amount of reasoning, sometimes the reasoning can be thousands of tokens or more!@csvance commented on GitHub (Feb 5, 2025):
If you use OpenResty as a reverse proxy for multiple vLLM instances, you can use the following to work around the issue. Implementing the model as a pipe can work too, but OpenResty just makes this stuff so incredibly easy, and if you are already working with a ton of vLLM instances you need some sort of reverse proxy to stay sane anyway. You will need to manually add your model id to the connection because /v1/models isn't an endpoint.