[GH-ISSUE #19755] issue: Error: 404, message='Not Found', url='http://ollama:11434/api/embed' #18985

Closed
opened 2026-04-20 01:16:36 -05:00 by GiteaMirror · 1 comment
Owner

Originally created by @stevewillett on GitHub (Dec 4, 2025).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/19755

Check Existing Issues

  • I have searched for any existing and/or related issues.
  • I have searched for any existing and/or related discussions.
  • I have also searched in the CLOSED issues AND CLOSED discussions and found no related items (your issue might already be addressed on the development branch!).
  • I am using the latest version of Open WebUI.

Installation Method

Docker

Open WebUI Version

v0.6.41

Ollama Version (if applicable)

0.13.1

Operating System

Ubuntu 22.04

Browser (if applicable)

Chrome

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

uploading files to knowledge or chat sessions should produce embeddings via ollama as configure
http://ollama:11434/api/embed

Actual Behavior

aiohttp.client_exceptions.ClientResponseError: 404, message='Not Found', url='http://ollama:11434/api/embed'

2025-12-04 17:06:40.767 | ERROR | open_webui.retrieval.utils:agenerate_ollama_batch_embeddings:773 - Error generating ollama batch embeddings: 404, message='Not Found', url='http://ollama:11434/api/embed'

Steps to Reproduce

open openwebui in browser
go to chat session
upload file
embedding failed with index out of range error

Logs & Screenshots

aiohttp.client_exceptions.ClientResponseError: 404, message='Not Found', url='http://ollama:11434/api/embed'

2025-12-04 17:12:43.250 | ERROR | open_webui.retrieval.utils:agenerate_ollama_batch_embeddings:773 - Error generating ollama batch embeddings: 404, message='Not Found', url='http://ollama:11434/api/embed'

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 0x7e6b064389a0>

└ <WorkerThread(AnyIO worker thread, started 138977071847104)>

File "/usr/local/lib/python3.11/threading.py", line 1045, in _bootstrap_inner

self.run()

│    └ <function WorkerThread.run at 0x7e66c01c8860>

└ <WorkerThread(AnyIO worker thread, started 138977071847104)>

File "/usr/local/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 986, in run

result = context.run(func, *args)

         │       │   │      └ ()

         │       │   └ functools.partial(<function process_uploaded_file at 0x7e67678d4c20>, <starlette.requests.Request object at 0x7e66c34ac490>, ...

         │       └ <method 'run' of '_contextvars.Context' objects>

         └ <_contextvars.Context object at 0x7e65ffd33240>

File "/app/backend/open_webui/routers/files.py", line 131, in process_uploaded_file

process_file(request, ProcessFileForm(file_id=file_item.id), user=user)

│            │        │                       │         │         └ UserModel(id='7ba35518-ee0a-4157-b05d-9dcdd2477ac6', email='', username=None, role='admin', na...

│            │        │                       │         └ '91329eb4-8478-46da-b0cc-c1e0c1090e0a'

│            │        │                       └ FileModel(id='91329eb4-8478-46da-b0cc-c1e0c1090e0a', user_id='7ba35518-ee0a-4157-b05d-9dcdd2477ac6', hash=None, filename='Rep...

│            │        └ <class 'open_webui.routers.retrieval.ProcessFileForm'>

│            └ <starlette.requests.Request object at 0x7e66c34ac490>

└ <function process_file at 0x7e6764b74d60>

File "/app/backend/open_webui/routers/retrieval.py", line 1612, in process_file

result = save_docs_to_vector_db(

         └ <function save_docs_to_vector_db at 0x7e6764b74400>

File "/app/backend/open_webui/routers/retrieval.py", line 1407, in save_docs_to_vector_db

embeddings = asyncio.run(

             │       └ <function run at 0x7e6b05b0d3a0>

             └ <module 'asyncio' from '/usr/local/lib/python3.11/asyncio/__init__.py'>

File "/usr/local/lib/python3.11/asyncio/runners.py", line 190, in run

return runner.run(main)

       │      │   └ <coroutine object get_embedding_function.<locals>.async_embedding_function at 0x7e66c048e7a0>

       │      └ <function Runner.run at 0x7e6b05964f40>

       └ <asyncio.runners.Runner object at 0x7e661c780790>

File "/usr/local/lib/python3.11/asyncio/runners.py", line 118, in run

return self._loop.run_until_complete(task)

       │    │     │                  └ <Task pending name='Task-149090' coro=<get_embedding_function.<locals>.async_embedding_function() running at /app/backend/ope...

       │    │     └ <function BaseEventLoop.run_until_complete at 0x7e6b05962b60>

       │    └ <_UnixSelectorEventLoop running=True closed=False debug=False>

       └ <asyncio.runners.Runner object at 0x7e661c780790>

File "/usr/local/lib/python3.11/asyncio/base_events.py", line 641, in run_until_complete

self.run_forever()

│    └ <function BaseEventLoop.run_forever at 0x7e6b05962ac0>

└ <_UnixSelectorEventLoop running=True closed=False debug=False>

File "/usr/local/lib/python3.11/asyncio/base_events.py", line 608, in run_forever

self._run_once()

│    └ <function BaseEventLoop._run_once at 0x7e6b05964900>

└ <_UnixSelectorEventLoop running=True closed=False debug=False>

File "/usr/local/lib/python3.11/asyncio/base_events.py", line 1936, in _run_once

handle._run()

│      └ <function Handle._run at 0x7e6b05ac2b60>

└ <Handle Task.task_wakeup(<Task finishe...> result=None>)>

File "/usr/local/lib/python3.11/asyncio/events.py", line 84, in _run

self._context.run(self._callback, *self._args)

│    │            │    │           │    └ <member '_args' of 'Handle' objects>

│    │            │    │           └ <Handle Task.task_wakeup(<Task finishe...> result=None>)>

│    │            │    └ <member '_callback' of 'Handle' objects>

│    │            └ <Handle Task.task_wakeup(<Task finishe...> result=None>)>

│    └ <member '_context' of 'Handle' objects>

└ <Handle Task.task_wakeup(<Task finishe...> result=None>)>

File "/app/backend/open_webui/retrieval/utils.py", line 877, in generate_embeddings

embeddings = await agenerate_ollama_batch_embeddings(

                   └ <function agenerate_ollama_batch_embeddings at 0x7e6764b2b740>

File "/app/backend/open_webui/retrieval/utils.py", line 766, in agenerate_ollama_batch_embeddings

r.raise_for_status()

│ └ <function ClientResponse.raise_for_status at 0x7e6b036acd60>

└ <ClientResponse(http://ollama:11434/api/embed) [404 Not Found]>

  <CIMultiDictProxy('Content-Type': 'application/json; charset=...

File "/usr/local/lib/python3.11/site-packages/aiohttp/client_reqrep.py", line 629, in raise_for_status

raise ClientResponseError(

      └ <class 'aiohttp.client_exceptions.ClientResponseError'>

aiohttp.client_exceptions.ClientResponseError: 404, message='Not Found', url='http://ollama:11434/api/embed'

2025-12-04 17:12:43.264 | ERROR | open_webui.retrieval.utils:agenerate_ollama_batch_embeddings:773 - Error generating ollama batch embeddings: 404, message='Not Found', url='http://ollama:11434/api/embed'

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 0x7e6b064389a0>

└ <WorkerThread(AnyIO worker thread, started 138977071847104)>

File "/usr/local/lib/python3.11/threading.py", line 1045, in _bootstrap_inner

self.run()

│    └ <function WorkerThread.run at 0x7e66c01c8860>

└ <WorkerThread(AnyIO worker thread, started 138977071847104)>

File "/usr/local/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 986, in run

result = context.run(func, *args)

         │       │   │      └ ()

         │       │   └ functools.partial(<function process_uploaded_file at 0x7e67678d4c20>, <starlette.requests.Request object at 0x7e66c34ac490>, ...

         │       └ <method 'run' of '_contextvars.Context' objects>

         └ <_contextvars.Context object at 0x7e65ffd33240>

File "/app/backend/open_webui/routers/files.py", line 131, in process_uploaded_file

process_file(request, ProcessFileForm(file_id=file_item.id), user=user)

│            │        │                       │         │         └ UserModel(id='7ba35518-ee0a-4157-b05d-9dcdd2477ac6', email='', username=None, role='admin', na...

│            │        │                       │         └ '91329eb4-8478-46da-b0cc-c1e0c1090e0a'

│            │        │                       └ FileModel(id='91329eb4-8478-46da-b0cc-c1e0c1090e0a', user_id='7ba35518-ee0a-4157-b05d-9dcdd2477ac6', hash=None, filename='Rep...

│            │        └ <class 'open_webui.routers.retrieval.ProcessFileForm'>

│            └ <starlette.requests.Request object at 0x7e66c34ac490>

└ <function process_file at 0x7e6764b74d60>

File "/app/backend/open_webui/routers/retrieval.py", line 1612, in process_file

result = save_docs_to_vector_db(

         └ <function save_docs_to_vector_db at 0x7e6764b74400>

File "/app/backend/open_webui/routers/retrieval.py", line 1407, in save_docs_to_vector_db

embeddings = asyncio.run(

             │       └ <function run at 0x7e6b05b0d3a0>

             └ <module 'asyncio' from '/usr/local/lib/python3.11/asyncio/__init__.py'>

File "/usr/local/lib/python3.11/asyncio/runners.py", line 190, in run

return runner.run(main)

       │      │   └ <coroutine object get_embedding_function.<locals>.async_embedding_function at 0x7e66c048e7a0>

       │      └ <function Runner.run at 0x7e6b05964f40>

       └ <asyncio.runners.Runner object at 0x7e661c780790>

File "/usr/local/lib/python3.11/asyncio/runners.py", line 118, in run

return self._loop.run_until_complete(task)

       │    │     │                  └ <Task pending name='Task-149090' coro=<get_embedding_function.<locals>.async_embedding_function() running at /app/backend/ope...

       │    │     └ <function BaseEventLoop.run_until_complete at 0x7e6b05962b60>

       │    └ <_UnixSelectorEventLoop running=True closed=False debug=False>

       └ <asyncio.runners.Runner object at 0x7e661c780790>

File "/usr/local/lib/python3.11/asyncio/base_events.py", line 641, in run_until_complete

self.run_forever()

│    └ <function BaseEventLoop.run_forever at 0x7e6b05962ac0>

└ <_UnixSelectorEventLoop running=True closed=False debug=False>

File "/usr/local/lib/python3.11/asyncio/base_events.py", line 608, in run_forever

self._run_once()

│    └ <function BaseEventLoop._run_once at 0x7e6b05964900>

└ <_UnixSelectorEventLoop running=True closed=False debug=False>

File "/usr/local/lib/python3.11/asyncio/base_events.py", line 1936, in _run_once

handle._run()

│      └ <function Handle._run at 0x7e6b05ac2b60>

└ <Handle Task.task_wakeup(<Task finishe...> result=None>)>

File "/usr/local/lib/python3.11/asyncio/events.py", line 84, in _run

self._context.run(self._callback, *self._args)

│    │            │    │           │    └ <member '_args' of 'Handle' objects>

│    │            │    │           └ <Handle Task.task_wakeup(<Task finishe...> result=None>)>

│    │            │    └ <member '_callback' of 'Handle' objects>

│    │            └ <Handle Task.task_wakeup(<Task finishe...> result=None>)>

│    └ <member '_context' of 'Handle' objects>

└ <Handle Task.task_wakeup(<Task finishe...> result=None>)>

File "/app/backend/open_webui/retrieval/utils.py", line 877, in generate_embeddings

embeddings = await agenerate_ollama_batch_embeddings(

                   └ <function agenerate_ollama_batch_embeddings at 0x7e6764b2b740>

File "/app/backend/open_webui/retrieval/utils.py", line 766, in agenerate_ollama_batch_embeddings

r.raise_for_status()

│ └ <function ClientResponse.raise_for_status at 0x7e6b036acd60>

└ <ClientResponse(http://ollama:11434/api/embed) [404 Not Found]>

  <CIMultiDictProxy('Content-Type': 'application/json; charset=...

File "/usr/local/lib/python3.11/site-packages/aiohttp/client_reqrep.py", line 629, in raise_for_status

raise ClientResponseError(

      └ <class 'aiohttp.client_exceptions.ClientResponseError'>

aiohttp.client_exceptions.ClientResponseError: 404, message='Not Found', url='http://ollama:11434/api/embed'

2025-12-04 17:12:43.277 | ERROR | open_webui.retrieval.utils:agenerate_ollama_batch_embeddings:773 - Error generating ollama batch embeddings: 404, message='Not Found', url='http://ollama:11434/api/embed'

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 0x7e6b064389a0>

└ <WorkerThread(AnyIO worker thread, started 138977071847104)>

File "/usr/local/lib/python3.11/threading.py", line 1045, in _bootstrap_inner

self.run()

│    └ <function WorkerThread.run at 0x7e66c01c8860>

└ <WorkerThread(AnyIO worker thread, started 138977071847104)>

File "/usr/local/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 986, in run

result = context.run(func, *args)

         │       │   │      └ ()

         │       │   └ functools.partial(<function process_uploaded_file at 0x7e67678d4c20>, <starlette.requests.Request object at 0x7e66c34ac490>, ...

         │       └ <method 'run' of '_contextvars.Context' objects>

         └ <_contextvars.Context object at 0x7e65ffd33240>

File "/app/backend/open_webui/routers/files.py", line 131, in process_uploaded_file

process_file(request, ProcessFileForm(file_id=file_item.id), user=user)

│            │        │                       │         │         └ UserModel(id='7ba35518-ee0a-4157-b05d-9dcdd2477ac6', email='', username=None, role='admin', na...

│            │        │                       │         └ '91329eb4-8478-46da-b0cc-c1e0c1090e0a'

│            │        │                       └ FileModel(id='91329eb4-8478-46da-b0cc-c1e0c1090e0a', user_id='7ba35518-ee0a-4157-b05d-9dcdd2477ac6', hash=None, filename='Rep...

│            │        └ <class 'open_webui.routers.retrieval.ProcessFileForm'>

│            └ <starlette.requests.Request object at 0x7e66c34ac490>

└ <function process_file at 0x7e6764b74d60>

File "/app/backend/open_webui/routers/retrieval.py", line 1612, in process_file

result = save_docs_to_vector_db(

         └ <function save_docs_to_vector_db at 0x7e6764b74400>

File "/app/backend/open_webui/routers/retrieval.py", line 1407, in save_docs_to_vector_db

embeddings = asyncio.run(

             │       └ <function run at 0x7e6b05b0d3a0>

             └ <module 'asyncio' from '/usr/local/lib/python3.11/asyncio/__init__.py'>

File "/usr/local/lib/python3.11/asyncio/runners.py", line 190, in run

return runner.run(main)

       │      │   └ <coroutine object get_embedding_function.<locals>.async_embedding_function at 0x7e66c048e7a0>

       │      └ <function Runner.run at 0x7e6b05964f40>

       └ <asyncio.runners.Runner object at 0x7e661c780790>

File "/usr/local/lib/python3.11/asyncio/runners.py", line 118, in run

return self._loop.run_until_complete(task)

       │    │     │                  └ <Task pending name='Task-149090' coro=<get_embedding_function.<locals>.async_embedding_function() running at /app/backend/ope...

       │    │     └ <function BaseEventLoop.run_until_complete at 0x7e6b05962b60>

       │    └ <_UnixSelectorEventLoop running=True closed=False debug=False>

       └ <asyncio.runners.Runner object at 0x7e661c780790>

File "/usr/local/lib/python3.11/asyncio/base_events.py", line 641, in run_until_complete

self.run_forever()

│    └ <function BaseEventLoop.run_forever at 0x7e6b05962ac0>

└ <_UnixSelectorEventLoop running=True closed=False debug=False>

File "/usr/local/lib/python3.11/asyncio/base_events.py", line 608, in run_forever

self._run_once()

│    └ <function BaseEventLoop._run_once at 0x7e6b05964900>

└ <_UnixSelectorEventLoop running=True closed=False debug=False>

File "/usr/local/lib/python3.11/asyncio/base_events.py", line 1936, in _run_once

handle._run()

│      └ <function Handle._run at 0x7e6b05ac2b60>

└ <Handle Task.task_wakeup(<Task finishe...> result=None>)>

File "/usr/local/lib/python3.11/asyncio/events.py", line 84, in _run

self._context.run(self._callback, *self._args)

│    │            │    │           │    └ <member '_args' of 'Handle' objects>

│    │            │    │           └ <Handle Task.task_wakeup(<Task finishe...> result=None>)>

│    │            │    └ <member '_callback' of 'Handle' objects>

│    │            └ <Handle Task.task_wakeup(<Task finishe...> result=None>)>

│    └ <member '_context' of 'Handle' objects>

└ <Handle Task.task_wakeup(<Task finishe...> result=None>)>

File "/app/backend/open_webui/retrieval/utils.py", line 877, in generate_embeddings

embeddings = await agenerate_ollama_batch_embeddings(

                   └ <function agenerate_ollama_batch_embeddings at 0x7e6764b2b740>

File "/app/backend/open_webui/retrieval/utils.py", line 766, in agenerate_ollama_batch_embeddings

r.raise_for_status()

│ └ <function ClientResponse.raise_for_status at 0x7e6b036acd60>

└ <ClientResponse(http://ollama:11434/api/embed) [404 Not Found]>

  <CIMultiDictProxy('Content-Type': 'application/json; charset=...

File "/usr/local/lib/python3.11/site-packages/aiohttp/client_reqrep.py", line 629, in raise_for_status

raise ClientResponseError(

      └ <class 'aiohttp.client_exceptions.ClientResponseError'>

aiohttp.client_exceptions.ClientResponseError: 404, message='Not Found', url='http://ollama:11434/api/embed'

2025-12-04 17:12:43.290 | ERROR | open_webui.retrieval.utils:agenerate_ollama_batch_embeddings:773 - Error generating ollama batch embeddings: 404, message='Not Found', url='http://ollama:11434/api/embed'

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 0x7e6b064389a0>

└ <WorkerThread(AnyIO worker thread, started 138977071847104)>

File "/usr/local/lib/python3.11/threading.py", line 1045, in _bootstrap_inner

self.run()

│    └ <function WorkerThread.run at 0x7e66c01c8860>

└ <WorkerThread(AnyIO worker thread, started 138977071847104)>

File "/usr/local/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 986, in run

result = context.run(func, *args)

         │       │   │      └ ()

         │       │   └ functools.partial(<function process_uploaded_file at 0x7e67678d4c20>, <starlette.requests.Request object at 0x7e66c34ac490>, ...

         │       └ <method 'run' of '_contextvars.Context' objects>

         └ <_contextvars.Context object at 0x7e65ffd33240>

File "/app/backend/open_webui/routers/files.py", line 131, in process_uploaded_file

process_file(request, ProcessFileForm(file_id=file_item.id), user=user)

│            │        │                       │         │         └ UserModel(id='7ba35518-ee0a-4157-b05d-9dcdd2477ac6', email='swillett@assured-consulting.com', username=None, role='admin', na...

│            │        │                       │         └ '91329eb4-8478-46da-b0cc-c1e0c1090e0a'

│            │        │                       └ FileModel(id='91329eb4-8478-46da-b0cc-c1e0c1090e0a', user_id='7ba35518-ee0a-4157-b05d-9dcdd2477ac6', hash=None, filename='Rep...

│            │        └ <class 'open_webui.routers.retrieval.ProcessFileForm'>

│            └ <starlette.requests.Request object at 0x7e66c34ac490>

└ <function process_file at 0x7e6764b74d60>

File "/app/backend/open_webui/routers/retrieval.py", line 1612, in process_file

result = save_docs_to_vector_db(

         └ <function save_docs_to_vector_db at 0x7e6764b74400>

File "/app/backend/open_webui/routers/retrieval.py", line 1407, in save_docs_to_vector_db

embeddings = asyncio.run(

             │       └ <function run at 0x7e6b05b0d3a0>

             └ <module 'asyncio' from '/usr/local/lib/python3.11/asyncio/__init__.py'>

File "/usr/local/lib/python3.11/asyncio/runners.py", line 190, in run

return runner.run(main)

       │      │   └ <coroutine object get_embedding_function.<locals>.async_embedding_function at 0x7e66c048e7a0>

       │      └ <function Runner.run at 0x7e6b05964f40>

       └ <asyncio.runners.Runner object at 0x7e661c780790>

File "/usr/local/lib/python3.11/asyncio/runners.py", line 118, in run

return self._loop.run_until_complete(task)

       │    │     │                  └ <Task pending name='Task-149090' coro=<get_embedding_function.<locals>.async_embedding_function() running at /app/backend/ope...

       │    │     └ <function BaseEventLoop.run_until_complete at 0x7e6b05962b60>

       │    └ <_UnixSelectorEventLoop running=True closed=False debug=False>

       └ <asyncio.runners.Runner object at 0x7e661c780790>

File "/usr/local/lib/python3.11/asyncio/base_events.py", line 641, in run_until_complete

self.run_forever()

│    └ <function BaseEventLoop.run_forever at 0x7e6b05962ac0>

└ <_UnixSelectorEventLoop running=True closed=False debug=False>

File "/usr/local/lib/python3.11/asyncio/base_events.py", line 608, in run_forever

self._run_once()

│    └ <function BaseEventLoop._run_once at 0x7e6b05964900>

└ <_UnixSelectorEventLoop running=True closed=False debug=False>

File "/usr/local/lib/python3.11/asyncio/base_events.py", line 1936, in _run_once

handle._run()

│      └ <function Handle._run at 0x7e6b05ac2b60>

└ <Handle Task.task_wakeup(<Task finishe...> result=None>)>

File "/usr/local/lib/python3.11/asyncio/events.py", line 84, in _run

self._context.run(self._callback, *self._args)

│    │            │    │           │    └ <member '_args' of 'Handle' objects>

│    │            │    │           └ <Handle Task.task_wakeup(<Task finishe...> result=None>)>

│    │            │    └ <member '_callback' of 'Handle' objects>

│    │            └ <Handle Task.task_wakeup(<Task finishe...> result=None>)>

│    └ <member '_context' of 'Handle' objects>

└ <Handle Task.task_wakeup(<Task finishe...> result=None>)>

File "/app/backend/open_webui/retrieval/utils.py", line 877, in generate_embeddings

embeddings = await agenerate_ollama_batch_embeddings(

                   └ <function agenerate_ollama_batch_embeddings at 0x7e6764b2b740>

File "/app/backend/open_webui/retrieval/utils.py", line 766, in agenerate_ollama_batch_embeddings

r.raise_for_status()

│ └ <function ClientResponse.raise_for_status at 0x7e6b036acd60>

└ <ClientResponse(http://ollama:11434/api/embed) [404 Not Found]>

  <CIMultiDictProxy('Content-Type': 'application/json; charset=...

File "/usr/local/lib/python3.11/site-packages/aiohttp/client_reqrep.py", line 629, in raise_for_status

raise ClientResponseError(

      └ <class 'aiohttp.client_exceptions.ClientResponseError'>

aiohttp.client_exceptions.ClientResponseError: 404, message='Not Found', url='http://ollama:11434/api/embed'

2025-12-04 17:12:43.304 | INFO | open_webui.routers.retrieval:save_docs_to_vector_db:1414 - embeddings generated 0 for 6 items

2025-12-04 17:12:43.304 | ERROR | open_webui.routers.retrieval:save_docs_to_vector_db:1435 - list index out of range

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 0x7e6b064389a0>

└ <WorkerThread(AnyIO worker thread, started 138977071847104)>

File "/usr/local/lib/python3.11/threading.py", line 1045, in _bootstrap_inner

self.run()

│    └ <function WorkerThread.run at 0x7e66c01c8860>

└ <WorkerThread(AnyIO worker thread, started 138977071847104)>

File "/usr/local/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 986, in run

result = context.run(func, *args)

         │       │   │      └ ()

         │       │   └ functools.partial(<function process_uploaded_file at 0x7e67678d4c20>, <starlette.requests.Request object at 0x7e66c34ac490>, ...

         │       └ <method 'run' of '_contextvars.Context' objects>

         └ <_contextvars.Context object at 0x7e65ffd33240>

File "/app/backend/open_webui/routers/files.py", line 131, in process_uploaded_file

process_file(request, ProcessFileForm(file_id=file_item.id), user=user)

│            │        │                       │         │         └ UserModel(id='7ba35518-ee0a-4157-b05d-9dcdd2477ac6', email=', username=None, role='admin', na...

│            │        │                       │         └ '91329eb4-8478-46da-b0cc-c1e0c1090e0a'

│            │        │                       └ FileModel(id='91329eb4-8478-46da-b0cc-c1e0c1090e0a', user_id='7ba35518-ee0a-4157-b05d-9dcdd2477ac6', hash=None, filename='Rep...

│            │        └ <class 'open_webui.routers.retrieval.ProcessFileForm'>

│            └ <starlette.requests.Request object at 0x7e66c34ac490>

└ <function process_file at 0x7e6764b74d60>

File "/app/backend/open_webui/routers/retrieval.py", line 1612, in process_file

result = save_docs_to_vector_db(

         └ <function save_docs_to_vector_db at 0x7e6764b74400>

File "/app/backend/open_webui/routers/retrieval.py", line 1416, in save_docs_to_vector_db

items = [

File "/app/backend/open_webui/routers/retrieval.py", line 1420, in

"vector": embeddings[idx],

          │          └ 0

          └ []

IndexError: list index out of range

2025-12-04 17:12:43.321 | ERROR | open_webui.routers.retrieval:process_file:1651 - list index out of range

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 0x7e6b064389a0>

└ <WorkerThread(AnyIO worker thread, started 138977071847104)>

File "/usr/local/lib/python3.11/threading.py", line 1045, in _bootstrap_inner

self.run()

│    └ <function WorkerThread.run at 0x7e66c01c8860>

└ <WorkerThread(AnyIO worker thread, started 138977071847104)>

File "/usr/local/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 986, in run

result = context.run(func, *args)

         │       │   │      └ ()

         │       │   └ functools.partial(<function process_uploaded_file at 0x7e67678d4c20>, <starlette.requests.Request object at 0x7e66c34ac490>, ...

         │       └ <method 'run' of '_contextvars.Context' objects>

         └ <_contextvars.Context object at 0x7e65ffd33240>

File "/app/backend/open_webui/routers/files.py", line 131, in process_uploaded_file

process_file(request, ProcessFileForm(file_id=file_item.id), user=user)

│            │        │                       │         │         └ UserModel(id='7ba35518-ee0a-4157-b05d-9dcdd2477ac6', email=', username=None, role='admin', na...

│            │        │                       │         └ '91329eb4-8478-46da-b0cc-c1e0c1090e0a'

│            │        │                       └ FileModel(id='91329eb4-8478-46da-b0cc-c1e0c1090e0a', user_id='7ba35518-ee0a-4157-b05d-9dcdd2477ac6', hash=None, filename='Rep...

│            │        └ <class 'open_webui.routers.retrieval.ProcessFileForm'>

│            └ <starlette.requests.Request object at 0x7e66c34ac490>

└ <function process_file at 0x7e6764b74d60>

File "/app/backend/open_webui/routers/retrieval.py", line 1648, in process_file

raise e

      └ IndexError('list index out of range')

File "/app/backend/open_webui/routers/retrieval.py", line 1612, in process_file

result = save_docs_to_vector_db(

         └ <function save_docs_to_vector_db at 0x7e6764b74400>

File "/app/backend/open_webui/routers/retrieval.py", line 1436, in save_docs_to_vector_db

raise e

File "/app/backend/open_webui/routers/retrieval.py", line 1416, in save_docs_to_vector_db

items = [

File "/app/backend/open_webui/routers/retrieval.py", line 1420, in

"vector": embeddings[idx],

          │          └ 0

          └ []

IndexError: list index out of range

2025-12-04 17:12:43.356 | ERROR | open_webui.routers.files:process_uploaded_file:142 - Error processing file: 91329eb4-8478-46da-b0cc-c1e0c1090e0a

Additional Information

I can curl embeding successfully from within the openwebui docker container so it's not a routing issue.
This just started happening after a recent update.

Originally created by @stevewillett on GitHub (Dec 4, 2025). Original GitHub issue: https://github.com/open-webui/open-webui/issues/19755 ### 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 have also searched in the CLOSED issues AND CLOSED discussions and found no related items (your issue might already be addressed on the development branch!). - [x] I am using the latest version of Open WebUI. ### Installation Method Docker ### Open WebUI Version v0.6.41 ### Ollama Version (if applicable) 0.13.1 ### Operating System Ubuntu 22.04 ### Browser (if applicable) Chrome ### 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 uploading files to knowledge or chat sessions should produce embeddings via ollama as configure http://ollama:11434/api/embed ### Actual Behavior aiohttp.client_exceptions.ClientResponseError: 404, message='Not Found', url='http://ollama:11434/api/embed' 2025-12-04 17:06:40.767 | ERROR | open_webui.retrieval.utils:agenerate_ollama_batch_embeddings:773 - Error generating ollama batch embeddings: 404, message='Not Found', url='http://ollama:11434/api/embed' ### Steps to Reproduce open openwebui in browser go to chat session upload file embedding failed with index out of range error ### Logs & Screenshots aiohttp.client_exceptions.ClientResponseError: 404, message='Not Found', url='http://ollama:11434/api/embed' 2025-12-04 17:12:43.250 | ERROR | open_webui.retrieval.utils:agenerate_ollama_batch_embeddings:773 - Error generating ollama batch embeddings: 404, message='Not Found', url='http://ollama:11434/api/embed' 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 0x7e6b064389a0> └ <WorkerThread(AnyIO worker thread, started 138977071847104)> File "/usr/local/lib/python3.11/threading.py", line 1045, in _bootstrap_inner self.run() │ └ <function WorkerThread.run at 0x7e66c01c8860> └ <WorkerThread(AnyIO worker thread, started 138977071847104)> File "/usr/local/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 986, in run result = context.run(func, *args) │ │ │ └ () │ │ └ functools.partial(<function process_uploaded_file at 0x7e67678d4c20>, <starlette.requests.Request object at 0x7e66c34ac490>, ... │ └ <method 'run' of '_contextvars.Context' objects> └ <_contextvars.Context object at 0x7e65ffd33240> File "/app/backend/open_webui/routers/files.py", line 131, in process_uploaded_file process_file(request, ProcessFileForm(file_id=file_item.id), user=user) │ │ │ │ │ └ UserModel(id='7ba35518-ee0a-4157-b05d-9dcdd2477ac6', email='', username=None, role='admin', na... │ │ │ │ └ '91329eb4-8478-46da-b0cc-c1e0c1090e0a' │ │ │ └ FileModel(id='91329eb4-8478-46da-b0cc-c1e0c1090e0a', user_id='7ba35518-ee0a-4157-b05d-9dcdd2477ac6', hash=None, filename='Rep... │ │ └ <class 'open_webui.routers.retrieval.ProcessFileForm'> │ └ <starlette.requests.Request object at 0x7e66c34ac490> └ <function process_file at 0x7e6764b74d60> File "/app/backend/open_webui/routers/retrieval.py", line 1612, in process_file result = save_docs_to_vector_db( └ <function save_docs_to_vector_db at 0x7e6764b74400> File "/app/backend/open_webui/routers/retrieval.py", line 1407, in save_docs_to_vector_db embeddings = asyncio.run( │ └ <function run at 0x7e6b05b0d3a0> └ <module 'asyncio' from '/usr/local/lib/python3.11/asyncio/__init__.py'> File "/usr/local/lib/python3.11/asyncio/runners.py", line 190, in run return runner.run(main) │ │ └ <coroutine object get_embedding_function.<locals>.async_embedding_function at 0x7e66c048e7a0> │ └ <function Runner.run at 0x7e6b05964f40> └ <asyncio.runners.Runner object at 0x7e661c780790> File "/usr/local/lib/python3.11/asyncio/runners.py", line 118, in run return self._loop.run_until_complete(task) │ │ │ └ <Task pending name='Task-149090' coro=<get_embedding_function.<locals>.async_embedding_function() running at /app/backend/ope... │ │ └ <function BaseEventLoop.run_until_complete at 0x7e6b05962b60> │ └ <_UnixSelectorEventLoop running=True closed=False debug=False> └ <asyncio.runners.Runner object at 0x7e661c780790> File "/usr/local/lib/python3.11/asyncio/base_events.py", line 641, in run_until_complete self.run_forever() │ └ <function BaseEventLoop.run_forever at 0x7e6b05962ac0> └ <_UnixSelectorEventLoop running=True closed=False debug=False> File "/usr/local/lib/python3.11/asyncio/base_events.py", line 608, in run_forever self._run_once() │ └ <function BaseEventLoop._run_once at 0x7e6b05964900> └ <_UnixSelectorEventLoop running=True closed=False debug=False> File "/usr/local/lib/python3.11/asyncio/base_events.py", line 1936, in _run_once handle._run() │ └ <function Handle._run at 0x7e6b05ac2b60> └ <Handle Task.task_wakeup(<Task finishe...> result=None>)> File "/usr/local/lib/python3.11/asyncio/events.py", line 84, in _run self._context.run(self._callback, *self._args) │ │ │ │ │ └ <member '_args' of 'Handle' objects> │ │ │ │ └ <Handle Task.task_wakeup(<Task finishe...> result=None>)> │ │ │ └ <member '_callback' of 'Handle' objects> │ │ └ <Handle Task.task_wakeup(<Task finishe...> result=None>)> │ └ <member '_context' of 'Handle' objects> └ <Handle Task.task_wakeup(<Task finishe...> result=None>)> File "/app/backend/open_webui/retrieval/utils.py", line 877, in generate_embeddings embeddings = await agenerate_ollama_batch_embeddings( └ <function agenerate_ollama_batch_embeddings at 0x7e6764b2b740> > File "/app/backend/open_webui/retrieval/utils.py", line 766, in agenerate_ollama_batch_embeddings r.raise_for_status() │ └ <function ClientResponse.raise_for_status at 0x7e6b036acd60> └ <ClientResponse(http://ollama:11434/api/embed) [404 Not Found]> <CIMultiDictProxy('Content-Type': 'application/json; charset=... File "/usr/local/lib/python3.11/site-packages/aiohttp/client_reqrep.py", line 629, in raise_for_status raise ClientResponseError( └ <class 'aiohttp.client_exceptions.ClientResponseError'> aiohttp.client_exceptions.ClientResponseError: 404, message='Not Found', url='http://ollama:11434/api/embed' 2025-12-04 17:12:43.264 | ERROR | open_webui.retrieval.utils:agenerate_ollama_batch_embeddings:773 - Error generating ollama batch embeddings: 404, message='Not Found', url='http://ollama:11434/api/embed' 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 0x7e6b064389a0> └ <WorkerThread(AnyIO worker thread, started 138977071847104)> File "/usr/local/lib/python3.11/threading.py", line 1045, in _bootstrap_inner self.run() │ └ <function WorkerThread.run at 0x7e66c01c8860> └ <WorkerThread(AnyIO worker thread, started 138977071847104)> File "/usr/local/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 986, in run result = context.run(func, *args) │ │ │ └ () │ │ └ functools.partial(<function process_uploaded_file at 0x7e67678d4c20>, <starlette.requests.Request object at 0x7e66c34ac490>, ... │ └ <method 'run' of '_contextvars.Context' objects> └ <_contextvars.Context object at 0x7e65ffd33240> File "/app/backend/open_webui/routers/files.py", line 131, in process_uploaded_file process_file(request, ProcessFileForm(file_id=file_item.id), user=user) │ │ │ │ │ └ UserModel(id='7ba35518-ee0a-4157-b05d-9dcdd2477ac6', email='', username=None, role='admin', na... │ │ │ │ └ '91329eb4-8478-46da-b0cc-c1e0c1090e0a' │ │ │ └ FileModel(id='91329eb4-8478-46da-b0cc-c1e0c1090e0a', user_id='7ba35518-ee0a-4157-b05d-9dcdd2477ac6', hash=None, filename='Rep... │ │ └ <class 'open_webui.routers.retrieval.ProcessFileForm'> │ └ <starlette.requests.Request object at 0x7e66c34ac490> └ <function process_file at 0x7e6764b74d60> File "/app/backend/open_webui/routers/retrieval.py", line 1612, in process_file result = save_docs_to_vector_db( └ <function save_docs_to_vector_db at 0x7e6764b74400> File "/app/backend/open_webui/routers/retrieval.py", line 1407, in save_docs_to_vector_db embeddings = asyncio.run( │ └ <function run at 0x7e6b05b0d3a0> └ <module 'asyncio' from '/usr/local/lib/python3.11/asyncio/__init__.py'> File "/usr/local/lib/python3.11/asyncio/runners.py", line 190, in run return runner.run(main) │ │ └ <coroutine object get_embedding_function.<locals>.async_embedding_function at 0x7e66c048e7a0> │ └ <function Runner.run at 0x7e6b05964f40> └ <asyncio.runners.Runner object at 0x7e661c780790> File "/usr/local/lib/python3.11/asyncio/runners.py", line 118, in run return self._loop.run_until_complete(task) │ │ │ └ <Task pending name='Task-149090' coro=<get_embedding_function.<locals>.async_embedding_function() running at /app/backend/ope... │ │ └ <function BaseEventLoop.run_until_complete at 0x7e6b05962b60> │ └ <_UnixSelectorEventLoop running=True closed=False debug=False> └ <asyncio.runners.Runner object at 0x7e661c780790> File "/usr/local/lib/python3.11/asyncio/base_events.py", line 641, in run_until_complete self.run_forever() │ └ <function BaseEventLoop.run_forever at 0x7e6b05962ac0> └ <_UnixSelectorEventLoop running=True closed=False debug=False> File "/usr/local/lib/python3.11/asyncio/base_events.py", line 608, in run_forever self._run_once() │ └ <function BaseEventLoop._run_once at 0x7e6b05964900> └ <_UnixSelectorEventLoop running=True closed=False debug=False> File "/usr/local/lib/python3.11/asyncio/base_events.py", line 1936, in _run_once handle._run() │ └ <function Handle._run at 0x7e6b05ac2b60> └ <Handle Task.task_wakeup(<Task finishe...> result=None>)> File "/usr/local/lib/python3.11/asyncio/events.py", line 84, in _run self._context.run(self._callback, *self._args) │ │ │ │ │ └ <member '_args' of 'Handle' objects> │ │ │ │ └ <Handle Task.task_wakeup(<Task finishe...> result=None>)> │ │ │ └ <member '_callback' of 'Handle' objects> │ │ └ <Handle Task.task_wakeup(<Task finishe...> result=None>)> │ └ <member '_context' of 'Handle' objects> └ <Handle Task.task_wakeup(<Task finishe...> result=None>)> File "/app/backend/open_webui/retrieval/utils.py", line 877, in generate_embeddings embeddings = await agenerate_ollama_batch_embeddings( └ <function agenerate_ollama_batch_embeddings at 0x7e6764b2b740> > File "/app/backend/open_webui/retrieval/utils.py", line 766, in agenerate_ollama_batch_embeddings r.raise_for_status() │ └ <function ClientResponse.raise_for_status at 0x7e6b036acd60> └ <ClientResponse(http://ollama:11434/api/embed) [404 Not Found]> <CIMultiDictProxy('Content-Type': 'application/json; charset=... File "/usr/local/lib/python3.11/site-packages/aiohttp/client_reqrep.py", line 629, in raise_for_status raise ClientResponseError( └ <class 'aiohttp.client_exceptions.ClientResponseError'> aiohttp.client_exceptions.ClientResponseError: 404, message='Not Found', url='http://ollama:11434/api/embed' 2025-12-04 17:12:43.277 | ERROR | open_webui.retrieval.utils:agenerate_ollama_batch_embeddings:773 - Error generating ollama batch embeddings: 404, message='Not Found', url='http://ollama:11434/api/embed' 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 0x7e6b064389a0> └ <WorkerThread(AnyIO worker thread, started 138977071847104)> File "/usr/local/lib/python3.11/threading.py", line 1045, in _bootstrap_inner self.run() │ └ <function WorkerThread.run at 0x7e66c01c8860> └ <WorkerThread(AnyIO worker thread, started 138977071847104)> File "/usr/local/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 986, in run result = context.run(func, *args) │ │ │ └ () │ │ └ functools.partial(<function process_uploaded_file at 0x7e67678d4c20>, <starlette.requests.Request object at 0x7e66c34ac490>, ... │ └ <method 'run' of '_contextvars.Context' objects> └ <_contextvars.Context object at 0x7e65ffd33240> File "/app/backend/open_webui/routers/files.py", line 131, in process_uploaded_file process_file(request, ProcessFileForm(file_id=file_item.id), user=user) │ │ │ │ │ └ UserModel(id='7ba35518-ee0a-4157-b05d-9dcdd2477ac6', email='', username=None, role='admin', na... │ │ │ │ └ '91329eb4-8478-46da-b0cc-c1e0c1090e0a' │ │ │ └ FileModel(id='91329eb4-8478-46da-b0cc-c1e0c1090e0a', user_id='7ba35518-ee0a-4157-b05d-9dcdd2477ac6', hash=None, filename='Rep... │ │ └ <class 'open_webui.routers.retrieval.ProcessFileForm'> │ └ <starlette.requests.Request object at 0x7e66c34ac490> └ <function process_file at 0x7e6764b74d60> File "/app/backend/open_webui/routers/retrieval.py", line 1612, in process_file result = save_docs_to_vector_db( └ <function save_docs_to_vector_db at 0x7e6764b74400> File "/app/backend/open_webui/routers/retrieval.py", line 1407, in save_docs_to_vector_db embeddings = asyncio.run( │ └ <function run at 0x7e6b05b0d3a0> └ <module 'asyncio' from '/usr/local/lib/python3.11/asyncio/__init__.py'> File "/usr/local/lib/python3.11/asyncio/runners.py", line 190, in run return runner.run(main) │ │ └ <coroutine object get_embedding_function.<locals>.async_embedding_function at 0x7e66c048e7a0> │ └ <function Runner.run at 0x7e6b05964f40> └ <asyncio.runners.Runner object at 0x7e661c780790> File "/usr/local/lib/python3.11/asyncio/runners.py", line 118, in run return self._loop.run_until_complete(task) │ │ │ └ <Task pending name='Task-149090' coro=<get_embedding_function.<locals>.async_embedding_function() running at /app/backend/ope... │ │ └ <function BaseEventLoop.run_until_complete at 0x7e6b05962b60> │ └ <_UnixSelectorEventLoop running=True closed=False debug=False> └ <asyncio.runners.Runner object at 0x7e661c780790> File "/usr/local/lib/python3.11/asyncio/base_events.py", line 641, in run_until_complete self.run_forever() │ └ <function BaseEventLoop.run_forever at 0x7e6b05962ac0> └ <_UnixSelectorEventLoop running=True closed=False debug=False> File "/usr/local/lib/python3.11/asyncio/base_events.py", line 608, in run_forever self._run_once() │ └ <function BaseEventLoop._run_once at 0x7e6b05964900> └ <_UnixSelectorEventLoop running=True closed=False debug=False> File "/usr/local/lib/python3.11/asyncio/base_events.py", line 1936, in _run_once handle._run() │ └ <function Handle._run at 0x7e6b05ac2b60> └ <Handle Task.task_wakeup(<Task finishe...> result=None>)> File "/usr/local/lib/python3.11/asyncio/events.py", line 84, in _run self._context.run(self._callback, *self._args) │ │ │ │ │ └ <member '_args' of 'Handle' objects> │ │ │ │ └ <Handle Task.task_wakeup(<Task finishe...> result=None>)> │ │ │ └ <member '_callback' of 'Handle' objects> │ │ └ <Handle Task.task_wakeup(<Task finishe...> result=None>)> │ └ <member '_context' of 'Handle' objects> └ <Handle Task.task_wakeup(<Task finishe...> result=None>)> File "/app/backend/open_webui/retrieval/utils.py", line 877, in generate_embeddings embeddings = await agenerate_ollama_batch_embeddings( └ <function agenerate_ollama_batch_embeddings at 0x7e6764b2b740> > File "/app/backend/open_webui/retrieval/utils.py", line 766, in agenerate_ollama_batch_embeddings r.raise_for_status() │ └ <function ClientResponse.raise_for_status at 0x7e6b036acd60> └ <ClientResponse(http://ollama:11434/api/embed) [404 Not Found]> <CIMultiDictProxy('Content-Type': 'application/json; charset=... File "/usr/local/lib/python3.11/site-packages/aiohttp/client_reqrep.py", line 629, in raise_for_status raise ClientResponseError( └ <class 'aiohttp.client_exceptions.ClientResponseError'> aiohttp.client_exceptions.ClientResponseError: 404, message='Not Found', url='http://ollama:11434/api/embed' 2025-12-04 17:12:43.290 | ERROR | open_webui.retrieval.utils:agenerate_ollama_batch_embeddings:773 - Error generating ollama batch embeddings: 404, message='Not Found', url='http://ollama:11434/api/embed' 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 0x7e6b064389a0> └ <WorkerThread(AnyIO worker thread, started 138977071847104)> File "/usr/local/lib/python3.11/threading.py", line 1045, in _bootstrap_inner self.run() │ └ <function WorkerThread.run at 0x7e66c01c8860> └ <WorkerThread(AnyIO worker thread, started 138977071847104)> File "/usr/local/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 986, in run result = context.run(func, *args) │ │ │ └ () │ │ └ functools.partial(<function process_uploaded_file at 0x7e67678d4c20>, <starlette.requests.Request object at 0x7e66c34ac490>, ... │ └ <method 'run' of '_contextvars.Context' objects> └ <_contextvars.Context object at 0x7e65ffd33240> File "/app/backend/open_webui/routers/files.py", line 131, in process_uploaded_file process_file(request, ProcessFileForm(file_id=file_item.id), user=user) │ │ │ │ │ └ UserModel(id='7ba35518-ee0a-4157-b05d-9dcdd2477ac6', email='swillett@assured-consulting.com', username=None, role='admin', na... │ │ │ │ └ '91329eb4-8478-46da-b0cc-c1e0c1090e0a' │ │ │ └ FileModel(id='91329eb4-8478-46da-b0cc-c1e0c1090e0a', user_id='7ba35518-ee0a-4157-b05d-9dcdd2477ac6', hash=None, filename='Rep... │ │ └ <class 'open_webui.routers.retrieval.ProcessFileForm'> │ └ <starlette.requests.Request object at 0x7e66c34ac490> └ <function process_file at 0x7e6764b74d60> File "/app/backend/open_webui/routers/retrieval.py", line 1612, in process_file result = save_docs_to_vector_db( └ <function save_docs_to_vector_db at 0x7e6764b74400> File "/app/backend/open_webui/routers/retrieval.py", line 1407, in save_docs_to_vector_db embeddings = asyncio.run( │ └ <function run at 0x7e6b05b0d3a0> └ <module 'asyncio' from '/usr/local/lib/python3.11/asyncio/__init__.py'> File "/usr/local/lib/python3.11/asyncio/runners.py", line 190, in run return runner.run(main) │ │ └ <coroutine object get_embedding_function.<locals>.async_embedding_function at 0x7e66c048e7a0> │ └ <function Runner.run at 0x7e6b05964f40> └ <asyncio.runners.Runner object at 0x7e661c780790> File "/usr/local/lib/python3.11/asyncio/runners.py", line 118, in run return self._loop.run_until_complete(task) │ │ │ └ <Task pending name='Task-149090' coro=<get_embedding_function.<locals>.async_embedding_function() running at /app/backend/ope... │ │ └ <function BaseEventLoop.run_until_complete at 0x7e6b05962b60> │ └ <_UnixSelectorEventLoop running=True closed=False debug=False> └ <asyncio.runners.Runner object at 0x7e661c780790> File "/usr/local/lib/python3.11/asyncio/base_events.py", line 641, in run_until_complete self.run_forever() │ └ <function BaseEventLoop.run_forever at 0x7e6b05962ac0> └ <_UnixSelectorEventLoop running=True closed=False debug=False> File "/usr/local/lib/python3.11/asyncio/base_events.py", line 608, in run_forever self._run_once() │ └ <function BaseEventLoop._run_once at 0x7e6b05964900> └ <_UnixSelectorEventLoop running=True closed=False debug=False> File "/usr/local/lib/python3.11/asyncio/base_events.py", line 1936, in _run_once handle._run() │ └ <function Handle._run at 0x7e6b05ac2b60> └ <Handle Task.task_wakeup(<Task finishe...> result=None>)> File "/usr/local/lib/python3.11/asyncio/events.py", line 84, in _run self._context.run(self._callback, *self._args) │ │ │ │ │ └ <member '_args' of 'Handle' objects> │ │ │ │ └ <Handle Task.task_wakeup(<Task finishe...> result=None>)> │ │ │ └ <member '_callback' of 'Handle' objects> │ │ └ <Handle Task.task_wakeup(<Task finishe...> result=None>)> │ └ <member '_context' of 'Handle' objects> └ <Handle Task.task_wakeup(<Task finishe...> result=None>)> File "/app/backend/open_webui/retrieval/utils.py", line 877, in generate_embeddings embeddings = await agenerate_ollama_batch_embeddings( └ <function agenerate_ollama_batch_embeddings at 0x7e6764b2b740> > File "/app/backend/open_webui/retrieval/utils.py", line 766, in agenerate_ollama_batch_embeddings r.raise_for_status() │ └ <function ClientResponse.raise_for_status at 0x7e6b036acd60> └ <ClientResponse(http://ollama:11434/api/embed) [404 Not Found]> <CIMultiDictProxy('Content-Type': 'application/json; charset=... File "/usr/local/lib/python3.11/site-packages/aiohttp/client_reqrep.py", line 629, in raise_for_status raise ClientResponseError( └ <class 'aiohttp.client_exceptions.ClientResponseError'> aiohttp.client_exceptions.ClientResponseError: 404, message='Not Found', url='http://ollama:11434/api/embed' 2025-12-04 17:12:43.304 | INFO | open_webui.routers.retrieval:save_docs_to_vector_db:1414 - embeddings generated 0 for 6 items 2025-12-04 17:12:43.304 | ERROR | open_webui.routers.retrieval:save_docs_to_vector_db:1435 - list index out of range 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 0x7e6b064389a0> └ <WorkerThread(AnyIO worker thread, started 138977071847104)> File "/usr/local/lib/python3.11/threading.py", line 1045, in _bootstrap_inner self.run() │ └ <function WorkerThread.run at 0x7e66c01c8860> └ <WorkerThread(AnyIO worker thread, started 138977071847104)> File "/usr/local/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 986, in run result = context.run(func, *args) │ │ │ └ () │ │ └ functools.partial(<function process_uploaded_file at 0x7e67678d4c20>, <starlette.requests.Request object at 0x7e66c34ac490>, ... │ └ <method 'run' of '_contextvars.Context' objects> └ <_contextvars.Context object at 0x7e65ffd33240> File "/app/backend/open_webui/routers/files.py", line 131, in process_uploaded_file process_file(request, ProcessFileForm(file_id=file_item.id), user=user) │ │ │ │ │ └ UserModel(id='7ba35518-ee0a-4157-b05d-9dcdd2477ac6', email=', username=None, role='admin', na... │ │ │ │ └ '91329eb4-8478-46da-b0cc-c1e0c1090e0a' │ │ │ └ FileModel(id='91329eb4-8478-46da-b0cc-c1e0c1090e0a', user_id='7ba35518-ee0a-4157-b05d-9dcdd2477ac6', hash=None, filename='Rep... │ │ └ <class 'open_webui.routers.retrieval.ProcessFileForm'> │ └ <starlette.requests.Request object at 0x7e66c34ac490> └ <function process_file at 0x7e6764b74d60> File "/app/backend/open_webui/routers/retrieval.py", line 1612, in process_file result = save_docs_to_vector_db( └ <function save_docs_to_vector_db at 0x7e6764b74400> > File "/app/backend/open_webui/routers/retrieval.py", line 1416, in save_docs_to_vector_db items = [ File "/app/backend/open_webui/routers/retrieval.py", line 1420, in <listcomp> "vector": embeddings[idx], │ └ 0 └ [] IndexError: list index out of range 2025-12-04 17:12:43.321 | ERROR | open_webui.routers.retrieval:process_file:1651 - list index out of range 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 0x7e6b064389a0> └ <WorkerThread(AnyIO worker thread, started 138977071847104)> File "/usr/local/lib/python3.11/threading.py", line 1045, in _bootstrap_inner self.run() │ └ <function WorkerThread.run at 0x7e66c01c8860> └ <WorkerThread(AnyIO worker thread, started 138977071847104)> File "/usr/local/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 986, in run result = context.run(func, *args) │ │ │ └ () │ │ └ functools.partial(<function process_uploaded_file at 0x7e67678d4c20>, <starlette.requests.Request object at 0x7e66c34ac490>, ... │ └ <method 'run' of '_contextvars.Context' objects> └ <_contextvars.Context object at 0x7e65ffd33240> File "/app/backend/open_webui/routers/files.py", line 131, in process_uploaded_file process_file(request, ProcessFileForm(file_id=file_item.id), user=user) │ │ │ │ │ └ UserModel(id='7ba35518-ee0a-4157-b05d-9dcdd2477ac6', email=', username=None, role='admin', na... │ │ │ │ └ '91329eb4-8478-46da-b0cc-c1e0c1090e0a' │ │ │ └ FileModel(id='91329eb4-8478-46da-b0cc-c1e0c1090e0a', user_id='7ba35518-ee0a-4157-b05d-9dcdd2477ac6', hash=None, filename='Rep... │ │ └ <class 'open_webui.routers.retrieval.ProcessFileForm'> │ └ <starlette.requests.Request object at 0x7e66c34ac490> └ <function process_file at 0x7e6764b74d60> > File "/app/backend/open_webui/routers/retrieval.py", line 1648, in process_file raise e └ IndexError('list index out of range') File "/app/backend/open_webui/routers/retrieval.py", line 1612, in process_file result = save_docs_to_vector_db( └ <function save_docs_to_vector_db at 0x7e6764b74400> File "/app/backend/open_webui/routers/retrieval.py", line 1436, in save_docs_to_vector_db raise e File "/app/backend/open_webui/routers/retrieval.py", line 1416, in save_docs_to_vector_db items = [ File "/app/backend/open_webui/routers/retrieval.py", line 1420, in <listcomp> "vector": embeddings[idx], │ └ 0 └ [] IndexError: list index out of range 2025-12-04 17:12:43.356 | ERROR | open_webui.routers.files:process_uploaded_file:142 - Error processing file: 91329eb4-8478-46da-b0cc-c1e0c1090e0a ### Additional Information I can curl embeding successfully from within the openwebui docker container so it's not a routing issue. This just started happening after a recent update.
GiteaMirror added the bug label 2026-04-20 01:16:36 -05:00
Author
Owner

@owui-terminator[bot] commented on GitHub (Dec 4, 2025):

🔍 Similar Issues Found

I found some existing issues that might be related to this one. Please check if any of these are duplicates or contain helpful solutions:

  1. #19563 issue:
    by naruto7g • Nov 28, 2025 • bug

  2. #19211 issue:
    by Byrnes9 • Nov 16, 2025 • bug

  3. #19496 issue: 500 internal server error appears in v0.6.40
    by cloudtuotuo • Nov 26, 2025 • bug

  4. #16255 issue: 404: Model not found
    by wade3po • Aug 04, 2025 • bug

  5. #19417 issue: v0.6.37 SQL Error
    by AKHYP • Nov 24, 2025 • bug

Show 5 more related issues
  1. #19376 issue: open-webui docker compose service does not resolve ollama service name
    by SorenPoulsen • Nov 21, 2025 • bug

  2. #19575 issue: Remove / delete Ollama models not possible - Error occurred
    by JoeyVinc • Nov 28, 2025 • bug

  3. #19481 issue: admin panel not working
    by kybeq • Nov 25, 2025 • bug

  4. #16025 issue: 404 and style errors in 0.6.15+
    by drewbroadbent • Jul 25, 2025 • bug

  5. #15852 issue:
    by KyleMasterson • Jul 19, 2025 • bug


💡 Tips:

  • If this is a duplicate, please consider closing this issue and adding any additional details to the existing one
  • If you found a solution in any of these issues, please share it here to help others

This comment was generated automatically by a bot. Please react with a 👍 if this comment was helpful, or a 👎 if it was not.

<!-- gh-comment-id:3613369225 --> @owui-terminator[bot] commented on GitHub (Dec 4, 2025): 🔍 **Similar Issues Found** I found some existing issues that might be related to this one. Please check if any of these are duplicates or contain helpful solutions: 1. [#19563](https://github.com/open-webui/open-webui/issues/19563) **issue:** *by naruto7g • Nov 28, 2025 • `bug`* 2. [#19211](https://github.com/open-webui/open-webui/issues/19211) **issue:** *by Byrnes9 • Nov 16, 2025 • `bug`* 3. [#19496](https://github.com/open-webui/open-webui/issues/19496) **issue: 500 internal server error appears in v0.6.40** *by cloudtuotuo • Nov 26, 2025 • `bug`* 4. [#16255](https://github.com/open-webui/open-webui/issues/16255) **issue: 404: Model not found** *by wade3po • Aug 04, 2025 • `bug`* 5. [#19417](https://github.com/open-webui/open-webui/issues/19417) **issue: v0.6.37 SQL Error** *by AKHYP • Nov 24, 2025 • `bug`* <details> <summary>Show 5 more related issues</summary> 6. [#19376](https://github.com/open-webui/open-webui/issues/19376) **issue: open-webui docker compose service does not resolve ollama service name** *by SorenPoulsen • Nov 21, 2025 • `bug`* 7. [#19575](https://github.com/open-webui/open-webui/issues/19575) **issue: Remove / delete Ollama models not possible - Error occurred** *by JoeyVinc • Nov 28, 2025 • `bug`* 8. [#19481](https://github.com/open-webui/open-webui/issues/19481) **issue: admin panel not working** *by kybeq • Nov 25, 2025 • `bug`* 9. [#16025](https://github.com/open-webui/open-webui/issues/16025) **issue: 404 and style errors in 0.6.15+** *by drewbroadbent • Jul 25, 2025 • `bug`* 10. [#15852](https://github.com/open-webui/open-webui/issues/15852) **issue:** *by KyleMasterson • Jul 19, 2025 • `bug`* </details> --- 💡 **Tips:** - If this is a duplicate, please consider closing this issue and adding any additional details to the existing one - If you found a solution in any of these issues, please share it here to help others *This comment was generated automatically by a bot.* Please react with a 👍 if this comment was helpful, or a 👎 if it was not.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#18985