[GH-ISSUE #18752] issue: Ollama api inconsistencies leading to an incompatibility with zed #89433

Closed
opened 2026-05-15 14:19:32 -05:00 by GiteaMirror · 3 comments
Owner

Originally created by @Maximilian-Staab on GitHub (Oct 31, 2025).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/18752

Check Existing Issues

  • I have searched for any existing and/or related issues.
  • I have searched for any existing and/or related discussions.
  • I am using the latest version of Open WebUI.

Installation Method

Other

Open WebUI Version

v0.6.34

Ollama Version (if applicable)

0.12.6

Operating System

NixOS unstable

Browser (if applicable)

Firefox 144.0

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

Open WebUi implements an Ollama compatible API in a way that is consistent with Ollamas reference implementation.
This API should gracefully handle multiple Ollama backends.

Querying ${OLLAMA_API_BASE_URL}/api/tags should return name in such a way that consequent calls to ${OLLAMA_API_BASE_URL}/api/show with {model: $name} will succeed, even if multiple Ollama endpoints are registered with Open WebUi.

Actual Behavior

Querying ${OLLAMA_API_BASE_URL}/api/tags

curl --path-as-is -i -s -k -X $'GET' \
    -H $'accept: application/json' -H $'authorization: Bearer <REDACTED>' -H $'user-agent: Zed/0.209.5 (linux; x86_64)' -H $'host: webui.<REDACTED>' \
    $'https://webui.<REDACTED>/ollama/api/tags'

returns a json that looks like this:

{
  "models": [
    {
      "name": "deepseek-r1:7b-qwen-distill-q4_K_M",
      "model": "remote-ollama.deepseek-r1:7b-qwen-distill-q4_K_M",
      "modified_at": "2025-06-02T09:06:43.042975349Z",
      "size": 4683075440,
      "digest": "755ced02ce7befdb13b7ca74e1e4d08cddba4986afdb63a480f2c93d3140383f",
      "details": {
        "parent_model": "",
        "format": "gguf",
        "family": "qwen2",
        "families": ["qwen2"],
        "parameter_size": "7.6B",
        "quantization_level": "Q4_K_M"
      },
      "connection_type": "external",
      "urls": [1]
    }
  ]
}

The official Ollama-Endpoint returns name, but not model. Software depending on Ollama will use $name in their request to ${OLLAMA_API_BASE_URL}/api/show, which will fail if the model is only available in the remote-ollama instance.

It's currently possible to insead query ${OLLAMA_API_BASE_URL}/api/show/<id>, but this is non-standard as well and not supported by software developed against the regular Ollama API.

Suggestion

I see two possibilities to fix this:

  1. Instead of appending the <id> at the end of all requests to Open-WebUi, use e.g. ${OLLAMA_API_BASE_URL}/<id>/... as a way to specify the different Ollama backends. Default to 0 if the parameter is missing as to not break existing setups. It's a bit of a bigger change, because all endpoints would need to be updated. Requires more code changes to untangle implicit searches in over all endpoints.
  2. Return model as name, then parse the prefix and map to the correct backend. This currently fails due to this line: 7a83e7dfa3/backend/open_webui/routers/ollama.py (L993) which doesn't strip the prefix and instead forwards the original request json. The prefixed ollama endpoint doesn't know of its prefix, so it fails to find the model.

Steps to Reproduce

  1. Add a ollama endpoint connection to Open-WebUi without a prefix.
  2. Add another ollama endpoint to Open-WebUI with a prefix.
  3. Have at least any one model in the prefixed endpoint that isn't on the first endpoint.
  4. Add the ollama connection to Zed or any tool supporting Ollama. Add this to your zed settings.json:"language_models": { "ollama": { "api_url": "https://webui.<redacted>/ollama" }, },

Take a look at the curl examples I added throughout the issue.

Logs & Screenshots

Logs after Zed tries to fetch models:

Oct 31 12:06:49 open-webui open-webui[986]: 2025-10-31 12:06:49.375 | INFO     | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "GET /ollama/api/version HTTP/1.1" 200
Oct 31 12:06:49 open-webui open-webui[986]: 2025-10-31 12:06:49.929 | INFO     | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "GET /api/version/updates HTTP/1.1" 200
Oct 31 12:07:23 open-webui open-webui[986]: 2025-10-31 12:07:23.494 | INFO     | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "GET /_app/version.json HTTP/1.1" 304
Oct 31 12:07:44 open-webui open-webui[986]: 2025-10-31 12:07:44.035 | INFO     | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.190:0 - "GET /_app/version.json HTTP/1.1" 200
Oct 31 12:07:45 open-webui open-webui[986]: 2025-10-31 12:07:45.036 | INFO     | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "GET /_app/version.json HTTP/1.1" 304
Oct 31 12:08:23 open-webui open-webui[986]: 2025-10-31 12:08:23.724 | INFO     | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "GET /_app/version.json HTTP/1.1" 200
Oct 31 12:08:44 open-webui open-webui[986]: 2025-10-31 12:08:44.014 | INFO     | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.190:0 - "GET /_app/version.json HTTP/1.1" 304
Oct 31 12:08:45 open-webui open-webui[986]: 2025-10-31 12:08:45.176 | INFO     | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "GET /_app/version.json HTTP/1.1" 304
Oct 31 12:09:23 open-webui open-webui[986]: 2025-10-31 12:09:23.930 | INFO     | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "GET /_app/version.json HTTP/1.1" 200
Oct 31 12:09:43 open-webui open-webui[986]: 2025-10-31 12:09:43.991 | INFO     | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.190:0 - "GET /_app/version.json HTTP/1.1" 304
Oct 31 12:09:45 open-webui open-webui[986]: 2025-10-31 12:09:45.287 | INFO     | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "GET /_app/version.json HTTP/1.1" 304
Oct 31 12:10:24 open-webui open-webui[986]: 2025-10-31 12:10:24.014 | INFO     | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "GET /_app/version.json HTTP/1.1" 200
Oct 31 12:10:44 open-webui open-webui[986]: 2025-10-31 12:10:44.017 | INFO     | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.190:0 - "GET /_app/version.json HTTP/1.1" 304
Oct 31 12:10:45 open-webui open-webui[986]: 2025-10-31 12:10:45.676 | INFO     | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "GET /_app/version.json HTTP/1.1" 304
Oct 31 12:11:24 open-webui open-webui[986]: 2025-10-31 12:11:24.301 | INFO     | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "GET /_app/version.json HTTP/1.1" 304
Oct 31 12:11:44 open-webui open-webui[986]: 2025-10-31 12:11:44.035 | INFO     | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.190:0 - "GET /_app/version.json HTTP/1.1" 304
Oct 31 12:11:45 open-webui open-webui[986]: 2025-10-31 12:11:45.504 | INFO     | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "GET /_app/version.json HTTP/1.1" 304
Oct 31 12:11:47 open-webui open-webui[986]: 2025-10-31 12:11:47.903 | INFO     | open_webui.routers.ollama:get_all_models:348 - get_all_models()
Oct 31 12:11:48 open-webui open-webui[986]: 2025-10-31 12:11:48.087 | INFO     | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "GET /ollama/api/tags HTTP/1.1" 200
Oct 31 12:11:48 open-webui open-webui[986]: 2025-10-31 12:11:48.460 | INFO     | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 200
Oct 31 12:11:48 open-webui open-webui[986]: 2025-10-31 12:11:48.593 | INFO     | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 200
Oct 31 12:11:48 open-webui open-webui[986]: 2025-10-31 12:11:48.594 | INFO     | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 200
Oct 31 12:11:48 open-webui open-webui[986]: 2025-10-31 12:11:48.665 | INFO     | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 200
Oct 31 12:11:48 open-webui open-webui[986]: 2025-10-31 12:11:48.783 | INFO     | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 200
Oct 31 12:11:48 open-webui open-webui[986]: 2025-10-31 12:11:48.958 | INFO     | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 200
Oct 31 12:11:49 open-webui open-webui[986]: 2025-10-31 12:11:49.115 | INFO     | open_webui.routers.ollama:get_all_models:348 - get_all_models()
Oct 31 12:11:49 open-webui open-webui[986]: 2025-10-31 12:11:49.124 | INFO     | open_webui.routers.ollama:get_all_models:348 - get_all_models()
Oct 31 12:11:49 open-webui open-webui[986]: 2025-10-31 12:11:49.133 | INFO     | open_webui.routers.ollama:get_all_models:348 - get_all_models()
Oct 31 12:11:49 open-webui open-webui[986]: 2025-10-31 12:11:49.302 | INFO     | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 200
Oct 31 12:11:49 open-webui open-webui[986]: 2025-10-31 12:11:49.372 | INFO     | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 200
Oct 31 12:11:49 open-webui open-webui[986]: 2025-10-31 12:11:49.444 | INFO     | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 200
Oct 31 12:11:49 open-webui open-webui[986]: 2025-10-31 12:11:49.444 | INFO     | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 200
Oct 31 12:11:49 open-webui open-webui[986]: 2025-10-31 12:11:49.545 | INFO     | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 200
Oct 31 12:11:49 open-webui open-webui[986]: 2025-10-31 12:11:49.615 | INFO     | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 200
Oct 31 12:11:49 open-webui open-webui[986]: 2025-10-31 12:11:49.653 | INFO     | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 200
Oct 31 12:11:49 open-webui open-webui[986]: 2025-10-31 12:11:49.721 | INFO     | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 200
Oct 31 12:11:49 open-webui open-webui[986]: 2025-10-31 12:11:49.784 | INFO     | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 200
Oct 31 12:11:49 open-webui open-webui[986]: 2025-10-31 12:11:49.804 | INFO     | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 200
Oct 31 12:11:49 open-webui open-webui[986]: 2025-10-31 12:11:49.849 | INFO     | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 200
Oct 31 12:11:49 open-webui open-webui[986]: 2025-10-31 12:11:49.936 | INFO     | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 200
Oct 31 12:11:50 open-webui open-webui[986]: 2025-10-31 12:11:50.044 | INFO     | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 200
Oct 31 12:11:50 open-webui open-webui[986]: 2025-10-31 12:11:50.131 | INFO     | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 200
Oct 31 12:11:50 open-webui open-webui[986]: 2025-10-31 12:11:50.267 | INFO     | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 200
Oct 31 12:11:50 open-webui open-webui[986]: 2025-10-31 12:11:50.268 | INFO     | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 200
Oct 31 12:11:50 open-webui open-webui[986]: 2025-10-31 12:11:50.272 | INFO     | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 400
Oct 31 12:11:50 open-webui open-webui[986]: 2025-10-31 12:11:50.275 | INFO     | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 400
Oct 31 12:11:50 open-webui open-webui[986]: 2025-10-31 12:11:50.320 | INFO     | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 400
Oct 31 12:11:50 open-webui open-webui[986]: 2025-10-31 12:11:50.478 | INFO     | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 400
Oct 31 12:11:50 open-webui open-webui[986]: 2025-10-31 12:11:50.479 | INFO     | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 400
Oct 31 12:11:50 open-webui open-webui[986]: 2025-10-31 12:11:50.481 | INFO     | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 400
Oct 31 12:11:50 open-webui open-webui[986]: 2025-10-31 12:11:50.484 | INFO     | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 400
Oct 31 12:11:50 open-webui open-webui[986]: 2025-10-31 12:11:50.489 | INFO     | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 400
Oct 31 12:11:50 open-webui open-webui[986]: 2025-10-31 12:11:50.624 | INFO     | open_webui.routers.ollama:get_all_models:348 - get_all_models()
Oct 31 12:11:50 open-webui open-webui[986]: 2025-10-31 12:11:50.626 | INFO     | open_webui.routers.ollama:get_all_models:348 - get_all_models()
Oct 31 12:11:50 open-webui open-webui[986]: 2025-10-31 12:11:50.632 | INFO     | open_webui.routers.ollama:get_all_models:348 - get_all_models()
Oct 31 12:11:50 open-webui open-webui[986]: 2025-10-31 12:11:50.668 | INFO     | open_webui.routers.ollama:get_all_models:348 - get_all_models()
Oct 31 12:11:50 open-webui open-webui[986]: 2025-10-31 12:11:50.677 | INFO     | open_webui.routers.ollama:get_all_models:348 - get_all_models()
Oct 31 12:11:50 open-webui open-webui[986]: 2025-10-31 12:11:50.746 | INFO     | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 400
Oct 31 12:11:50 open-webui open-webui[986]: 2025-10-31 12:11:50.751 | INFO     | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 400
Oct 31 12:11:50 open-webui open-webui[986]: 2025-10-31 12:11:50.753 | INFO     | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 400
Oct 31 12:11:50 open-webui open-webui[986]: 2025-10-31 12:11:50.790 | INFO     | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 400
Oct 31 12:11:50 open-webui open-webui[986]: 2025-10-31 12:11:50.921 | INFO     | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 200
Oct 31 12:11:50 open-webui open-webui[986]: 2025-10-31 12:11:50.930 | INFO     | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 400
Oct 31 12:11:50 open-webui open-webui[986]: 2025-10-31 12:11:50.992 | INFO     | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 400

Browser: n/a

Logs after a manual call with prefix_id added to name:

curl --path-as-is -i -s -k -X $'POST' \
    -H $'Host: webui.<REDACTED>' -H $'Content-Type: application/json' -H $'Authorization: Bearer <REDACTED>' -H $'Accept: */*' -H $'User-Agent: Zed/0.209.5 (linux; x86_64)' -H $'Content-Length: 57' \
    --data-binary $'{\"model\":\"remote-ollama.deepseek-r1:7b-qwen-distill-q4_K_M\"}' \
    $'https://webui.<REDACTED>/ollama/api/show'
Oct 31 12:23:41 open-webui open-webui[986]: 2025-10-31 12:23:41.228 | INFO     | open_webui.routers.ollama:get_all_models:348 - get_all_models()
Oct 31 12:23:41 open-webui open-webui[986]: 2025-10-31 12:23:41.482 | ERROR    | open_webui.routers.ollama:show_model_info:999 - 404 Client Error: Not Found for url: http://remote-ollama:11434/api/show
Oct 31 12:23:41 open-webui open-webui[986]: Traceback (most recent call last):
Oct 31 12:23:41 open-webui open-webui[986]:   File "/nix/store/s1g7ib73w82hj3zby510gs67f9psiidw-open-webui-0.6.30/bin/.open-webui-wrapped", line 9, in <module>
Oct 31 12:23:41 open-webui open-webui[986]:     sys.exit(app())
Oct 31 12:23:41 open-webui open-webui[986]:     │   │    └ <typer.main.Typer object at 0x7f5d647d3cb0>
Oct 31 12:23:41 open-webui open-webui[986]:     │   └ <built-in function exit>
Oct 31 12:23:41 open-webui open-webui[986]:     └ <module 'sys' (built-in)>
Oct 31 12:23:41 open-webui open-webui[986]:   File "/nix/store/v0lwifb1lc5xgaqqgr8n9l9z5a1pjlhk-python3.13-typer-0.16.0/lib/python3.13/site-packages/typer/main.py", line 324, in __call__
Oct 31 12:23:41 open-webui open-webui[986]:     return get_command(self)(*args, **kwargs)
Oct 31 12:23:41 open-webui open-webui[986]:            │           │      │       └ {}
Oct 31 12:23:41 open-webui open-webui[986]:            │           │      └ ()
Oct 31 12:23:41 open-webui open-webui[986]:            │           └ <typer.main.Typer object at 0x7f5d647d3cb0>
Oct 31 12:23:41 open-webui open-webui[986]:            └ <function get_command at 0x7f5d65270d60>
Oct 31 12:23:41 open-webui open-webui[986]:   File "/nix/store/blgjyz871q0dibbawn9c0dmgn812d62s-python3.13-click-8.1.8/lib/python3.13/site-packages/click/core.py", line 1161, in __call__
Oct 31 12:23:41 open-webui open-webui[986]:     return self.main(*args, **kwargs)
Oct 31 12:23:41 open-webui open-webui[986]:            │    │     │       └ {}
Oct 31 12:23:41 open-webui open-webui[986]:            │    │     └ ()
Oct 31 12:23:41 open-webui open-webui[986]:            │    └ <function TyperGroup.main at 0x7f5d6525f060>
Oct 31 12:23:41 open-webui open-webui[986]:            └ <TyperGroup >
Oct 31 12:23:41 open-webui open-webui[986]:   File "/nix/store/v0lwifb1lc5xgaqqgr8n9l9z5a1pjlhk-python3.13-typer-0.16.0/lib/python3.13/site-packages/typer/core.py", line 757, in main
Oct 31 12:23:41 open-webui open-webui[986]:     return _main(
Oct 31 12:23:41 open-webui open-webui[986]:            └ <function _main at 0x7f5d6525e200>
Oct 31 12:23:41 open-webui open-webui[986]:   File "/nix/store/v0lwifb1lc5xgaqqgr8n9l9z5a1pjlhk-python3.13-typer-0.16.0/lib/python3.13/site-packages/typer/core.py", line 195, in _main
Oct 31 12:23:41 open-webui open-webui[986]:     rv = self.invoke(ctx)
Oct 31 12:23:41 open-webui open-webui[986]:          │    │      └ <click.core.Context object at 0x7f5d646cc830>
Oct 31 12:23:41 open-webui open-webui[986]:          │    └ <function MultiCommand.invoke at 0x7f5d659a37e0>
Oct 31 12:23:41 open-webui open-webui[986]:          └ <TyperGroup >
Oct 31 12:23:41 open-webui open-webui[986]:   File "/nix/store/blgjyz871q0dibbawn9c0dmgn812d62s-python3.13-click-8.1.8/lib/python3.13/site-packages/click/core.py", line 1697, in invoke
Oct 31 12:23:41 open-webui open-webui[986]:     return _process_result(sub_ctx.command.invoke(sub_ctx))
Oct 31 12:23:41 open-webui open-webui[986]:            │               │       │       │      └ <click.core.Context object at 0x7f5d646b2710>
Oct 31 12:23:41 open-webui open-webui[986]:            │               │       │       └ <function Command.invoke at 0x7f5d659a31a0>
Oct 31 12:23:41 open-webui open-webui[986]:            │               │       └ <TyperCommand serve>
Oct 31 12:23:41 open-webui open-webui[986]:            │               └ <click.core.Context object at 0x7f5d646b2710>
Oct 31 12:23:41 open-webui open-webui[986]:            └ <function MultiCommand.invoke.<locals>._process_result at 0x7f5d644f0220>
Oct 31 12:23:41 open-webui open-webui[986]:   File "/nix/store/blgjyz871q0dibbawn9c0dmgn812d62s-python3.13-click-8.1.8/lib/python3.13/site-packages/click/core.py", line 1443, in invoke
Oct 31 12:23:41 open-webui open-webui[986]:     return ctx.invoke(self.callback, **ctx.params)
Oct 31 12:23:41 open-webui open-webui[986]:            │   │      │    │           │   └ {'host': '0.0.0.0', 'port': 3000}
Oct 31 12:23:41 open-webui open-webui[986]:            │   │      │    │           └ <click.core.Context object at 0x7f5d646b2710>
Oct 31 12:23:41 open-webui open-webui[986]:            │   │      │    └ <function serve at 0x7f5d644f0180>
Oct 31 12:23:41 open-webui open-webui[986]:            │   │      └ <TyperCommand serve>
Oct 31 12:23:41 open-webui open-webui[986]:            │   └ <function Context.invoke at 0x7f5d659a1b20>
Oct 31 12:23:41 open-webui open-webui[986]:            └ <click.core.Context object at 0x7f5d646b2710>
Oct 31 12:23:41 open-webui open-webui[986]:   File "/nix/store/blgjyz871q0dibbawn9c0dmgn812d62s-python3.13-click-8.1.8/lib/python3.13/site-packages/click/core.py", line 788, in invoke
Oct 31 12:23:41 open-webui open-webui[986]:     return __callback(*args, **kwargs)
Oct 31 12:23:41 open-webui open-webui[986]:                        │       └ {'host': '0.0.0.0', 'port': 3000}
Oct 31 12:23:41 open-webui open-webui[986]:                        └ ()
Oct 31 12:23:41 open-webui open-webui[986]:   File "/nix/store/v0lwifb1lc5xgaqqgr8n9l9z5a1pjlhk-python3.13-typer-0.16.0/lib/python3.13/site-packages/typer/main.py", line 699, in wrapper
Oct 31 12:23:41 open-webui open-webui[986]:     return callback(**use_params)
Oct 31 12:23:41 open-webui open-webui[986]:            │          └ {'host': '0.0.0.0', 'port': 3000}
Oct 31 12:23:41 open-webui open-webui[986]:            └ <function serve at 0x7f5d646a4fe0>
Oct 31 12:23:41 open-webui open-webui[986]:   File "/nix/store/s1g7ib73w82hj3zby510gs67f9psiidw-open-webui-0.6.30/lib/python3.13/site-packages/open_webui/__init__.py", line 78, in serve
Oct 31 12:23:41 open-webui open-webui[986]:     uvicorn.run(
Oct 31 12:23:41 open-webui open-webui[986]:     │       └ <function run at 0x7f5d64697420>
Oct 31 12:23:41 open-webui open-webui[986]:     └ <module 'uvicorn' from '/nix/store/w4rq6p638drsjk6fq0637dfmxxcaaqy7-python3.13-uvicorn-0.35.0/lib/python3.13/site-packages/uv...
Oct 31 12:23:41 open-webui open-webui[986]:   File "/nix/store/w4rq6p638drsjk6fq0637dfmxxcaaqy7-python3.13-uvicorn-0.35.0/lib/python3.13/site-packages/uvicorn/main.py", line 580, in run
Oct 31 12:23:41 open-webui open-webui[986]:     server.run()
Oct 31 12:23:41 open-webui open-webui[986]:     │      └ <function Server.run at 0x7f5d6464d6c0>
Oct 31 12:23:41 open-webui open-webui[986]:     └ <uvicorn.server.Server object at 0x7f5cb99f0440>
Oct 31 12:23:41 open-webui open-webui[986]:   File "/nix/store/w4rq6p638drsjk6fq0637dfmxxcaaqy7-python3.13-uvicorn-0.35.0/lib/python3.13/site-packages/uvicorn/server.py", line 67, in run
Oct 31 12:23:41 open-webui open-webui[986]:     return asyncio.run(self.serve(sockets=sockets))
Oct 31 12:23:41 open-webui open-webui[986]:            │       │   │    │             └ None
Oct 31 12:23:41 open-webui open-webui[986]:            │       │   │    └ <function Server.serve at 0x7f5d6464d760>
Oct 31 12:23:41 open-webui open-webui[986]:            │       │   └ <uvicorn.server.Server object at 0x7f5cb99f0440>
Oct 31 12:23:41 open-webui open-webui[986]:            │       └ <function run at 0x7f5d650836a0>
Oct 31 12:23:41 open-webui open-webui[986]:            └ <module 'asyncio' from '/nix/store/829wb290i87wngxlh404klwxql5v18p4-python3-3.13.7/lib/python3.13/asyncio/__init__.py'>
Oct 31 12:23:41 open-webui open-webui[986]:   File "/nix/store/829wb290i87wngxlh404klwxql5v18p4-python3-3.13.7/lib/python3.13/asyncio/runners.py", line 195, in run
Oct 31 12:23:41 open-webui open-webui[986]:     return runner.run(main)
Oct 31 12:23:41 open-webui open-webui[986]:            │      │   └ <coroutine object Server.serve at 0x7f5cb9988ac0>
Oct 31 12:23:41 open-webui open-webui[986]:            │      └ <function Runner.run at 0x7f5d64749c60>
Oct 31 12:23:41 open-webui open-webui[986]:            └ <asyncio.runners.Runner object at 0x7f5cb99f06e0>
Oct 31 12:23:41 open-webui open-webui[986]:   File "/nix/store/829wb290i87wngxlh404klwxql5v18p4-python3-3.13.7/lib/python3.13/asyncio/runners.py", line 118, in run
Oct 31 12:23:41 open-webui open-webui[986]:     return self._loop.run_until_complete(task)
Oct 31 12:23:41 open-webui open-webui[986]:            │    │     │                  └ <Task pending name='Task-1' coro=<Server.serve() running at /nix/store/w4rq6p638drsjk6fq0637dfmxxcaaqy7-python3.13-uvicorn-0....
Oct 31 12:23:41 open-webui open-webui[986]:            │    │     └ <function BaseEventLoop.run_until_complete at 0x7f5d64743600>
Oct 31 12:23:41 open-webui open-webui[986]:            │    └ <_UnixSelectorEventLoop running=True closed=False debug=False>
Oct 31 12:23:41 open-webui open-webui[986]:            └ <asyncio.runners.Runner object at 0x7f5cb99f06e0>
Oct 31 12:23:41 open-webui open-webui[986]:   File "/nix/store/829wb290i87wngxlh404klwxql5v18p4-python3-3.13.7/lib/python3.13/asyncio/base_events.py", line 712, in run_until_complete
Oct 31 12:23:41 open-webui open-webui[986]:     self.run_forever()
Oct 31 12:23:41 open-webui open-webui[986]:     │    └ <function BaseEventLoop.run_forever at 0x7f5d64743560>
Oct 31 12:23:41 open-webui open-webui[986]:     └ <_UnixSelectorEventLoop running=True closed=False debug=False>
Oct 31 12:23:41 open-webui open-webui[986]:   File "/nix/store/829wb290i87wngxlh404klwxql5v18p4-python3-3.13.7/lib/python3.13/asyncio/base_events.py", line 683, in run_forever
Oct 31 12:23:41 open-webui open-webui[986]:     self._run_once()
Oct 31 12:23:41 open-webui open-webui[986]:     │    └ <function BaseEventLoop._run_once at 0x7f5d647493a0>
Oct 31 12:23:41 open-webui open-webui[986]:     └ <_UnixSelectorEventLoop running=True closed=False debug=False>
Oct 31 12:23:41 open-webui open-webui[986]:   File "/nix/store/829wb290i87wngxlh404klwxql5v18p4-python3-3.13.7/lib/python3.13/asyncio/base_events.py", line 2050, in _run_once
Oct 31 12:23:41 open-webui open-webui[986]:     handle._run()
Oct 31 12:23:41 open-webui open-webui[986]:     │      └ <function Handle._run at 0x7f5d6506a8e0>
Oct 31 12:23:41 open-webui open-webui[986]:     └ <Handle Task.task_wakeup()>
Oct 31 12:23:41 open-webui open-webui[986]:   File "/nix/store/829wb290i87wngxlh404klwxql5v18p4-python3-3.13.7/lib/python3.13/asyncio/events.py", line 89, in _run
Oct 31 12:23:41 open-webui open-webui[986]:     self._context.run(self._callback, *self._args)
Oct 31 12:23:41 open-webui open-webui[986]:     │    │            │    │           │    └ <member '_args' of 'Handle' objects>
Oct 31 12:23:41 open-webui open-webui[986]:     │    │            │    │           └ <Handle Task.task_wakeup()>
Oct 31 12:23:41 open-webui open-webui[986]:     │    │            │    └ <member '_callback' of 'Handle' objects>
Oct 31 12:23:41 open-webui open-webui[986]:     │    │            └ <Handle Task.task_wakeup()>
Oct 31 12:23:41 open-webui open-webui[986]:     │    └ <member '_context' of 'Handle' objects>
Oct 31 12:23:41 open-webui open-webui[986]:     └ <Handle Task.task_wakeup()>
Oct 31 12:23:41 open-webui open-webui[986]:   File "/nix/store/svji8gzvgriax1c4lbawbn17irmz66lg-python3.13-starlette-0.47.2/lib/python3.13/site-packages/starlette/middleware/base.py", line 144, in coro
Oct 31 12:23:41 open-webui open-webui[986]:     await self.app(scope, receive_or_disconnect, send_no_error)
Oct 31 12:23:41 open-webui open-webui[986]:           │    │   │      │                      └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.send_no_error at 0x7f5cb80c4cc0>
Oct 31 12:23:41 open-webui open-webui[986]:           │    │   │      └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7f5cb80c79c0>
Oct 31 12:23:41 open-webui open-webui[986]:           │    │   └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.30.0.104', 3000), ...
Oct 31 12:23:41 open-webui open-webui[986]:           │    └ <starlette_compress.CompressMiddleware object at 0x7f5cb98b3010>
Oct 31 12:23:41 open-webui open-webui[986]:           └ <open_webui.main.RedirectMiddleware object at 0x7f5cb98acad0>
Oct 31 12:23:41 open-webui open-webui[986]:   File "/nix/store/7zcln6pb0yhmb6faz26rm6jy9lz3xx4g-python3.13-starlette-compress-1.6.1/lib/python3.13/site-packages/starlette_compress/__init__.py", line 96, in __call__
Oct 31 12:23:41 open-webui open-webui[986]:     return await self._gzip(scope, receive, send)
Oct 31 12:23:41 open-webui open-webui[986]:                  │    │     │      │        └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.send_no_error at 0x7f5cb80c4cc0>
Oct 31 12:23:41 open-webui open-webui[986]:                  │    │     │      └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7f5cb80c79c0>
Oct 31 12:23:41 open-webui open-webui[986]:                  │    │     └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.30.0.104', 3000), ...
Oct 31 12:23:41 open-webui open-webui[986]:                  │    └ <member '_gzip' of 'CompressMiddleware' objects>
Oct 31 12:23:41 open-webui open-webui[986]:                  └ <starlette_compress.CompressMiddleware object at 0x7f5cb98b3010>
Oct 31 12:23:41 open-webui open-webui[986]:   File "/nix/store/7zcln6pb0yhmb6faz26rm6jy9lz3xx4g-python3.13-starlette-compress-1.6.1/lib/python3.13/site-packages/starlette_compress/_gzip.py", line 110, in __call__
Oct 31 12:23:41 open-webui open-webui[986]:     await self.app(scope, receive, wrapper)
Oct 31 12:23:41 open-webui open-webui[986]:           │    │   │      │        └ <function GZipResponder.__call__.<locals>.wrapper at 0x7f5cb80c63e0>
Oct 31 12:23:41 open-webui open-webui[986]:           │    │   │      └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7f5cb80c79c0>
Oct 31 12:23:41 open-webui open-webui[986]:           │    │   └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.30.0.104', 3000), ...
Oct 31 12:23:41 open-webui open-webui[986]:           │    └ <member 'app' of 'GZipResponder' objects>
Oct 31 12:23:41 open-webui open-webui[986]:           └ <starlette_compress._gzip.GZipResponder object at 0x7f5cbb356900>
Oct 31 12:23:41 open-webui open-webui[986]:   File "/nix/store/svji8gzvgriax1c4lbawbn17irmz66lg-python3.13-starlette-0.47.2/lib/python3.13/site-packages/starlette/middleware/exceptions.py", line 63, in __call__
Oct 31 12:23:41 open-webui open-webui[986]:     await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
Oct 31 12:23:41 open-webui open-webui[986]:           │                            │    │    │     │      │        └ <function GZipResponder.__call__.<locals>.wrapper at 0x7f5cb80c63e0>
Oct 31 12:23:41 open-webui open-webui[986]:           │                            │    │    │     │      └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7f5cb80c79c0>
Oct 31 12:23:41 open-webui open-webui[986]:           │                            │    │    │     └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.30.0.104', 3000), ...
Oct 31 12:23:41 open-webui open-webui[986]:           │                            │    │    └ <starlette.requests.Request object at 0x7f5cb80c7250>
Oct 31 12:23:41 open-webui open-webui[986]:           │                            │    └ <fastapi.routing.APIRouter object at 0x7f5cb9d998b0>
Oct 31 12:23:41 open-webui open-webui[986]:           │                            └ <starlette.middleware.exceptions.ExceptionMiddleware object at 0x7f5cb98ac980>
Oct 31 12:23:41 open-webui open-webui[986]:           └ <function wrap_app_handling_exceptions at 0x7f5d623153a0>
Oct 31 12:23:41 open-webui open-webui[986]:   File "/nix/store/svji8gzvgriax1c4lbawbn17irmz66lg-python3.13-starlette-0.47.2/lib/python3.13/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
Oct 31 12:23:41 open-webui open-webui[986]:     await app(scope, receive, sender)
Oct 31 12:23:41 open-webui open-webui[986]:           │   │      │        └ <function wrap_app_handling_exceptions.<locals>.wrapped_app.<locals>.sender at 0x7f5cb80c62a0>
Oct 31 12:23:41 open-webui open-webui[986]:           │   │      └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7f5cb80c79c0>
Oct 31 12:23:41 open-webui open-webui[986]:           │   └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.30.0.104', 3000), ...
Oct 31 12:23:41 open-webui open-webui[986]:           └ <fastapi.routing.APIRouter object at 0x7f5cb9d998b0>
Oct 31 12:23:41 open-webui open-webui[986]:   File "/nix/store/svji8gzvgriax1c4lbawbn17irmz66lg-python3.13-starlette-0.47.2/lib/python3.13/site-packages/starlette/routing.py", line 716, in __call__
Oct 31 12:23:41 open-webui open-webui[986]:     await self.middleware_stack(scope, receive, send)
Oct 31 12:23:41 open-webui open-webui[986]:           │    │                │      │        └ <function wrap_app_handling_exceptions.<locals>.wrapped_app.<locals>.sender at 0x7f5cb80c62a0>
Oct 31 12:23:41 open-webui open-webui[986]:           │    │                │      └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7f5cb80c79c0>
Oct 31 12:23:41 open-webui open-webui[986]:           │    │                └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.30.0.104', 3000), ...
Oct 31 12:23:41 open-webui open-webui[986]:           │    └ <bound method Router.app of <fastapi.routing.APIRouter object at 0x7f5cb9d998b0>>
Oct 31 12:23:41 open-webui open-webui[986]:           └ <fastapi.routing.APIRouter object at 0x7f5cb9d998b0>
Oct 31 12:23:41 open-webui open-webui[986]:   File "/nix/store/svji8gzvgriax1c4lbawbn17irmz66lg-python3.13-starlette-0.47.2/lib/python3.13/site-packages/starlette/routing.py", line 736, in app
Oct 31 12:23:41 open-webui open-webui[986]:     await route.handle(scope, receive, send)
Oct 31 12:23:41 open-webui open-webui[986]:           │     │      │      │        └ <function wrap_app_handling_exceptions.<locals>.wrapped_app.<locals>.sender at 0x7f5cb80c62a0>
Oct 31 12:23:41 open-webui open-webui[986]:           │     │      │      └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7f5cb80c79c0>
Oct 31 12:23:41 open-webui open-webui[986]:           │     │      └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.30.0.104', 3000), ...
Oct 31 12:23:41 open-webui open-webui[986]:           │     └ <function Route.handle at 0x7f5d62316a20>
Oct 31 12:23:41 open-webui open-webui[986]:           └ APIRoute(path='/ollama/api/show', name='show_model_info', methods=['POST'])
Oct 31 12:23:41 open-webui open-webui[986]:   File "/nix/store/svji8gzvgriax1c4lbawbn17irmz66lg-python3.13-starlette-0.47.2/lib/python3.13/site-packages/starlette/routing.py", line 290, in handle
Oct 31 12:23:41 open-webui open-webui[986]:     await self.app(scope, receive, send)
Oct 31 12:23:41 open-webui open-webui[986]:           │    │   │      │        └ <function wrap_app_handling_exceptions.<locals>.wrapped_app.<locals>.sender at 0x7f5cb80c62a0>
Oct 31 12:23:41 open-webui open-webui[986]:           │    │   │      └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7f5cb80c79c0>
Oct 31 12:23:41 open-webui open-webui[986]:           │    │   └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.30.0.104', 3000), ...
Oct 31 12:23:41 open-webui open-webui[986]:           │    └ <function request_response.<locals>.app at 0x7f5cb9de8e00>
Oct 31 12:23:41 open-webui open-webui[986]:           └ APIRoute(path='/ollama/api/show', name='show_model_info', methods=['POST'])
Oct 31 12:23:41 open-webui open-webui[986]:   File "/nix/store/svji8gzvgriax1c4lbawbn17irmz66lg-python3.13-starlette-0.47.2/lib/python3.13/site-packages/starlette/routing.py", line 78, in app
Oct 31 12:23:41 open-webui open-webui[986]:     await wrap_app_handling_exceptions(app, request)(scope, receive, send)
Oct 31 12:23:41 open-webui open-webui[986]:           │                            │    │        │      │        └ <function wrap_app_handling_exceptions.<locals>.wrapped_app.<locals>.sender at 0x7f5cb80c62a0>
Oct 31 12:23:41 open-webui open-webui[986]:           │                            │    │        │      └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7f5cb80c79c0>
Oct 31 12:23:41 open-webui open-webui[986]:           │                            │    │        └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.30.0.104', 3000), ...
Oct 31 12:23:41 open-webui open-webui[986]:           │                            │    └ <starlette.requests.Request object at 0x7f5cb80c4eb0>
Oct 31 12:23:41 open-webui open-webui[986]:           │                            └ <function request_response.<locals>.app.<locals>.app at 0x7f5cb80c7ec0>
Oct 31 12:23:41 open-webui open-webui[986]:           └ <function wrap_app_handling_exceptions at 0x7f5d623153a0>
Oct 31 12:23:41 open-webui open-webui[986]:   File "/nix/store/svji8gzvgriax1c4lbawbn17irmz66lg-python3.13-starlette-0.47.2/lib/python3.13/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
Oct 31 12:23:41 open-webui open-webui[986]:     await app(scope, receive, sender)
Oct 31 12:23:41 open-webui open-webui[986]:           │   │      │        └ <function wrap_app_handling_exceptions.<locals>.wrapped_app.<locals>.sender at 0x7f5cb80c6fc0>
Oct 31 12:23:41 open-webui open-webui[986]:           │   │      └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7f5cb80c79c0>
Oct 31 12:23:41 open-webui open-webui[986]:           │   └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.30.0.104', 3000), ...
Oct 31 12:23:41 open-webui open-webui[986]:           └ <function request_response.<locals>.app.<locals>.app at 0x7f5cb80c7ec0>
Oct 31 12:23:41 open-webui open-webui[986]:   File "/nix/store/svji8gzvgriax1c4lbawbn17irmz66lg-python3.13-starlette-0.47.2/lib/python3.13/site-packages/starlette/routing.py", line 75, in app
Oct 31 12:23:41 open-webui open-webui[986]:     response = await f(request)
Oct 31 12:23:41 open-webui open-webui[986]:                      │ └ <starlette.requests.Request object at 0x7f5cb80c4eb0>
Oct 31 12:23:41 open-webui open-webui[986]:                      └ <function get_request_handler.<locals>.app at 0x7f5cb9de8d60>
Oct 31 12:23:41 open-webui open-webui[986]:   File "/nix/store/w0qr744zq6fi9pw54famn3wvjhr7h7mh-python3.13-fastapi-0.116.1/lib/python3.13/site-packages/fastapi/routing.py", line 302, in app
Oct 31 12:23:41 open-webui open-webui[986]:     raw_response = await run_endpoint_function(
Oct 31 12:23:41 open-webui open-webui[986]:                          └ <function run_endpoint_function at 0x7f5d62316520>
Oct 31 12:23:41 open-webui open-webui[986]:   File "/nix/store/w0qr744zq6fi9pw54famn3wvjhr7h7mh-python3.13-fastapi-0.116.1/lib/python3.13/site-packages/fastapi/routing.py", line 213, in run_endpoint_function
Oct 31 12:23:41 open-webui open-webui[986]:     return await dependant.call(**values)
Oct 31 12:23:41 open-webui open-webui[986]:                  │         │      └ {'user': UserModel(id='1db3213f-558f-4223-bfef-ac41d71ef895', name='REDACTED', email='REDACTED@<REDACTED>', username=None, r...
Oct 31 12:23:41 open-webui open-webui[986]:                  │         └ <function show_model_info at 0x7f5cbb80ccc0>
Oct 31 12:23:41 open-webui open-webui[986]:                  └ Dependant(path_params=[], query_params=[], header_params=[], cookie_params=[], body_params=[ModelField(field_info=Body(Pydant...
Oct 31 12:23:41 open-webui open-webui[986]: > File "/nix/store/s1g7ib73w82hj3zby510gs67f9psiidw-open-webui-0.6.30/lib/python3.13/site-packages/open_webui/routers/ollama.py", line 995, in show_model_info
Oct 31 12:23:41 open-webui open-webui[986]:     r.raise_for_status()
Oct 31 12:23:41 open-webui open-webui[986]:     │ └ <function Response.raise_for_status at 0x7f5d627d7b00>
Oct 31 12:23:41 open-webui open-webui[986]:     └ <Response [404]>
Oct 31 12:23:41 open-webui open-webui[986]:   File "/nix/store/myqvdcn01i0ckf9ghx9z7jlvwkbkjzxs-python3.13-requests-2.32.4/lib/python3.13/site-packages/requests/models.py", line 1026, in raise_for_status
Oct 31 12:23:41 open-webui open-webui[986]:     raise HTTPError(http_error_msg, response=self)
Oct 31 12:23:41 open-webui open-webui[986]:           │         │                        └ <Response [404]>
Oct 31 12:23:41 open-webui open-webui[986]:           │         └ '404 Client Error: Not Found for url: http://remote-ollama:11434/api/show'
Oct 31 12:23:41 open-webui open-webui[986]:           └ <class 'requests.exceptions.HTTPError'>
Oct 31 12:23:41 open-webui open-webui[986]: requests.exceptions.HTTPError: 404 Client Error: Not Found for url: http://remote-ollama:11434/api/show

Additional Information

I'm open to creating the PR myself if you agree with any of the solutions, or have a better suggestion.

Originally created by @Maximilian-Staab on GitHub (Oct 31, 2025). Original GitHub issue: https://github.com/open-webui/open-webui/issues/18752 ### Check Existing Issues - [x] I have searched for any existing and/or related issues. - [x] I have searched for any existing and/or related discussions. - [x] I am using the latest version of Open WebUI. ### Installation Method Other ### Open WebUI Version v0.6.34 ### Ollama Version (if applicable) 0.12.6 ### Operating System NixOS unstable ### Browser (if applicable) Firefox 144.0 ### 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 Open WebUi implements an Ollama compatible API in a way that is consistent with Ollamas reference implementation. This API should gracefully handle multiple Ollama backends. Querying `${OLLAMA_API_BASE_URL}/api/tags` should return `name` in such a way that consequent calls to `${OLLAMA_API_BASE_URL}/api/show` with `{model: $name}` will succeed, even if multiple Ollama endpoints are registered with Open WebUi. ### Actual Behavior Querying `${OLLAMA_API_BASE_URL}/api/tags` ```bash curl --path-as-is -i -s -k -X $'GET' \ -H $'accept: application/json' -H $'authorization: Bearer <REDACTED>' -H $'user-agent: Zed/0.209.5 (linux; x86_64)' -H $'host: webui.<REDACTED>' \ $'https://webui.<REDACTED>/ollama/api/tags' ``` returns a json that looks like this: ```json { "models": [ { "name": "deepseek-r1:7b-qwen-distill-q4_K_M", "model": "remote-ollama.deepseek-r1:7b-qwen-distill-q4_K_M", "modified_at": "2025-06-02T09:06:43.042975349Z", "size": 4683075440, "digest": "755ced02ce7befdb13b7ca74e1e4d08cddba4986afdb63a480f2c93d3140383f", "details": { "parent_model": "", "format": "gguf", "family": "qwen2", "families": ["qwen2"], "parameter_size": "7.6B", "quantization_level": "Q4_K_M" }, "connection_type": "external", "urls": [1] } ] } ``` The official Ollama-Endpoint returns `name`, but not `model`. Software depending on Ollama will use `$name` in their request to `${OLLAMA_API_BASE_URL}/api/show`, which will fail if the model is only available in the `remote-ollama` instance. It's currently possible to insead query `${OLLAMA_API_BASE_URL}/api/show/<id>`, but this is non-standard as well and not supported by software developed against the regular Ollama API. # Suggestion I see two possibilities to fix this: 1. Instead of appending the `<id>` at the end of all requests to Open-WebUi, use e.g. `${OLLAMA_API_BASE_URL}/<id>/...` as a way to specify the different Ollama backends. Default to `0` if the parameter is missing as to not break existing setups. It's a bit of a bigger change, because all endpoints would need to be updated. Requires more code changes to untangle implicit searches in over all endpoints. 2. Return `model` as `name`, then parse the prefix and map to the correct backend. This currently fails due to this line: https://github.com/open-webui/open-webui/blob/7a83e7dfa367d19f762ec17cac5e4a94ea2bd97d/backend/open_webui/routers/ollama.py#L993 which doesn't strip the `prefix` and instead forwards the original request json. The prefixed ollama endpoint doesn't know of its prefix, so it fails to find the model. ### Steps to Reproduce 1. Add a ollama endpoint connection to Open-WebUi without a prefix. 2. Add another ollama endpoint to Open-WebUI with a prefix. 3. Have at least any one model in the prefixed endpoint that isn't on the first endpoint. 4. Add the ollama connection to Zed or any tool supporting Ollama. Add this to your zed `settings.json`:`"language_models": { "ollama": { "api_url": "https://webui.<redacted>/ollama" }, },` Take a look at the curl examples I added throughout the issue. ### Logs & Screenshots Logs after Zed tries to fetch models: ``` Oct 31 12:06:49 open-webui open-webui[986]: 2025-10-31 12:06:49.375 | INFO | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "GET /ollama/api/version HTTP/1.1" 200 Oct 31 12:06:49 open-webui open-webui[986]: 2025-10-31 12:06:49.929 | INFO | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "GET /api/version/updates HTTP/1.1" 200 Oct 31 12:07:23 open-webui open-webui[986]: 2025-10-31 12:07:23.494 | INFO | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "GET /_app/version.json HTTP/1.1" 304 Oct 31 12:07:44 open-webui open-webui[986]: 2025-10-31 12:07:44.035 | INFO | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.190:0 - "GET /_app/version.json HTTP/1.1" 200 Oct 31 12:07:45 open-webui open-webui[986]: 2025-10-31 12:07:45.036 | INFO | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "GET /_app/version.json HTTP/1.1" 304 Oct 31 12:08:23 open-webui open-webui[986]: 2025-10-31 12:08:23.724 | INFO | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "GET /_app/version.json HTTP/1.1" 200 Oct 31 12:08:44 open-webui open-webui[986]: 2025-10-31 12:08:44.014 | INFO | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.190:0 - "GET /_app/version.json HTTP/1.1" 304 Oct 31 12:08:45 open-webui open-webui[986]: 2025-10-31 12:08:45.176 | INFO | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "GET /_app/version.json HTTP/1.1" 304 Oct 31 12:09:23 open-webui open-webui[986]: 2025-10-31 12:09:23.930 | INFO | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "GET /_app/version.json HTTP/1.1" 200 Oct 31 12:09:43 open-webui open-webui[986]: 2025-10-31 12:09:43.991 | INFO | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.190:0 - "GET /_app/version.json HTTP/1.1" 304 Oct 31 12:09:45 open-webui open-webui[986]: 2025-10-31 12:09:45.287 | INFO | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "GET /_app/version.json HTTP/1.1" 304 Oct 31 12:10:24 open-webui open-webui[986]: 2025-10-31 12:10:24.014 | INFO | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "GET /_app/version.json HTTP/1.1" 200 Oct 31 12:10:44 open-webui open-webui[986]: 2025-10-31 12:10:44.017 | INFO | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.190:0 - "GET /_app/version.json HTTP/1.1" 304 Oct 31 12:10:45 open-webui open-webui[986]: 2025-10-31 12:10:45.676 | INFO | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "GET /_app/version.json HTTP/1.1" 304 Oct 31 12:11:24 open-webui open-webui[986]: 2025-10-31 12:11:24.301 | INFO | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "GET /_app/version.json HTTP/1.1" 304 Oct 31 12:11:44 open-webui open-webui[986]: 2025-10-31 12:11:44.035 | INFO | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.190:0 - "GET /_app/version.json HTTP/1.1" 304 Oct 31 12:11:45 open-webui open-webui[986]: 2025-10-31 12:11:45.504 | INFO | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "GET /_app/version.json HTTP/1.1" 304 Oct 31 12:11:47 open-webui open-webui[986]: 2025-10-31 12:11:47.903 | INFO | open_webui.routers.ollama:get_all_models:348 - get_all_models() Oct 31 12:11:48 open-webui open-webui[986]: 2025-10-31 12:11:48.087 | INFO | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "GET /ollama/api/tags HTTP/1.1" 200 Oct 31 12:11:48 open-webui open-webui[986]: 2025-10-31 12:11:48.460 | INFO | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 200 Oct 31 12:11:48 open-webui open-webui[986]: 2025-10-31 12:11:48.593 | INFO | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 200 Oct 31 12:11:48 open-webui open-webui[986]: 2025-10-31 12:11:48.594 | INFO | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 200 Oct 31 12:11:48 open-webui open-webui[986]: 2025-10-31 12:11:48.665 | INFO | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 200 Oct 31 12:11:48 open-webui open-webui[986]: 2025-10-31 12:11:48.783 | INFO | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 200 Oct 31 12:11:48 open-webui open-webui[986]: 2025-10-31 12:11:48.958 | INFO | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 200 Oct 31 12:11:49 open-webui open-webui[986]: 2025-10-31 12:11:49.115 | INFO | open_webui.routers.ollama:get_all_models:348 - get_all_models() Oct 31 12:11:49 open-webui open-webui[986]: 2025-10-31 12:11:49.124 | INFO | open_webui.routers.ollama:get_all_models:348 - get_all_models() Oct 31 12:11:49 open-webui open-webui[986]: 2025-10-31 12:11:49.133 | INFO | open_webui.routers.ollama:get_all_models:348 - get_all_models() Oct 31 12:11:49 open-webui open-webui[986]: 2025-10-31 12:11:49.302 | INFO | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 200 Oct 31 12:11:49 open-webui open-webui[986]: 2025-10-31 12:11:49.372 | INFO | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 200 Oct 31 12:11:49 open-webui open-webui[986]: 2025-10-31 12:11:49.444 | INFO | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 200 Oct 31 12:11:49 open-webui open-webui[986]: 2025-10-31 12:11:49.444 | INFO | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 200 Oct 31 12:11:49 open-webui open-webui[986]: 2025-10-31 12:11:49.545 | INFO | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 200 Oct 31 12:11:49 open-webui open-webui[986]: 2025-10-31 12:11:49.615 | INFO | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 200 Oct 31 12:11:49 open-webui open-webui[986]: 2025-10-31 12:11:49.653 | INFO | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 200 Oct 31 12:11:49 open-webui open-webui[986]: 2025-10-31 12:11:49.721 | INFO | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 200 Oct 31 12:11:49 open-webui open-webui[986]: 2025-10-31 12:11:49.784 | INFO | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 200 Oct 31 12:11:49 open-webui open-webui[986]: 2025-10-31 12:11:49.804 | INFO | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 200 Oct 31 12:11:49 open-webui open-webui[986]: 2025-10-31 12:11:49.849 | INFO | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 200 Oct 31 12:11:49 open-webui open-webui[986]: 2025-10-31 12:11:49.936 | INFO | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 200 Oct 31 12:11:50 open-webui open-webui[986]: 2025-10-31 12:11:50.044 | INFO | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 200 Oct 31 12:11:50 open-webui open-webui[986]: 2025-10-31 12:11:50.131 | INFO | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 200 Oct 31 12:11:50 open-webui open-webui[986]: 2025-10-31 12:11:50.267 | INFO | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 200 Oct 31 12:11:50 open-webui open-webui[986]: 2025-10-31 12:11:50.268 | INFO | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 200 Oct 31 12:11:50 open-webui open-webui[986]: 2025-10-31 12:11:50.272 | INFO | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 400 Oct 31 12:11:50 open-webui open-webui[986]: 2025-10-31 12:11:50.275 | INFO | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 400 Oct 31 12:11:50 open-webui open-webui[986]: 2025-10-31 12:11:50.320 | INFO | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 400 Oct 31 12:11:50 open-webui open-webui[986]: 2025-10-31 12:11:50.478 | INFO | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 400 Oct 31 12:11:50 open-webui open-webui[986]: 2025-10-31 12:11:50.479 | INFO | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 400 Oct 31 12:11:50 open-webui open-webui[986]: 2025-10-31 12:11:50.481 | INFO | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 400 Oct 31 12:11:50 open-webui open-webui[986]: 2025-10-31 12:11:50.484 | INFO | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 400 Oct 31 12:11:50 open-webui open-webui[986]: 2025-10-31 12:11:50.489 | INFO | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 400 Oct 31 12:11:50 open-webui open-webui[986]: 2025-10-31 12:11:50.624 | INFO | open_webui.routers.ollama:get_all_models:348 - get_all_models() Oct 31 12:11:50 open-webui open-webui[986]: 2025-10-31 12:11:50.626 | INFO | open_webui.routers.ollama:get_all_models:348 - get_all_models() Oct 31 12:11:50 open-webui open-webui[986]: 2025-10-31 12:11:50.632 | INFO | open_webui.routers.ollama:get_all_models:348 - get_all_models() Oct 31 12:11:50 open-webui open-webui[986]: 2025-10-31 12:11:50.668 | INFO | open_webui.routers.ollama:get_all_models:348 - get_all_models() Oct 31 12:11:50 open-webui open-webui[986]: 2025-10-31 12:11:50.677 | INFO | open_webui.routers.ollama:get_all_models:348 - get_all_models() Oct 31 12:11:50 open-webui open-webui[986]: 2025-10-31 12:11:50.746 | INFO | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 400 Oct 31 12:11:50 open-webui open-webui[986]: 2025-10-31 12:11:50.751 | INFO | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 400 Oct 31 12:11:50 open-webui open-webui[986]: 2025-10-31 12:11:50.753 | INFO | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 400 Oct 31 12:11:50 open-webui open-webui[986]: 2025-10-31 12:11:50.790 | INFO | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 400 Oct 31 12:11:50 open-webui open-webui[986]: 2025-10-31 12:11:50.921 | INFO | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 200 Oct 31 12:11:50 open-webui open-webui[986]: 2025-10-31 12:11:50.930 | INFO | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 400 Oct 31 12:11:50 open-webui open-webui[986]: 2025-10-31 12:11:50.992 | INFO | uvicorn.protocols.http.h11_impl:send:473 - 10.1.8.192:0 - "POST /ollama/api/show HTTP/1.1" 400 ``` Browser: n/a Logs after a manual call with `prefix_id` added to `name`: ```bash curl --path-as-is -i -s -k -X $'POST' \ -H $'Host: webui.<REDACTED>' -H $'Content-Type: application/json' -H $'Authorization: Bearer <REDACTED>' -H $'Accept: */*' -H $'User-Agent: Zed/0.209.5 (linux; x86_64)' -H $'Content-Length: 57' \ --data-binary $'{\"model\":\"remote-ollama.deepseek-r1:7b-qwen-distill-q4_K_M\"}' \ $'https://webui.<REDACTED>/ollama/api/show' ``` ``` Oct 31 12:23:41 open-webui open-webui[986]: 2025-10-31 12:23:41.228 | INFO | open_webui.routers.ollama:get_all_models:348 - get_all_models() Oct 31 12:23:41 open-webui open-webui[986]: 2025-10-31 12:23:41.482 | ERROR | open_webui.routers.ollama:show_model_info:999 - 404 Client Error: Not Found for url: http://remote-ollama:11434/api/show Oct 31 12:23:41 open-webui open-webui[986]: Traceback (most recent call last): Oct 31 12:23:41 open-webui open-webui[986]: File "/nix/store/s1g7ib73w82hj3zby510gs67f9psiidw-open-webui-0.6.30/bin/.open-webui-wrapped", line 9, in <module> Oct 31 12:23:41 open-webui open-webui[986]: sys.exit(app()) Oct 31 12:23:41 open-webui open-webui[986]: │ │ └ <typer.main.Typer object at 0x7f5d647d3cb0> Oct 31 12:23:41 open-webui open-webui[986]: │ └ <built-in function exit> Oct 31 12:23:41 open-webui open-webui[986]: └ <module 'sys' (built-in)> Oct 31 12:23:41 open-webui open-webui[986]: File "/nix/store/v0lwifb1lc5xgaqqgr8n9l9z5a1pjlhk-python3.13-typer-0.16.0/lib/python3.13/site-packages/typer/main.py", line 324, in __call__ Oct 31 12:23:41 open-webui open-webui[986]: return get_command(self)(*args, **kwargs) Oct 31 12:23:41 open-webui open-webui[986]: │ │ │ └ {} Oct 31 12:23:41 open-webui open-webui[986]: │ │ └ () Oct 31 12:23:41 open-webui open-webui[986]: │ └ <typer.main.Typer object at 0x7f5d647d3cb0> Oct 31 12:23:41 open-webui open-webui[986]: └ <function get_command at 0x7f5d65270d60> Oct 31 12:23:41 open-webui open-webui[986]: File "/nix/store/blgjyz871q0dibbawn9c0dmgn812d62s-python3.13-click-8.1.8/lib/python3.13/site-packages/click/core.py", line 1161, in __call__ Oct 31 12:23:41 open-webui open-webui[986]: return self.main(*args, **kwargs) Oct 31 12:23:41 open-webui open-webui[986]: │ │ │ └ {} Oct 31 12:23:41 open-webui open-webui[986]: │ │ └ () Oct 31 12:23:41 open-webui open-webui[986]: │ └ <function TyperGroup.main at 0x7f5d6525f060> Oct 31 12:23:41 open-webui open-webui[986]: └ <TyperGroup > Oct 31 12:23:41 open-webui open-webui[986]: File "/nix/store/v0lwifb1lc5xgaqqgr8n9l9z5a1pjlhk-python3.13-typer-0.16.0/lib/python3.13/site-packages/typer/core.py", line 757, in main Oct 31 12:23:41 open-webui open-webui[986]: return _main( Oct 31 12:23:41 open-webui open-webui[986]: └ <function _main at 0x7f5d6525e200> Oct 31 12:23:41 open-webui open-webui[986]: File "/nix/store/v0lwifb1lc5xgaqqgr8n9l9z5a1pjlhk-python3.13-typer-0.16.0/lib/python3.13/site-packages/typer/core.py", line 195, in _main Oct 31 12:23:41 open-webui open-webui[986]: rv = self.invoke(ctx) Oct 31 12:23:41 open-webui open-webui[986]: │ │ └ <click.core.Context object at 0x7f5d646cc830> Oct 31 12:23:41 open-webui open-webui[986]: │ └ <function MultiCommand.invoke at 0x7f5d659a37e0> Oct 31 12:23:41 open-webui open-webui[986]: └ <TyperGroup > Oct 31 12:23:41 open-webui open-webui[986]: File "/nix/store/blgjyz871q0dibbawn9c0dmgn812d62s-python3.13-click-8.1.8/lib/python3.13/site-packages/click/core.py", line 1697, in invoke Oct 31 12:23:41 open-webui open-webui[986]: return _process_result(sub_ctx.command.invoke(sub_ctx)) Oct 31 12:23:41 open-webui open-webui[986]: │ │ │ │ └ <click.core.Context object at 0x7f5d646b2710> Oct 31 12:23:41 open-webui open-webui[986]: │ │ │ └ <function Command.invoke at 0x7f5d659a31a0> Oct 31 12:23:41 open-webui open-webui[986]: │ │ └ <TyperCommand serve> Oct 31 12:23:41 open-webui open-webui[986]: │ └ <click.core.Context object at 0x7f5d646b2710> Oct 31 12:23:41 open-webui open-webui[986]: └ <function MultiCommand.invoke.<locals>._process_result at 0x7f5d644f0220> Oct 31 12:23:41 open-webui open-webui[986]: File "/nix/store/blgjyz871q0dibbawn9c0dmgn812d62s-python3.13-click-8.1.8/lib/python3.13/site-packages/click/core.py", line 1443, in invoke Oct 31 12:23:41 open-webui open-webui[986]: return ctx.invoke(self.callback, **ctx.params) Oct 31 12:23:41 open-webui open-webui[986]: │ │ │ │ │ └ {'host': '0.0.0.0', 'port': 3000} Oct 31 12:23:41 open-webui open-webui[986]: │ │ │ │ └ <click.core.Context object at 0x7f5d646b2710> Oct 31 12:23:41 open-webui open-webui[986]: │ │ │ └ <function serve at 0x7f5d644f0180> Oct 31 12:23:41 open-webui open-webui[986]: │ │ └ <TyperCommand serve> Oct 31 12:23:41 open-webui open-webui[986]: │ └ <function Context.invoke at 0x7f5d659a1b20> Oct 31 12:23:41 open-webui open-webui[986]: └ <click.core.Context object at 0x7f5d646b2710> Oct 31 12:23:41 open-webui open-webui[986]: File "/nix/store/blgjyz871q0dibbawn9c0dmgn812d62s-python3.13-click-8.1.8/lib/python3.13/site-packages/click/core.py", line 788, in invoke Oct 31 12:23:41 open-webui open-webui[986]: return __callback(*args, **kwargs) Oct 31 12:23:41 open-webui open-webui[986]: │ └ {'host': '0.0.0.0', 'port': 3000} Oct 31 12:23:41 open-webui open-webui[986]: └ () Oct 31 12:23:41 open-webui open-webui[986]: File "/nix/store/v0lwifb1lc5xgaqqgr8n9l9z5a1pjlhk-python3.13-typer-0.16.0/lib/python3.13/site-packages/typer/main.py", line 699, in wrapper Oct 31 12:23:41 open-webui open-webui[986]: return callback(**use_params) Oct 31 12:23:41 open-webui open-webui[986]: │ └ {'host': '0.0.0.0', 'port': 3000} Oct 31 12:23:41 open-webui open-webui[986]: └ <function serve at 0x7f5d646a4fe0> Oct 31 12:23:41 open-webui open-webui[986]: File "/nix/store/s1g7ib73w82hj3zby510gs67f9psiidw-open-webui-0.6.30/lib/python3.13/site-packages/open_webui/__init__.py", line 78, in serve Oct 31 12:23:41 open-webui open-webui[986]: uvicorn.run( Oct 31 12:23:41 open-webui open-webui[986]: │ └ <function run at 0x7f5d64697420> Oct 31 12:23:41 open-webui open-webui[986]: └ <module 'uvicorn' from '/nix/store/w4rq6p638drsjk6fq0637dfmxxcaaqy7-python3.13-uvicorn-0.35.0/lib/python3.13/site-packages/uv... Oct 31 12:23:41 open-webui open-webui[986]: File "/nix/store/w4rq6p638drsjk6fq0637dfmxxcaaqy7-python3.13-uvicorn-0.35.0/lib/python3.13/site-packages/uvicorn/main.py", line 580, in run Oct 31 12:23:41 open-webui open-webui[986]: server.run() Oct 31 12:23:41 open-webui open-webui[986]: │ └ <function Server.run at 0x7f5d6464d6c0> Oct 31 12:23:41 open-webui open-webui[986]: └ <uvicorn.server.Server object at 0x7f5cb99f0440> Oct 31 12:23:41 open-webui open-webui[986]: File "/nix/store/w4rq6p638drsjk6fq0637dfmxxcaaqy7-python3.13-uvicorn-0.35.0/lib/python3.13/site-packages/uvicorn/server.py", line 67, in run Oct 31 12:23:41 open-webui open-webui[986]: return asyncio.run(self.serve(sockets=sockets)) Oct 31 12:23:41 open-webui open-webui[986]: │ │ │ │ └ None Oct 31 12:23:41 open-webui open-webui[986]: │ │ │ └ <function Server.serve at 0x7f5d6464d760> Oct 31 12:23:41 open-webui open-webui[986]: │ │ └ <uvicorn.server.Server object at 0x7f5cb99f0440> Oct 31 12:23:41 open-webui open-webui[986]: │ └ <function run at 0x7f5d650836a0> Oct 31 12:23:41 open-webui open-webui[986]: └ <module 'asyncio' from '/nix/store/829wb290i87wngxlh404klwxql5v18p4-python3-3.13.7/lib/python3.13/asyncio/__init__.py'> Oct 31 12:23:41 open-webui open-webui[986]: File "/nix/store/829wb290i87wngxlh404klwxql5v18p4-python3-3.13.7/lib/python3.13/asyncio/runners.py", line 195, in run Oct 31 12:23:41 open-webui open-webui[986]: return runner.run(main) Oct 31 12:23:41 open-webui open-webui[986]: │ │ └ <coroutine object Server.serve at 0x7f5cb9988ac0> Oct 31 12:23:41 open-webui open-webui[986]: │ └ <function Runner.run at 0x7f5d64749c60> Oct 31 12:23:41 open-webui open-webui[986]: └ <asyncio.runners.Runner object at 0x7f5cb99f06e0> Oct 31 12:23:41 open-webui open-webui[986]: File "/nix/store/829wb290i87wngxlh404klwxql5v18p4-python3-3.13.7/lib/python3.13/asyncio/runners.py", line 118, in run Oct 31 12:23:41 open-webui open-webui[986]: return self._loop.run_until_complete(task) Oct 31 12:23:41 open-webui open-webui[986]: │ │ │ └ <Task pending name='Task-1' coro=<Server.serve() running at /nix/store/w4rq6p638drsjk6fq0637dfmxxcaaqy7-python3.13-uvicorn-0.... Oct 31 12:23:41 open-webui open-webui[986]: │ │ └ <function BaseEventLoop.run_until_complete at 0x7f5d64743600> Oct 31 12:23:41 open-webui open-webui[986]: │ └ <_UnixSelectorEventLoop running=True closed=False debug=False> Oct 31 12:23:41 open-webui open-webui[986]: └ <asyncio.runners.Runner object at 0x7f5cb99f06e0> Oct 31 12:23:41 open-webui open-webui[986]: File "/nix/store/829wb290i87wngxlh404klwxql5v18p4-python3-3.13.7/lib/python3.13/asyncio/base_events.py", line 712, in run_until_complete Oct 31 12:23:41 open-webui open-webui[986]: self.run_forever() Oct 31 12:23:41 open-webui open-webui[986]: │ └ <function BaseEventLoop.run_forever at 0x7f5d64743560> Oct 31 12:23:41 open-webui open-webui[986]: └ <_UnixSelectorEventLoop running=True closed=False debug=False> Oct 31 12:23:41 open-webui open-webui[986]: File "/nix/store/829wb290i87wngxlh404klwxql5v18p4-python3-3.13.7/lib/python3.13/asyncio/base_events.py", line 683, in run_forever Oct 31 12:23:41 open-webui open-webui[986]: self._run_once() Oct 31 12:23:41 open-webui open-webui[986]: │ └ <function BaseEventLoop._run_once at 0x7f5d647493a0> Oct 31 12:23:41 open-webui open-webui[986]: └ <_UnixSelectorEventLoop running=True closed=False debug=False> Oct 31 12:23:41 open-webui open-webui[986]: File "/nix/store/829wb290i87wngxlh404klwxql5v18p4-python3-3.13.7/lib/python3.13/asyncio/base_events.py", line 2050, in _run_once Oct 31 12:23:41 open-webui open-webui[986]: handle._run() Oct 31 12:23:41 open-webui open-webui[986]: │ └ <function Handle._run at 0x7f5d6506a8e0> Oct 31 12:23:41 open-webui open-webui[986]: └ <Handle Task.task_wakeup()> Oct 31 12:23:41 open-webui open-webui[986]: File "/nix/store/829wb290i87wngxlh404klwxql5v18p4-python3-3.13.7/lib/python3.13/asyncio/events.py", line 89, in _run Oct 31 12:23:41 open-webui open-webui[986]: self._context.run(self._callback, *self._args) Oct 31 12:23:41 open-webui open-webui[986]: │ │ │ │ │ └ <member '_args' of 'Handle' objects> Oct 31 12:23:41 open-webui open-webui[986]: │ │ │ │ └ <Handle Task.task_wakeup()> Oct 31 12:23:41 open-webui open-webui[986]: │ │ │ └ <member '_callback' of 'Handle' objects> Oct 31 12:23:41 open-webui open-webui[986]: │ │ └ <Handle Task.task_wakeup()> Oct 31 12:23:41 open-webui open-webui[986]: │ └ <member '_context' of 'Handle' objects> Oct 31 12:23:41 open-webui open-webui[986]: └ <Handle Task.task_wakeup()> Oct 31 12:23:41 open-webui open-webui[986]: File "/nix/store/svji8gzvgriax1c4lbawbn17irmz66lg-python3.13-starlette-0.47.2/lib/python3.13/site-packages/starlette/middleware/base.py", line 144, in coro Oct 31 12:23:41 open-webui open-webui[986]: await self.app(scope, receive_or_disconnect, send_no_error) Oct 31 12:23:41 open-webui open-webui[986]: │ │ │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.send_no_error at 0x7f5cb80c4cc0> Oct 31 12:23:41 open-webui open-webui[986]: │ │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7f5cb80c79c0> Oct 31 12:23:41 open-webui open-webui[986]: │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.30.0.104', 3000), ... Oct 31 12:23:41 open-webui open-webui[986]: │ └ <starlette_compress.CompressMiddleware object at 0x7f5cb98b3010> Oct 31 12:23:41 open-webui open-webui[986]: └ <open_webui.main.RedirectMiddleware object at 0x7f5cb98acad0> Oct 31 12:23:41 open-webui open-webui[986]: File "/nix/store/7zcln6pb0yhmb6faz26rm6jy9lz3xx4g-python3.13-starlette-compress-1.6.1/lib/python3.13/site-packages/starlette_compress/__init__.py", line 96, in __call__ Oct 31 12:23:41 open-webui open-webui[986]: return await self._gzip(scope, receive, send) Oct 31 12:23:41 open-webui open-webui[986]: │ │ │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.send_no_error at 0x7f5cb80c4cc0> Oct 31 12:23:41 open-webui open-webui[986]: │ │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7f5cb80c79c0> Oct 31 12:23:41 open-webui open-webui[986]: │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.30.0.104', 3000), ... Oct 31 12:23:41 open-webui open-webui[986]: │ └ <member '_gzip' of 'CompressMiddleware' objects> Oct 31 12:23:41 open-webui open-webui[986]: └ <starlette_compress.CompressMiddleware object at 0x7f5cb98b3010> Oct 31 12:23:41 open-webui open-webui[986]: File "/nix/store/7zcln6pb0yhmb6faz26rm6jy9lz3xx4g-python3.13-starlette-compress-1.6.1/lib/python3.13/site-packages/starlette_compress/_gzip.py", line 110, in __call__ Oct 31 12:23:41 open-webui open-webui[986]: await self.app(scope, receive, wrapper) Oct 31 12:23:41 open-webui open-webui[986]: │ │ │ │ └ <function GZipResponder.__call__.<locals>.wrapper at 0x7f5cb80c63e0> Oct 31 12:23:41 open-webui open-webui[986]: │ │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7f5cb80c79c0> Oct 31 12:23:41 open-webui open-webui[986]: │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.30.0.104', 3000), ... Oct 31 12:23:41 open-webui open-webui[986]: │ └ <member 'app' of 'GZipResponder' objects> Oct 31 12:23:41 open-webui open-webui[986]: └ <starlette_compress._gzip.GZipResponder object at 0x7f5cbb356900> Oct 31 12:23:41 open-webui open-webui[986]: File "/nix/store/svji8gzvgriax1c4lbawbn17irmz66lg-python3.13-starlette-0.47.2/lib/python3.13/site-packages/starlette/middleware/exceptions.py", line 63, in __call__ Oct 31 12:23:41 open-webui open-webui[986]: await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send) Oct 31 12:23:41 open-webui open-webui[986]: │ │ │ │ │ │ └ <function GZipResponder.__call__.<locals>.wrapper at 0x7f5cb80c63e0> Oct 31 12:23:41 open-webui open-webui[986]: │ │ │ │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7f5cb80c79c0> Oct 31 12:23:41 open-webui open-webui[986]: │ │ │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.30.0.104', 3000), ... Oct 31 12:23:41 open-webui open-webui[986]: │ │ │ └ <starlette.requests.Request object at 0x7f5cb80c7250> Oct 31 12:23:41 open-webui open-webui[986]: │ │ └ <fastapi.routing.APIRouter object at 0x7f5cb9d998b0> Oct 31 12:23:41 open-webui open-webui[986]: │ └ <starlette.middleware.exceptions.ExceptionMiddleware object at 0x7f5cb98ac980> Oct 31 12:23:41 open-webui open-webui[986]: └ <function wrap_app_handling_exceptions at 0x7f5d623153a0> Oct 31 12:23:41 open-webui open-webui[986]: File "/nix/store/svji8gzvgriax1c4lbawbn17irmz66lg-python3.13-starlette-0.47.2/lib/python3.13/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app Oct 31 12:23:41 open-webui open-webui[986]: await app(scope, receive, sender) Oct 31 12:23:41 open-webui open-webui[986]: │ │ │ └ <function wrap_app_handling_exceptions.<locals>.wrapped_app.<locals>.sender at 0x7f5cb80c62a0> Oct 31 12:23:41 open-webui open-webui[986]: │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7f5cb80c79c0> Oct 31 12:23:41 open-webui open-webui[986]: │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.30.0.104', 3000), ... Oct 31 12:23:41 open-webui open-webui[986]: └ <fastapi.routing.APIRouter object at 0x7f5cb9d998b0> Oct 31 12:23:41 open-webui open-webui[986]: File "/nix/store/svji8gzvgriax1c4lbawbn17irmz66lg-python3.13-starlette-0.47.2/lib/python3.13/site-packages/starlette/routing.py", line 716, in __call__ Oct 31 12:23:41 open-webui open-webui[986]: await self.middleware_stack(scope, receive, send) Oct 31 12:23:41 open-webui open-webui[986]: │ │ │ │ └ <function wrap_app_handling_exceptions.<locals>.wrapped_app.<locals>.sender at 0x7f5cb80c62a0> Oct 31 12:23:41 open-webui open-webui[986]: │ │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7f5cb80c79c0> Oct 31 12:23:41 open-webui open-webui[986]: │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.30.0.104', 3000), ... Oct 31 12:23:41 open-webui open-webui[986]: │ └ <bound method Router.app of <fastapi.routing.APIRouter object at 0x7f5cb9d998b0>> Oct 31 12:23:41 open-webui open-webui[986]: └ <fastapi.routing.APIRouter object at 0x7f5cb9d998b0> Oct 31 12:23:41 open-webui open-webui[986]: File "/nix/store/svji8gzvgriax1c4lbawbn17irmz66lg-python3.13-starlette-0.47.2/lib/python3.13/site-packages/starlette/routing.py", line 736, in app Oct 31 12:23:41 open-webui open-webui[986]: await route.handle(scope, receive, send) Oct 31 12:23:41 open-webui open-webui[986]: │ │ │ │ └ <function wrap_app_handling_exceptions.<locals>.wrapped_app.<locals>.sender at 0x7f5cb80c62a0> Oct 31 12:23:41 open-webui open-webui[986]: │ │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7f5cb80c79c0> Oct 31 12:23:41 open-webui open-webui[986]: │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.30.0.104', 3000), ... Oct 31 12:23:41 open-webui open-webui[986]: │ └ <function Route.handle at 0x7f5d62316a20> Oct 31 12:23:41 open-webui open-webui[986]: └ APIRoute(path='/ollama/api/show', name='show_model_info', methods=['POST']) Oct 31 12:23:41 open-webui open-webui[986]: File "/nix/store/svji8gzvgriax1c4lbawbn17irmz66lg-python3.13-starlette-0.47.2/lib/python3.13/site-packages/starlette/routing.py", line 290, in handle Oct 31 12:23:41 open-webui open-webui[986]: await self.app(scope, receive, send) Oct 31 12:23:41 open-webui open-webui[986]: │ │ │ │ └ <function wrap_app_handling_exceptions.<locals>.wrapped_app.<locals>.sender at 0x7f5cb80c62a0> Oct 31 12:23:41 open-webui open-webui[986]: │ │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7f5cb80c79c0> Oct 31 12:23:41 open-webui open-webui[986]: │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.30.0.104', 3000), ... Oct 31 12:23:41 open-webui open-webui[986]: │ └ <function request_response.<locals>.app at 0x7f5cb9de8e00> Oct 31 12:23:41 open-webui open-webui[986]: └ APIRoute(path='/ollama/api/show', name='show_model_info', methods=['POST']) Oct 31 12:23:41 open-webui open-webui[986]: File "/nix/store/svji8gzvgriax1c4lbawbn17irmz66lg-python3.13-starlette-0.47.2/lib/python3.13/site-packages/starlette/routing.py", line 78, in app Oct 31 12:23:41 open-webui open-webui[986]: await wrap_app_handling_exceptions(app, request)(scope, receive, send) Oct 31 12:23:41 open-webui open-webui[986]: │ │ │ │ │ └ <function wrap_app_handling_exceptions.<locals>.wrapped_app.<locals>.sender at 0x7f5cb80c62a0> Oct 31 12:23:41 open-webui open-webui[986]: │ │ │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7f5cb80c79c0> Oct 31 12:23:41 open-webui open-webui[986]: │ │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.30.0.104', 3000), ... Oct 31 12:23:41 open-webui open-webui[986]: │ │ └ <starlette.requests.Request object at 0x7f5cb80c4eb0> Oct 31 12:23:41 open-webui open-webui[986]: │ └ <function request_response.<locals>.app.<locals>.app at 0x7f5cb80c7ec0> Oct 31 12:23:41 open-webui open-webui[986]: └ <function wrap_app_handling_exceptions at 0x7f5d623153a0> Oct 31 12:23:41 open-webui open-webui[986]: File "/nix/store/svji8gzvgriax1c4lbawbn17irmz66lg-python3.13-starlette-0.47.2/lib/python3.13/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app Oct 31 12:23:41 open-webui open-webui[986]: await app(scope, receive, sender) Oct 31 12:23:41 open-webui open-webui[986]: │ │ │ └ <function wrap_app_handling_exceptions.<locals>.wrapped_app.<locals>.sender at 0x7f5cb80c6fc0> Oct 31 12:23:41 open-webui open-webui[986]: │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7f5cb80c79c0> Oct 31 12:23:41 open-webui open-webui[986]: │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.30.0.104', 3000), ... Oct 31 12:23:41 open-webui open-webui[986]: └ <function request_response.<locals>.app.<locals>.app at 0x7f5cb80c7ec0> Oct 31 12:23:41 open-webui open-webui[986]: File "/nix/store/svji8gzvgriax1c4lbawbn17irmz66lg-python3.13-starlette-0.47.2/lib/python3.13/site-packages/starlette/routing.py", line 75, in app Oct 31 12:23:41 open-webui open-webui[986]: response = await f(request) Oct 31 12:23:41 open-webui open-webui[986]: │ └ <starlette.requests.Request object at 0x7f5cb80c4eb0> Oct 31 12:23:41 open-webui open-webui[986]: └ <function get_request_handler.<locals>.app at 0x7f5cb9de8d60> Oct 31 12:23:41 open-webui open-webui[986]: File "/nix/store/w0qr744zq6fi9pw54famn3wvjhr7h7mh-python3.13-fastapi-0.116.1/lib/python3.13/site-packages/fastapi/routing.py", line 302, in app Oct 31 12:23:41 open-webui open-webui[986]: raw_response = await run_endpoint_function( Oct 31 12:23:41 open-webui open-webui[986]: └ <function run_endpoint_function at 0x7f5d62316520> Oct 31 12:23:41 open-webui open-webui[986]: File "/nix/store/w0qr744zq6fi9pw54famn3wvjhr7h7mh-python3.13-fastapi-0.116.1/lib/python3.13/site-packages/fastapi/routing.py", line 213, in run_endpoint_function Oct 31 12:23:41 open-webui open-webui[986]: return await dependant.call(**values) Oct 31 12:23:41 open-webui open-webui[986]: │ │ └ {'user': UserModel(id='1db3213f-558f-4223-bfef-ac41d71ef895', name='REDACTED', email='REDACTED@<REDACTED>', username=None, r... Oct 31 12:23:41 open-webui open-webui[986]: │ └ <function show_model_info at 0x7f5cbb80ccc0> Oct 31 12:23:41 open-webui open-webui[986]: └ Dependant(path_params=[], query_params=[], header_params=[], cookie_params=[], body_params=[ModelField(field_info=Body(Pydant... Oct 31 12:23:41 open-webui open-webui[986]: > File "/nix/store/s1g7ib73w82hj3zby510gs67f9psiidw-open-webui-0.6.30/lib/python3.13/site-packages/open_webui/routers/ollama.py", line 995, in show_model_info Oct 31 12:23:41 open-webui open-webui[986]: r.raise_for_status() Oct 31 12:23:41 open-webui open-webui[986]: │ └ <function Response.raise_for_status at 0x7f5d627d7b00> Oct 31 12:23:41 open-webui open-webui[986]: └ <Response [404]> Oct 31 12:23:41 open-webui open-webui[986]: File "/nix/store/myqvdcn01i0ckf9ghx9z7jlvwkbkjzxs-python3.13-requests-2.32.4/lib/python3.13/site-packages/requests/models.py", line 1026, in raise_for_status Oct 31 12:23:41 open-webui open-webui[986]: raise HTTPError(http_error_msg, response=self) Oct 31 12:23:41 open-webui open-webui[986]: │ │ └ <Response [404]> Oct 31 12:23:41 open-webui open-webui[986]: │ └ '404 Client Error: Not Found for url: http://remote-ollama:11434/api/show' Oct 31 12:23:41 open-webui open-webui[986]: └ <class 'requests.exceptions.HTTPError'> Oct 31 12:23:41 open-webui open-webui[986]: requests.exceptions.HTTPError: 404 Client Error: Not Found for url: http://remote-ollama:11434/api/show ``` ### Additional Information I'm open to creating the PR myself if you agree with any of the solutions, or have a better suggestion.
GiteaMirror added the bug label 2026-05-15 14:19:32 -05:00
Author
Owner

@martin-huber commented on GitHub (Jan 22, 2026):

We are using open-webui version 0.7.2 - and this issue still is an issue.

The main point is:
most of the endpoint implementions in ollama.py are doing:

    api_config = request.app.state.config.OLLAMA_API_CONFIGS.get(
        str(url_idx),
        request.app.state.config.OLLAMA_API_CONFIGS.get(url, {}),  # Legacy support
    )
    key = get_api_key(url_idx, url, request.app.state.config.OLLAMA_API_CONFIGS)

    prefix_id = api_config.get("prefix_id", None)
    if prefix_id:
        form_data.model = form_data.model.replace(f"{prefix_id}.", "")

before making the downstream request - but this stripping off of the prefix_id is missing in

@router.post("/api/show")
async def show_model_info(
...
    url = request.app.state.config.OLLAMA_BASE_URLS[url_idx]
    key = get_api_key(url_idx, url, request.app.state.config.OLLAMA_API_CONFIGS)

    try:
        headers = {
            "Content-Type": "application/json",
            **({"Authorization": f"Bearer {key}"} if key else {}),
        }

        if ENABLE_FORWARD_USER_INFO_HEADERS and user:
            headers = include_user_info_headers(headers, user)

        r = requests.request(
            method="POST", url=f"{url}/api/show", headers=headers, json=form_data
        )
<!-- gh-comment-id:3783590562 --> @martin-huber commented on GitHub (Jan 22, 2026): We are using open-webui version 0.7.2 - and this issue still is an issue. The main point is: most of the endpoint implementions in ollama.py are doing: ```python api_config = request.app.state.config.OLLAMA_API_CONFIGS.get( str(url_idx), request.app.state.config.OLLAMA_API_CONFIGS.get(url, {}), # Legacy support ) key = get_api_key(url_idx, url, request.app.state.config.OLLAMA_API_CONFIGS) prefix_id = api_config.get("prefix_id", None) if prefix_id: form_data.model = form_data.model.replace(f"{prefix_id}.", "") ``` before making the downstream request - but this stripping off of the prefix_id is missing in ```python @router.post("/api/show") async def show_model_info( ... url = request.app.state.config.OLLAMA_BASE_URLS[url_idx] key = get_api_key(url_idx, url, request.app.state.config.OLLAMA_API_CONFIGS) try: headers = { "Content-Type": "application/json", **({"Authorization": f"Bearer {key}"} if key else {}), } if ENABLE_FORWARD_USER_INFO_HEADERS and user: headers = include_user_info_headers(headers, user) r = requests.request( method="POST", url=f"{url}/api/show", headers=headers, json=form_data ) ```
Author
Owner

@martin-huber commented on GitHub (Jan 22, 2026):

@tjbck - can you re-open this issue - any maybe change the title to "ollama proxy does not remove model prefix id when executing /api/show" ?

<!-- gh-comment-id:3783707224 --> @martin-huber commented on GitHub (Jan 22, 2026): @tjbck - can you re-open this issue - any maybe change the title to "ollama proxy does not remove model prefix id when executing /api/show" ?
Author
Owner

@martin-huber commented on GitHub (Jan 22, 2026):

ok, no, I didn't read the initial post thoroughly enough.

Wouldn't it be better, to introduce the prefixes in the "name" properties in the models of the /api/tags response instead of introducing the additional "model" there ? And use "name" then as the unique key for model + connection ?

<!-- gh-comment-id:3784430798 --> @martin-huber commented on GitHub (Jan 22, 2026): ok, no, I didn't read the initial post thoroughly enough. Wouldn't it be better, to introduce the prefixes in the "name" properties in the models of the /api/tags response instead of introducing the additional "model" there ? And use "name" then as the unique key for model + connection ?
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#89433