[GH-ISSUE #15225] issue: Tool Calls do not re-trigger inlet functions of Filter-Functions #33031

Closed
opened 2026-04-25 06:53:54 -05:00 by GiteaMirror · 2 comments
Owner

Originally created by @Moicky on GitHub (Jun 22, 2025).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/15225

Originally assigned to: @jackthgu on GitHub.

Check Existing Issues

  • I have searched the existing issues and discussions.
  • I am using the latest version of Open WebUI.

Installation Method

Docker

Open WebUI Version

0.6.15

Ollama Version (if applicable)

0.6.8

Operating System

Debian GNU/Linux 12 (bookworm)

Browser (if applicable)

Brave Browser v1.78.94

Confirmation

  • I have read and followed all instructions in README.md.
  • I am using the latest version of both Open WebUI and Ollama.
  • I have included the browser console logs.
  • I have included the Docker container logs.
  • I have provided every relevant configuration, setting, and environment variable used in my setup.
  • I have clearly listed every relevant configuration, custom setting, environment variable, and command-line option that influences my setup (such as Docker Compose overrides, .env values, browser settings, authentication configurations, etc).
  • I have documented step-by-step reproduction instructions that are precise, sequential, and leave nothing to interpretation. My steps:
  • Start with the initial platform/version/OS and dependencies used,
  • Specify exact install/launch/configure commands,
  • List URLs visited, user input (incl. example values/emails/passwords if needed),
  • Describe all options and toggles enabled or changed,
  • Include any files or environmental changes,
  • Identify the expected and actual result at each stage,
  • Ensure any reasonably skilled user can follow and hit the same issue.

Expected Behavior

Tool-Calls which under-the-hood result in multiple OpenAI calls, should trigger the inlet function on each request.

This currently is not the case, which messes up my usage-tracking Function

Actual Behavior

External API Calls after tool_calls should re-trigger each inlet function on custom Filter Functions.

Steps to Reproduce

  1. Install OpenWebUI via Docker & configure it to connect to OpenRouter via the OpenAI compatible API endpoint
  2. Add a custom Filter function (e.g. the open_router.py function from here: https://github.com/Moicky/open-webui-functions)
  3. Add a custom Tool (e.g. the https://github.com/upstash/context7 via mcpo)
  4. Run a Chat completion which triggers multiple tool calls

This results in OpenWebUI calling the inlet function on the custom Filter Function only once, but still results in 3 API Calls to OpenRouter for Chat Completions / Tool Calls

Logs & Screenshots

Image

Logs from the docker-container for the Inlet/Outlet/Stream functions of the Filter:
openwebui_1 | 2025-06-22 23:35:28.876 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 2a02:8389:24c0:3500:a869:1dc9:6dc9:ab2b:0 - "GET /ollama/api/version HTTP/1.1" 200 - {}
openwebui_1 | 2025-06-22 23:35:28.921 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 2a02:8389:24c0:3500:a869:1dc9:6dc9:ab2b:0 - "GET /api/v1/users/user/settings HTTP/1.1" 200 - {}
openwebui_1 | 2025-06-22 23:35:39.086 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 2a02:8389:24c0:3500:a869:1dc9:6dc9:ab2b:0 - "POST /api/v1/chats/new HTTP/1.1" 200 - {}
openwebui_1 | 2025-06-22 23:35:39.179 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 2a02:8389:24c0:3500:a869:1dc9:6dc9:ab2b:0 - "GET /api/v1/chats/?page=1 HTTP/1.1" 200 - {}
openwebui_1 | 2025-06-22 23:35:39.309 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 2a02:8389:24c0:3500:a869:1dc9:6dc9:ab2b:0 - "POST /api/v1/chats/423635ae-5d9e-40db-892f-e9344a9dd593 HTTP/1.1" 200 - {}
openwebui_1 | 2025-06-22 23:35:39.398 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 2a02:8389:24c0:3500:a869:1dc9:6dc9:ab2b:0 - "GET /api/v1/chats/?page=1 HTTP/1.1" 200 - {}
openwebui_1 | 2025-06-22 23:35:39.503 | INFO | open_webui.utils.plugin:install_frontmatter_requirements:241 - No requirements found in frontmatter. - {}
openwebui_1 | 2025-06-22 23:35:39.538 | INFO | open_webui.utils.plugin:load_function_module_by_id:147 - Loaded module: function_open_router - {}
openwebui_1 | CALLING INLET
openwebui_1 | 2025-06-22 23:35:40.031 | INFO | open_webui.routers.openai:get_all_models:391 - get_all_models() - {}
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | 2025-06-22 23:35:41.072 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 2a02:8389:24c0:3500:a869:1dc9:6dc9:ab2b:0 - "POST /api/chat/completions HTTP/1.1" 200 - {}
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | 2025-06-22 23:35:41.188 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 2a02:8389:24c0:3500:a869:1dc9:6dc9:ab2b:0 - "GET /api/v1/chats/?page=1 HTTP/1.1" 200 - {}
openwebui_1 | CALLING STREAM
openwebui_1 | Executing tool function tool_resolve_library_id_post with params
openwebui_1 | 2025-06-22 23:35:41.652 | INFO | open_webui.routers.openai:get_all_models:391 - get_all_models() - {}
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | Executing tool function tool_get_library_docs_post with params
openwebui_1 | 2025-06-22 23:35:43.410 | INFO | open_webui.routers.openai:get_all_models:391 - get_all_models() - {}
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | CALLING STREAM
openwebui_1 | 2025-06-22 23:35:51.087 | INFO | open_webui.routers.openai:get_all_models:391 - get_all_models() - {}
openwebui_1 | CALLING OUTLET
openwebui_1 | {'prompt_tokens': 14518, 'completion_tokens': 204, 'total_tokens': 14722, 'prompt_tokens_details'
openwebui_1 | Setting cost: 0.0
openwebui_1 | 2025-06-22 23:35:51.586 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 2a02:8389:24c0:3500:a869:1dc9:6dc9:ab2b:0 - "POST /api/chat/completed HTTP/1.1" 200 - {}
openwebui_1 | 2025-06-22 23:35:51.761 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 2a02:8389:24c0:3500:a869:1dc9:6dc9:ab2b:0 - "POST /api/v1/chats/423635ae-5d9e-40db-892f-e9344a9dd593 HTTP/1.1" 200 - {}

Additional Information

No response

Originally created by @Moicky on GitHub (Jun 22, 2025). Original GitHub issue: https://github.com/open-webui/open-webui/issues/15225 Originally assigned to: @jackthgu on GitHub. ### Check Existing Issues - [x] I have searched the existing issues and discussions. - [x] I am using the latest version of Open WebUI. ### Installation Method Docker ### Open WebUI Version 0.6.15 ### Ollama Version (if applicable) 0.6.8 ### Operating System Debian GNU/Linux 12 (bookworm) ### Browser (if applicable) Brave Browser v1.78.94 ### Confirmation - [x] I have read and followed all instructions in `README.md`. - [x] I am using the latest version of **both** Open WebUI and Ollama. - [x] I have included the browser console logs. - [x] I have included the Docker container logs. - [x] I have **provided every relevant configuration, setting, and environment variable used in my setup.** - [x] I have clearly **listed every relevant configuration, custom setting, environment variable, and command-line option that influences my setup** (such as Docker Compose overrides, .env values, browser settings, authentication configurations, etc). - [x] I have documented **step-by-step reproduction instructions that are precise, sequential, and leave nothing to interpretation**. My steps: - Start with the initial platform/version/OS and dependencies used, - Specify exact install/launch/configure commands, - List URLs visited, user input (incl. example values/emails/passwords if needed), - Describe all options and toggles enabled or changed, - Include any files or environmental changes, - Identify the expected and actual result at each stage, - Ensure any reasonably skilled user can follow and hit the same issue. ### Expected Behavior Tool-Calls which under-the-hood result in multiple OpenAI calls, should trigger the `inlet` function on each request. This currently is not the case, which messes up my usage-tracking Function ### Actual Behavior External API Calls after `tool_calls` should re-trigger each `inlet` function on custom Filter Functions. ### Steps to Reproduce 1. Install OpenWebUI via Docker & configure it to connect to OpenRouter via the OpenAI compatible API endpoint 2. Add a custom Filter function (e.g. the `open_router.py` function from here: https://github.com/Moicky/open-webui-functions) 3. Add a custom Tool (e.g. the https://github.com/upstash/context7 via mcpo) 4. Run a Chat completion which triggers multiple tool calls This results in OpenWebUI calling the `inlet` function on the custom Filter Function only once, but still results in 3 API Calls to OpenRouter for Chat Completions / Tool Calls ### Logs & Screenshots ![Image](https://github.com/user-attachments/assets/dee46dac-b339-4b0e-a3ae-da3772913afd) Logs from the docker-container for the Inlet/Outlet/Stream functions of the Filter: openwebui_1 | 2025-06-22 23:35:28.876 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 2a02:8389:24c0:3500:a869:1dc9:6dc9:ab2b:0 - "GET /ollama/api/version HTTP/1.1" 200 - {} openwebui_1 | 2025-06-22 23:35:28.921 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 2a02:8389:24c0:3500:a869:1dc9:6dc9:ab2b:0 - "GET /api/v1/users/user/settings HTTP/1.1" 200 - {} openwebui_1 | 2025-06-22 23:35:39.086 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 2a02:8389:24c0:3500:a869:1dc9:6dc9:ab2b:0 - "POST /api/v1/chats/new HTTP/1.1" 200 - {} openwebui_1 | 2025-06-22 23:35:39.179 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 2a02:8389:24c0:3500:a869:1dc9:6dc9:ab2b:0 - "GET /api/v1/chats/?page=1 HTTP/1.1" 200 - {} openwebui_1 | 2025-06-22 23:35:39.309 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 2a02:8389:24c0:3500:a869:1dc9:6dc9:ab2b:0 - "POST /api/v1/chats/423635ae-5d9e-40db-892f-e9344a9dd593 HTTP/1.1" 200 - {} openwebui_1 | 2025-06-22 23:35:39.398 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 2a02:8389:24c0:3500:a869:1dc9:6dc9:ab2b:0 - "GET /api/v1/chats/?page=1 HTTP/1.1" 200 - {} openwebui_1 | 2025-06-22 23:35:39.503 | INFO | open_webui.utils.plugin:install_frontmatter_requirements:241 - No requirements found in frontmatter. - {} openwebui_1 | 2025-06-22 23:35:39.538 | INFO | open_webui.utils.plugin:load_function_module_by_id:147 - Loaded module: function_open_router - {} openwebui_1 | CALLING INLET openwebui_1 | 2025-06-22 23:35:40.031 | INFO | open_webui.routers.openai:get_all_models:391 - get_all_models() - {} openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | 2025-06-22 23:35:41.072 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 2a02:8389:24c0:3500:a869:1dc9:6dc9:ab2b:0 - "POST /api/chat/completions HTTP/1.1" 200 - {} openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | 2025-06-22 23:35:41.188 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 2a02:8389:24c0:3500:a869:1dc9:6dc9:ab2b:0 - "GET /api/v1/chats/?page=1 HTTP/1.1" 200 - {} openwebui_1 | CALLING STREAM openwebui_1 | Executing tool function tool_resolve_library_id_post with params openwebui_1 | 2025-06-22 23:35:41.652 | INFO | open_webui.routers.openai:get_all_models:391 - get_all_models() - {} openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | Executing tool function tool_get_library_docs_post with params openwebui_1 | 2025-06-22 23:35:43.410 | INFO | open_webui.routers.openai:get_all_models:391 - get_all_models() - {} openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | CALLING STREAM openwebui_1 | 2025-06-22 23:35:51.087 | INFO | open_webui.routers.openai:get_all_models:391 - get_all_models() - {} openwebui_1 | CALLING OUTLET openwebui_1 | {'prompt_tokens': 14518, 'completion_tokens': 204, 'total_tokens': 14722, 'prompt_tokens_details' openwebui_1 | Setting cost: 0.0 openwebui_1 | 2025-06-22 23:35:51.586 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 2a02:8389:24c0:3500:a869:1dc9:6dc9:ab2b:0 - "POST /api/chat/completed HTTP/1.1" 200 - {} openwebui_1 | 2025-06-22 23:35:51.761 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 2a02:8389:24c0:3500:a869:1dc9:6dc9:ab2b:0 - "POST /api/v1/chats/423635ae-5d9e-40db-892f-e9344a9dd593 HTTP/1.1" 200 - {} ### Additional Information _No response_
GiteaMirror added the bug label 2026-04-25 06:53:54 -05:00
Author
Owner

@tjbck commented on GitHub (Jun 24, 2025):

Intended behaviour here, filter inlet will only be invoked when the chat is initiated. I'd suggest you utilise the stream hook that's been introduced with f4b92868c4.

<!-- gh-comment-id:2999163852 --> @tjbck commented on GitHub (Jun 24, 2025): Intended behaviour here, filter inlet will only be invoked when the chat is initiated. I'd suggest you utilise the `stream` hook that's been introduced with f4b92868c49bebae26b9008a12e5b69a6267aae9.
Author
Owner

@Moicky commented on GitHub (Jun 24, 2025):

Hey there,

is it possible to modify the payload which is being sent to the OpenAI endpoint (e.g. the /chat/completion) using the stream function? I didn't see a way to do that as it is only called on incoming packages and I need to modify the request that is being sent.

<!-- gh-comment-id:2999340711 --> @Moicky commented on GitHub (Jun 24, 2025): Hey there, is it possible to modify the payload which is being sent to the OpenAI endpoint (e.g. the /chat/completion) using the stream function? I didn't see a way to do that as it is only called on incoming packages and I need to modify the request that is being sent.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#33031