issue: Uploading many files at once can cause errors when running larger embedding models #5387

Closed
opened 2025-11-11 16:19:40 -06:00 by GiteaMirror · 2 comments
Owner

Originally created by @i0ntempest on GitHub (May 29, 2025).

Check Existing Issues

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

Installation Method

Pip Install

Open WebUI Version

0.6.12

Ollama Version (if applicable)

No response

Operating System

macOS 15.5

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

No error

Actual Behavior

A number of different errors can occur, including:
fastapi.exceptions.HTTPException: 400: 'NoneType' object is not subscriptable
fastapi.exceptions.HTTPException: 400: The size of tensor a (356) must match the size of tensor b (289) at non-singleton dimension 1

Steps to Reproduce

  1. Install openwebui in a standard venv with pip
  2. Launch it with ENV=prod
  3. Inside Document settings, set embedding model to nomic-ai/nomic-embed-text-v2-moe
  4. In a new chat window, drag a bunch of office files into it (in my case 6 pptx files around 6MB each are enough to trigger this, might differ depending on hardware)
  5. Some files will be processed fine, others will take a long time and with errors popping up in the corner

Logs & Screenshots

  File "/opt/open-webui/huggingface/modules/transformers_modules/nomic-ai/nomic-bert-2048/7710840340a098cfb869c4f65e87cf2b1b70caca/modeling_hf_nomic_bert.py", line 1280, in apply_rotary_emb
    [x[..., :ro_dim] * cos + rotate_half(x[..., :ro_dim], interleaved) * sin, x[..., ro_dim:]],
     │       │         │     │           │       │        │              │    │      └ 64
     │       │         │     │           │       │        │              │    └ tensor([[[[-2.0080e-01, -4.4828e-01,  9.9712e-02,  ..., -1.1973e+00,
     │       │         │     │           │       │        │              │                 -7.1427e-01, -3.9615e-01],
     │       │         │     │           │       │        │              │                [-8.0051...
     │       │         │     │           │       │        │              └ tensor([[[ 0.0000e+00,  0.0000e+00,  0.0000e+00,  ...,  0.0000e+00,
     │       │         │     │           │       │        │                           0.0000e+00,  0.0000e+00]],
     │       │         │     │           │       │        │                
     │       │         │     │           │       │        │                        [[ 8.4147e...
     │       │         │     │           │       │        └ False
     │       │         │     │           │       └ 64
     │       │         │     │           └ tensor([[[[-2.0080e-01, -4.4828e-01,  9.9712e-02,  ..., -1.1973e+00,
     │       │         │     │                        -7.1427e-01, -3.9615e-01],
     │       │         │     │                       [-8.0051...
     │       │         │     └ <function rotate_half at 0x305a66980>
     │       │         └ tensor([[[ 1.0000,  1.0000,  1.0000,  ...,  1.0000,  1.0000,  1.0000]],
     │       │           
     │       │                   [[ 0.5403,  0.7318,  0.8460,  ...,  1.0000, ...
     │       └ 64
     └ tensor([[[[-2.0080e-01, -4.4828e-01,  9.9712e-02,  ..., -1.1973e+00,
                  -7.1427e-01, -3.9615e-01],
                 [-8.0051...

RuntimeError: The size of tensor a (272) must match the size of tensor b (227) at non-singleton dimension 1


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/threading.py", line 1032, in _bootstrap
    self._bootstrap_inner()
    │    └ <function Thread._bootstrap_inner at 0x102e2b380>
    └ <WorkerThread(AnyIO worker thread, started 13113913344)>
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/threading.py", line 1075, in _bootstrap_inner
    self.run()
    │    └ <function WorkerThread.run at 0x307309120>
    └ <WorkerThread(AnyIO worker thread, started 13113913344)>
  File "/opt/open-webui/venv/lib/python3.12/site-packages/anyio/_backends/_asyncio.py", line 967, in run
    result = context.run(func, *args)
             │       │   │      └ ()
             │       │   └ functools.partial(<function upload_file at 0x165d72520>, user=UserModel(id='4c4bef79-0d21-4259-8f68-5b4d7085d620', name='i0nt...
             │       └ <method 'run' of '_contextvars.Context' objects>
             └ <_contextvars.Context object at 0x4a5a70a80>
> File "/opt/open-webui/venv/lib/python3.12/site-packages/open_webui/routers/files.py", line 172, in upload_file
    process_file(request, ProcessFileForm(file_id=id), user=user)
    │            │        │                       │         └ UserModel(id='4c4bef79-0d21-4259-8f68-5b4d7085d620', name='i0ntempest', email='i0ntempest@i0ntempest.com', role='admin', prof...
    │            │        │                       └ 'f859cef2-e912-4bc7-b1df-ffff028224d3'
    │            │        └ <class 'open_webui.routers.retrieval.ProcessFileForm'>
    │            └ <starlette.requests.Request object at 0x4a5a6be90>
    └ <function process_file at 0x16d9a4fe0>
  File "/opt/open-webui/venv/lib/python3.12/site-packages/open_webui/routers/retrieval.py", line 1362, in process_file
    raise HTTPException(
          └ <class 'fastapi.exceptions.HTTPException'>

fastapi.exceptions.HTTPException: 400: The size of tensor a (272) must match the size of tensor b (227) at non-singleton dimension 1
2025-05-29 23:06:52.323 | ERROR    | open_webui.routers.files:upload_file:182 - Error processing file: 159d8ab3-4548-4e55-9674-d92f8306ca50 - {}
2025-05-29 23:06:52.323 | ERROR    | open_webui.routers.files:upload_file:182 - Error processing file: 58893714-6968-4404-8455-d9c52e47a6d5 - {}
2025-05-29 23:06:52.323 | ERROR    | open_webui.routers.files:upload_file:182 - Error processing file: f859cef2-e912-4bc7-b1df-ffff028224d3 - {}

com.i0ntpst.open-webui.log

Additional Information

My system is a Mac mini with M4 and 24GB RAM. I'm guessing this might be related to hardware specs.

Originally created by @i0ntempest on GitHub (May 29, 2025). ### Check Existing Issues - [x] I have searched the existing issues and discussions. - [x] I am using the latest version of Open WebUI. ### Installation Method Pip Install ### Open WebUI Version 0.6.12 ### Ollama Version (if applicable) _No response_ ### Operating System macOS 15.5 ### 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 No error ### Actual Behavior A number of different errors can occur, including: `fastapi.exceptions.HTTPException: 400: 'NoneType' object is not subscriptable` `fastapi.exceptions.HTTPException: 400: The size of tensor a (356) must match the size of tensor b (289) at non-singleton dimension 1` ### Steps to Reproduce 1. Install openwebui in a standard venv with pip 2. Launch it with `ENV=prod` 3. Inside Document settings, set embedding model to `nomic-ai/nomic-embed-text-v2-moe` 4. In a new chat window, drag a bunch of office files into it (in my case 6 pptx files around 6MB each are enough to trigger this, might differ depending on hardware) 5. Some files will be processed fine, others will take a long time and with errors popping up in the corner ### Logs & Screenshots ``` File "/opt/open-webui/huggingface/modules/transformers_modules/nomic-ai/nomic-bert-2048/7710840340a098cfb869c4f65e87cf2b1b70caca/modeling_hf_nomic_bert.py", line 1280, in apply_rotary_emb [x[..., :ro_dim] * cos + rotate_half(x[..., :ro_dim], interleaved) * sin, x[..., ro_dim:]], │ │ │ │ │ │ │ │ │ └ 64 │ │ │ │ │ │ │ │ └ tensor([[[[-2.0080e-01, -4.4828e-01, 9.9712e-02, ..., -1.1973e+00, │ │ │ │ │ │ │ │ -7.1427e-01, -3.9615e-01], │ │ │ │ │ │ │ │ [-8.0051... │ │ │ │ │ │ │ └ tensor([[[ 0.0000e+00, 0.0000e+00, 0.0000e+00, ..., 0.0000e+00, │ │ │ │ │ │ │ 0.0000e+00, 0.0000e+00]], │ │ │ │ │ │ │ │ │ │ │ │ │ │ [[ 8.4147e... │ │ │ │ │ │ └ False │ │ │ │ │ └ 64 │ │ │ │ └ tensor([[[[-2.0080e-01, -4.4828e-01, 9.9712e-02, ..., -1.1973e+00, │ │ │ │ -7.1427e-01, -3.9615e-01], │ │ │ │ [-8.0051... │ │ │ └ <function rotate_half at 0x305a66980> │ │ └ tensor([[[ 1.0000, 1.0000, 1.0000, ..., 1.0000, 1.0000, 1.0000]], │ │ │ │ [[ 0.5403, 0.7318, 0.8460, ..., 1.0000, ... │ └ 64 └ tensor([[[[-2.0080e-01, -4.4828e-01, 9.9712e-02, ..., -1.1973e+00, -7.1427e-01, -3.9615e-01], [-8.0051... RuntimeError: The size of tensor a (272) must match the size of tensor b (227) at non-singleton dimension 1 During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/opt/local/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/threading.py", line 1032, in _bootstrap self._bootstrap_inner() │ └ <function Thread._bootstrap_inner at 0x102e2b380> └ <WorkerThread(AnyIO worker thread, started 13113913344)> File "/opt/local/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/threading.py", line 1075, in _bootstrap_inner self.run() │ └ <function WorkerThread.run at 0x307309120> └ <WorkerThread(AnyIO worker thread, started 13113913344)> File "/opt/open-webui/venv/lib/python3.12/site-packages/anyio/_backends/_asyncio.py", line 967, in run result = context.run(func, *args) │ │ │ └ () │ │ └ functools.partial(<function upload_file at 0x165d72520>, user=UserModel(id='4c4bef79-0d21-4259-8f68-5b4d7085d620', name='i0nt... │ └ <method 'run' of '_contextvars.Context' objects> └ <_contextvars.Context object at 0x4a5a70a80> > File "/opt/open-webui/venv/lib/python3.12/site-packages/open_webui/routers/files.py", line 172, in upload_file process_file(request, ProcessFileForm(file_id=id), user=user) │ │ │ │ └ UserModel(id='4c4bef79-0d21-4259-8f68-5b4d7085d620', name='i0ntempest', email='i0ntempest@i0ntempest.com', role='admin', prof... │ │ │ └ 'f859cef2-e912-4bc7-b1df-ffff028224d3' │ │ └ <class 'open_webui.routers.retrieval.ProcessFileForm'> │ └ <starlette.requests.Request object at 0x4a5a6be90> └ <function process_file at 0x16d9a4fe0> File "/opt/open-webui/venv/lib/python3.12/site-packages/open_webui/routers/retrieval.py", line 1362, in process_file raise HTTPException( └ <class 'fastapi.exceptions.HTTPException'> fastapi.exceptions.HTTPException: 400: The size of tensor a (272) must match the size of tensor b (227) at non-singleton dimension 1 2025-05-29 23:06:52.323 | ERROR | open_webui.routers.files:upload_file:182 - Error processing file: 159d8ab3-4548-4e55-9674-d92f8306ca50 - {} 2025-05-29 23:06:52.323 | ERROR | open_webui.routers.files:upload_file:182 - Error processing file: 58893714-6968-4404-8455-d9c52e47a6d5 - {} 2025-05-29 23:06:52.323 | ERROR | open_webui.routers.files:upload_file:182 - Error processing file: f859cef2-e912-4bc7-b1df-ffff028224d3 - {} ``` [com.i0ntpst.open-webui.log](https://github.com/user-attachments/files/20504981/com.i0ntpst.open-webui.log) ### Additional Information My system is a Mac mini with M4 and 24GB RAM. I'm guessing this might be related to hardware specs.
GiteaMirror added the bug label 2025-11-11 16:19:40 -06:00
Author
Owner

@rgaricano commented on GitHub (May 29, 2025):

The error message indicate that dimmensions of current embedd model are different that the database ones.
That occur when embedd model is changed (and new one use different dimmensions size) and no database reset is done.

It can be solved by changing the embedding model to the same one that populated the vector database or by resetting the vectorDB (and reembedding data)

@rgaricano commented on GitHub (May 29, 2025): The error message indicate that dimmensions of current embedd model are different that the database ones. That occur when embedd model is changed (and new one use different dimmensions size) and no database reset is done. It can be solved by changing the embedding model to the same one that populated the vector database or by resetting the vectorDB (and reembedding data)
Author
Owner

@i0ntempest commented on GitHub (May 29, 2025):

The error message indicate that dimmensions of current embedd model are different that the database ones. That occur when embedd model is changed (and new one use different dimmensions size) and no database reset is done.

It can be solved by changing the embedding model to the same one that populated the vector database or by resetting the vectorDB (and reembedding data)

I have reset the vetor db multiple times when trying to solve this issue. It didn't change anything.

@i0ntempest commented on GitHub (May 29, 2025): > The error message indicate that dimmensions of current embedd model are different that the database ones. That occur when embedd model is changed (and new one use different dimmensions size) and no database reset is done. > > It can be solved by changing the embedding model to the same one that populated the vector database or by resetting the vectorDB (and reembedding data) I have reset the vetor db multiple times when trying to solve this issue. It didn't change anything.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#5387