[GH-ISSUE #16389] issue: embeddings based on OpenAI-compatible APIs are broken #56548

Closed
opened 2026-05-05 19:41:37 -05:00 by GiteaMirror · 1 comment
Owner

Originally created by @MattBash17 on GitHub (Aug 8, 2025).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/16389

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

v0.6.18

Ollama Version (if applicable)

No response

Operating System

Windows 11

Browser (if applicable)

No response

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

Embeddings based on remote OpenAI-compatible apis (Mistral, Nvidia NIM, etc) should work

Actual Behavior

No matter what remote OpenAI-compatible endpoint and API key I set, embedding any simple webpage fails. On the top-right of the window, a red label with TypeError: 'NoneType' object is not iterable appears.

Steps to Reproduce

  1. Set any kind of remote OpenAI-compatible API/endpoint/model for embedding in the settings
  2. try to generate embeddings for webpage using # in the chat window.
  3. The error will appear

Logs & Screenshots

TypeError: 'NoneType' object is not iterable
2025-08-08 14:33:34.497 | ERROR | open_webui.routers.retrieval:process_web:1652 - 'NoneType' object is not iterable - {}
Traceback (most recent call last):

File "/usr/local/lib/python3.11/threading.py", line 1002, in _bootstrap
self._bootstrap_inner()
│ └ <function Thread._bootstrap_inner at 0x71cb011389a0>
└ <WorkerThread(AnyIO worker thread, started 125115252590272)>
File "/usr/local/lib/python3.11/threading.py", line 1045, in _bootstrap_inner
self.run()
│ └ <function WorkerThread.run at 0x71cabdd796c0>
└ <WorkerThread(AnyIO worker thread, started 125115252590272)>
File "/usr/local/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 967, in run
result = context.run(func, *args)
│ │ │ └ ()
│ │ └ functools.partial(<function process_web at 0x71cac2860860>, user=UserModel(id='664a8662-0fbf-4671-8002-c777550d8d1f', name='M...
│ └ <method 'run' of '_contextvars.Context' objects>
└ <_contextvars.Context object at 0x71cabd98df00>

File "/app/backend/open_webui/routers/retrieval.py", line 1631, in process_web
save_docs_to_vector_db(
└ <function save_docs_to_vector_db at 0x71cac27f3060>

File "/app/backend/open_webui/routers/retrieval.py", line 1321, in save_docs_to_vector_db
raise e

File "/app/backend/open_webui/routers/retrieval.py", line 1297, in save_docs_to_vector_db
embeddings = embedding_function(
└ <function get_embedding_function.. at 0x71cabb50b2e0>

File "/app/backend/open_webui/retrieval/utils.py", line 441, in
return lambda query, prefix=None, user=None: generate_multiple(
│ └ <function get_embedding_function..generate_multiple at 0x71cabb509a80>
└ ['GitHub · Where software is built Skip to content Navigation Menu...

File "/app/backend/open_webui/retrieval/utils.py", line 430, in generate_multiple
embeddings.extend(
│ └ <method 'extend' of 'list' objects>
└ []

TypeError: 'NoneType' object is not iterable
2025-08-08 14:33:34.505 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 172.18.0.1:48106 - "POST /api/v1/retrieval/process/web HTTP/1.1" 400 - {}

Additional Information

No response

Originally created by @MattBash17 on GitHub (Aug 8, 2025). Original GitHub issue: https://github.com/open-webui/open-webui/issues/16389 ### 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 v0.6.18 ### Ollama Version (if applicable) _No response_ ### Operating System Windows 11 ### Browser (if applicable) _No response_ ### 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 Embeddings based on remote OpenAI-compatible apis (Mistral, Nvidia NIM, etc) should work ### Actual Behavior No matter what remote OpenAI-compatible endpoint and API key I set, embedding any simple webpage fails. On the top-right of the window, a red label with TypeError: 'NoneType' object is not iterable appears. ### Steps to Reproduce 1. Set any kind of remote OpenAI-compatible API/endpoint/model for embedding in the settings 2. try to generate embeddings for webpage using # in the chat window. 3. The error will appear ### Logs & Screenshots TypeError: 'NoneType' object is not iterable 2025-08-08 14:33:34.497 | ERROR | open_webui.routers.retrieval:process_web:1652 - 'NoneType' object is not iterable - {} Traceback (most recent call last): File "/usr/local/lib/python3.11/threading.py", line 1002, in _bootstrap self._bootstrap_inner() │ └ <function Thread._bootstrap_inner at 0x71cb011389a0> └ <WorkerThread(AnyIO worker thread, started 125115252590272)> File "/usr/local/lib/python3.11/threading.py", line 1045, in _bootstrap_inner self.run() │ └ <function WorkerThread.run at 0x71cabdd796c0> └ <WorkerThread(AnyIO worker thread, started 125115252590272)> File "/usr/local/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 967, in run result = context.run(func, *args) │ │ │ └ () │ │ └ functools.partial(<function process_web at 0x71cac2860860>, user=UserModel(id='664a8662-0fbf-4671-8002-c777550d8d1f', name='M... │ └ <method 'run' of '_contextvars.Context' objects> └ <_contextvars.Context object at 0x71cabd98df00> > File "/app/backend/open_webui/routers/retrieval.py", line 1631, in process_web save_docs_to_vector_db( └ <function save_docs_to_vector_db at 0x71cac27f3060> File "/app/backend/open_webui/routers/retrieval.py", line 1321, in save_docs_to_vector_db raise e File "/app/backend/open_webui/routers/retrieval.py", line 1297, in save_docs_to_vector_db embeddings = embedding_function( └ <function get_embedding_function.<locals>.<lambda> at 0x71cabb50b2e0> File "/app/backend/open_webui/retrieval/utils.py", line 441, in <lambda> return lambda query, prefix=None, user=None: generate_multiple( │ └ <function get_embedding_function.<locals>.generate_multiple at 0x71cabb509a80> └ ['GitHub · Where software is built Skip to content Navigation Menu... File "/app/backend/open_webui/retrieval/utils.py", line 430, in generate_multiple embeddings.extend( │ └ <method 'extend' of 'list' objects> └ [] TypeError: 'NoneType' object is not iterable 2025-08-08 14:33:34.505 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 172.18.0.1:48106 - "POST /api/v1/retrieval/process/web HTTP/1.1" 400 - {} ### Additional Information _No response_
GiteaMirror added the bug label 2026-05-05 19:41:37 -05:00
Author
Owner

@tjbck commented on GitHub (Aug 8, 2025):

Unable to reproduce, keep us updated.

<!-- gh-comment-id:3169191897 --> @tjbck commented on GitHub (Aug 8, 2025): Unable to reproduce, keep us updated.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#56548