[GH-ISSUE #18479] issue: unable to parse document using MinerU-vLLM API #105605

Closed
opened 2026-05-18 03:39:02 -05:00 by GiteaMirror · 0 comments
Owner

Originally created by @athenacykes on GitHub (Oct 21, 2025).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/18479

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

Git Clone

Open WebUI Version

v0.6.34

Ollama Version (if applicable)

No response

Operating System

Docker based deployment on RHEL 9

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

Document shall be parsed using MinerU's API which is added to its MinerU-vLLM image

Actual Behavior

Document is not successfully parsed

Steps to Reproduce

  1. Start Open WebUI using docker compose and start MinerU vLLM service
  2. Configure MinerU as document extraction engine
  3. Upload a document in Knowledge tab

Logs & Screenshots

The following error is shown on Open WebUI docker logs:

`2025-10-21 03:55:27.895 | INFO | open_webui.routers.files:upload_file_handler:164 - file.content_type: application/pdf
2025-10-21 03:55:27.904 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 10.190.4.43:0 - "POST /api/v1/files/ HTTP/1.1" 200
2025-10-21 03:55:27.915 | INFO | open_webui.retrieval.loaders.mineru:_load_local_api:73 - Using MinerU Local API at http://10.100.3.1:8086
2025-10-21 03:55:27.915 | INFO | open_webui.retrieval.loaders.mineru:_load_local_api:113 - Sending file to MinerU Local API: 01a07597-51f4-4f73-9d35-1a965fc0505c_Red_Hat_build_of_Keycloak-26.0-API_Documentation-en-US.pdf
2025-10-21 03:55:27.930 | ERROR | open_webui.retrieval.loaders.mineru:load:65 - Error loading document with MinerU: 400: MinerU Local API request failed: 404 Client Error: Not Found for url: http://10.100.3.1:8086/file_parse - {'detail': 'Not Found'}
2025-10-21 03:55:27.931 | ERROR | open_webui.routers.retrieval:process_file:1695 - 400: MinerU Local API request failed: 404 Client Error: Not Found for url: http://10.100.3.1:8086/file_parse - {'detail': 'Not Found'}
Traceback (most recent call last):

File "/app/backend/open_webui/retrieval/loaders/mineru.py", line 122, in _load_local_api
response.raise_for_status()
│ └ <function Response.raise_for_status at 0x7f846853e020>
└ <Response [404]>

File "/usr/local/lib/python3.11/site-packages/requests/models.py", line 1026, in raise_for_status
raise HTTPError(http_error_msg, response=self)
│ │ └ <Response [404]>
│ └ '404 Client Error: Not Found for url: http://10.100.3.1:8086/file_parse'
└ <class 'requests.exceptions.HTTPError'>

requests.exceptions.HTTPError: 404 Client Error: Not Found for url: http://10.100.3.1:8086/file_parse

During handling of the above exception, another exception occurred:

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 0x7f846b9689a0>
└ <WorkerThread(AnyIO worker thread, started 140203150792384)>
File "/usr/local/lib/python3.11/threading.py", line 1045, in _bootstrap_inner
self.run()
│ └ <function WorkerThread.run at 0x7f8406ffb6a0>
└ <WorkerThread(AnyIO worker thread, started 140203150792384)>
File "/usr/local/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 976, in run
result = context.run(func, *args)
│ │ │ └ ()
│ │ └ functools.partial(<function process_uploaded_file at 0x7f842a0bcf40>, <starlette.requests.Request object at 0x7f83d473e9d0>, ...
│ └ <method 'run' of '_contextvars.Context' objects>
└ <_contextvars.Context object at 0x7f84041a26c0>

File "/app/backend/open_webui/routers/files.py", line 117, in process_uploaded_file
process_file(request, ProcessFileForm(file_id=file_item.id), user=user)
│ │ │ │ │ └ UserModel(id='6ad84a9f-283b-44b4-89c8-ad4fcf4a94f2', name='xxxxxxx', email='xxxxx@xxxxx.com', username=None,...
│ │ │ │ └ '01a07597-51f4-4f73-9d35-1a965fc0505c'
│ │ │ └ FileModel(id='01a07597-51f4-4f73-9d35-1a965fc0505c', user_id='6ad84a9f-283b-44b4-89c8-ad4fcf4a94f2', hash=None, filename='Red...
│ │ └ <class 'open_webui.routers.retrieval.ProcessFileForm'>
│ └ <starlette.requests.Request object at 0x7f83d473e9d0>
└ <function process_file at 0x7f841d0c2a20>

File "/app/backend/open_webui/routers/retrieval.py", line 1606, in process_file
docs = loader.load(
│ └ <function Loader.load at 0x7f841dabd120>
└ <open_webui.retrieval.loaders.main.Loader object at 0x7f83d4925d90>

File "/app/backend/open_webui/retrieval/loaders/main.py", line 237, in load
docs = loader.load()
│ └ <function MinerULoader.load at 0x7f841dabe520>
└ <open_webui.retrieval.loaders.mineru.MinerULoader object at 0x7f84040eda50>

File "/app/backend/open_webui/retrieval/loaders/mineru.py", line 63, in load
return self._load_local_api()
│ └ <function MinerULoader._load_local_api at 0x7f841dabe5c0>
└ <open_webui.retrieval.loaders.mineru.MinerULoader object at 0x7f84040eda50>

File "/app/backend/open_webui/retrieval/loaders/mineru.py", line 141, in _load_local_api
raise HTTPException(status.HTTP_400_BAD_REQUEST, detail=error_detail)
│ │ │ └ "MinerU Local API request failed: 404 Client Error: Not Found for url: http://10.100.3.1:8086/file_parse - {'detail': 'Not Fo...
│ │ └ 400
│ └ <module 'starlette.status' from '/usr/local/lib/python3.11/site-packages/starlette/status.py'>
└ <class 'fastapi.exceptions.HTTPException'>

fastapi.exceptions.HTTPException: 400: MinerU Local API request failed: 404 Client Error: Not Found for url: http://10.100.3.1:8086/file_parse - {'detail': 'Not Found'}
2025-10-21 03:55:27.940 | ERROR | open_webui.routers.files:process_uploaded_file:124 - Error processing file: 01a07597-51f4-4f73-9d35-1a965fc0505c
2025-10-21 03:55:27.944 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 10.190.4.43:0 - "GET /api/v1/files/01a07597-51f4-4f73-9d35-1a965fc0505c/process/status?stream=true HTTP/1.1" 200
2025-10-21 03:55:27.986 | INFO | open_webui.routers.retrieval:save_docs_to_vector_db:1300 - save_docs_to_vector_db: document Red_Hat_build_of_Keycloak-26.0-API_Documentation-en-US.pdf d21fa35f-d7fe-4204-8383-892016060f29
2025-10-21 03:55:27.990 | ERROR | open_webui.routers.retrieval:process_file:1695 - The content provided is empty. Please ensure that there is text or data present before proceeding.
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 0x7f846b9689a0>
└ <WorkerThread(AnyIO worker thread, started 140203687663296)>
File "/usr/local/lib/python3.11/threading.py", line 1045, in _bootstrap_inner
self.run()
│ └ <function WorkerThread.run at 0x7f8406ffb6a0>
└ <WorkerThread(AnyIO worker thread, started 140203687663296)>
File "/usr/local/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 976, in run
result = context.run(func, *args)
│ │ │ └ ()
│ │ └ functools.partial(<function add_file_to_knowledge_by_id at 0x7f841cfb79c0>, user=UserModel(id='6ad84a9f-283b-44b4-89c8-ad4fcf...
│ └ <method 'run' of '_contextvars.Context' objects>
└ <_contextvars.Context object at 0x7f8404eb8780>

File "/app/backend/open_webui/routers/knowledge.py", line 398, in add_file_to_knowledge_by_id
process_file(
└ <function process_file at 0x7f841d0c2a20>

File "/app/backend/open_webui/routers/retrieval.py", line 1692, in process_file
raise e
└ ValueError(<ERROR_MESSAGES.EMPTY_CONTENT: 'The content provided is empty. Please ensure that there is text or data present be...

File "/app/backend/open_webui/routers/retrieval.py", line 1656, in process_file
result = save_docs_to_vector_db(
└ <function save_docs_to_vector_db at 0x7f841d0c1bc0>

File "/app/backend/open_webui/routers/retrieval.py", line 1388, in save_docs_to_vector_db
raise ValueError(ERROR_MESSAGES.EMPTY_CONTENT)
│ └ <ERROR_MESSAGES.EMPTY_CONTENT: 'The content provided is empty. Please ensure that there is text or data present before procee...
└ <enum 'ERROR_MESSAGES'>

ValueError: The content provided is empty. Please ensure that there is text or data present before proceeding.
2025-10-21 03:55:27.999 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 10.190.4.43:0 - "POST /api/v1/knowledge/d21fa35f-d7fe-4204-8383-892016060f29/file/add HTTP/1.1" 400
`

The MinerU-vllm service shows the following API is available, but Open WebUI uses a non-existent API file_parse:

(APIServer pid=1) INFO 10-20 20:52:21 [api_server.py:1971] Starting vLLM API server 0 on http://0.0.0.0:30000 (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:36] Available routes are: (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /openapi.json, Methods: HEAD, GET (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /docs, Methods: HEAD, GET (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /docs/oauth2-redirect, Methods: HEAD, GET (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /redoc, Methods: HEAD, GET (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /health, Methods: GET (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /load, Methods: GET (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /ping, Methods: POST (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /ping, Methods: GET (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /tokenize, Methods: POST (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /detokenize, Methods: POST (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /v1/models, Methods: GET (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /version, Methods: GET (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /v1/responses, Methods: POST (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /v1/responses/{response_id}, Methods: GET (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /v1/responses/{response_id}/cancel, Methods: POST (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /v1/chat/completions, Methods: POST (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /v1/completions, Methods: POST (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /v1/embeddings, Methods: POST (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /pooling, Methods: POST (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /classify, Methods: POST (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /score, Methods: POST (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /v1/score, Methods: POST (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /v1/audio/transcriptions, Methods: POST (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /v1/audio/translations, Methods: POST (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /rerank, Methods: POST (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /v1/rerank, Methods: POST (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /v2/rerank, Methods: POST (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /scale_elastic_ep, Methods: POST (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /is_scaling_elastic_ep, Methods: POST (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /invocations, Methods: POST (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /metrics, Methods: GET (APIServer pid=1) INFO: Started server process [1] (APIServer pid=1) INFO: Waiting for application startup. (APIServer pid=1) INFO: Application startup complete. (APIServer pid=1) INFO: 127.0.0.1:59026 - "GET /health HTTP/1.1" 200 OK (APIServer pid=1) INFO: 127.0.0.1:59988 - "GET /health HTTP/1.1" 200 OK (APIServer pid=1) INFO: 10.109.70.66:33590 - "POST /file_parse HTTP/1.1" 404 Not Found (APIServer pid=1) INFO: 10.109.70.66:33592 - "POST /file_parse HTTP/1.1" 404 Not Found (APIServer pid=1) INFO: 10.109.70.66:33596 - "POST /file_parse HTTP/1.1" 404 Not Found (APIServer pid=1) INFO: 10.109.70.66:33608 - "POST /file_parse HTTP/1.1" 404 Not Found (APIServer pid=1) INFO: 10.109.70.66:43198 - "POST /file_parse HTTP/1.1" 404 Not Found (APIServer pid=1) INFO: 127.0.0.1:58376 - "GET /health HTTP/1.1" 200 OK (APIServer pid=1) INFO: 10.109.70.66:43208 - "POST /file_parse HTTP/1.1" 404 Not Found (APIServer pid=1) INFO: 10.109.70.66:43216 - "POST /file_parse HTTP/1.1" 404 Not Found (APIServer pid=1) INFO: 10.109.70.66:43218 - "POST /file_parse HTTP/1.1" 404 Not Found (APIServer pid=1) INFO: 10.109.70.66:37444 - "POST /file_parse HTTP/1.1" 404 Not Found (APIServer pid=1) INFO: 10.109.70.66:37458 - "POST /file_parse HTTP/1.1" 404 Not Found (APIServer pid=1) INFO: 10.109.70.66:37468 - "POST /file_parse HTTP/1.1" 404 Not Found (APIServer pid=1) INFO: 127.0.0.1:32802 - "GET /health HTTP/1.1" 200 OK (APIServer pid=1) INFO: 127.0.0.1:47128 - "GET /health HTTP/1.1" 200 OK (APIServer pid=1) INFO: 127.0.0.1:38740 - "GET /health HTTP/1.1" 200 OK (APIServer pid=1) INFO: 127.0.0.1:38950 - "GET /health HTTP/1.1" 200 OK (APIServer pid=1) INFO: 10.109.70.66:36098 - "POST /file_parse HTTP/1.1" 404 Not Found (APIServer pid=1) INFO: 127.0.0.1:51668 - "GET /health HTTP/1.1" 200 OK (APIServer pid=1) INFO: 127.0.0.1:46770 - "GET /health HTTP/1.1" 200 OK (APIServer pid=1) INFO: 10.109.70.66:50278 - "POST /file_parse HTTP/1.1" 404 Not Found (APIServer pid=1) INFO: 127.0.0.1:33210 - "GET /health HTTP/1.1" 200 OK (APIServer pid=1) INFO: 127.0.0.1:57674 - "GET /health HTTP/1.1" 200 OK

Additional Information

No response

Originally created by @athenacykes on GitHub (Oct 21, 2025). Original GitHub issue: https://github.com/open-webui/open-webui/issues/18479 ### 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 Git Clone ### Open WebUI Version v0.6.34 ### Ollama Version (if applicable) _No response_ ### Operating System Docker based deployment on RHEL 9 ### 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 Document shall be parsed using MinerU's API which is added to its MinerU-vLLM image ### Actual Behavior Document is not successfully parsed ### Steps to Reproduce 1. Start Open WebUI using docker compose and start MinerU vLLM service 2. Configure MinerU as document extraction engine 3. Upload a document in Knowledge tab ### Logs & Screenshots The following error is shown on Open WebUI docker logs: `2025-10-21 03:55:27.895 | INFO | open_webui.routers.files:upload_file_handler:164 - file.content_type: application/pdf 2025-10-21 03:55:27.904 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 10.190.4.43:0 - "POST /api/v1/files/ HTTP/1.1" 200 2025-10-21 03:55:27.915 | INFO | open_webui.retrieval.loaders.mineru:_load_local_api:73 - Using MinerU Local API at http://10.100.3.1:8086 2025-10-21 03:55:27.915 | INFO | open_webui.retrieval.loaders.mineru:_load_local_api:113 - Sending file to MinerU Local API: 01a07597-51f4-4f73-9d35-1a965fc0505c_Red_Hat_build_of_Keycloak-26.0-API_Documentation-en-US.pdf 2025-10-21 03:55:27.930 | ERROR | open_webui.retrieval.loaders.mineru:load:65 - Error loading document with MinerU: 400: MinerU Local API request failed: 404 Client Error: Not Found for url: http://10.100.3.1:8086/file_parse - {'detail': 'Not Found'} 2025-10-21 03:55:27.931 | ERROR | open_webui.routers.retrieval:process_file:1695 - 400: MinerU Local API request failed: 404 Client Error: Not Found for url: http://10.100.3.1:8086/file_parse - {'detail': 'Not Found'} Traceback (most recent call last): File "/app/backend/open_webui/retrieval/loaders/mineru.py", line 122, in _load_local_api response.raise_for_status() │ └ <function Response.raise_for_status at 0x7f846853e020> └ <Response [404]> File "/usr/local/lib/python3.11/site-packages/requests/models.py", line 1026, in raise_for_status raise HTTPError(http_error_msg, response=self) │ │ └ <Response [404]> │ └ '404 Client Error: Not Found for url: http://10.100.3.1:8086/file_parse' └ <class 'requests.exceptions.HTTPError'> requests.exceptions.HTTPError: 404 Client Error: Not Found for url: http://10.100.3.1:8086/file_parse During handling of the above exception, another exception occurred: 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 0x7f846b9689a0> └ <WorkerThread(AnyIO worker thread, started 140203150792384)> File "/usr/local/lib/python3.11/threading.py", line 1045, in _bootstrap_inner self.run() │ └ <function WorkerThread.run at 0x7f8406ffb6a0> └ <WorkerThread(AnyIO worker thread, started 140203150792384)> File "/usr/local/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 976, in run result = context.run(func, *args) │ │ │ └ () │ │ └ functools.partial(<function process_uploaded_file at 0x7f842a0bcf40>, <starlette.requests.Request object at 0x7f83d473e9d0>, ... │ └ <method 'run' of '_contextvars.Context' objects> └ <_contextvars.Context object at 0x7f84041a26c0> File "/app/backend/open_webui/routers/files.py", line 117, in process_uploaded_file process_file(request, ProcessFileForm(file_id=file_item.id), user=user) │ │ │ │ │ └ UserModel(id='6ad84a9f-283b-44b4-89c8-ad4fcf4a94f2', name='xxxxxxx', email='xxxxx@xxxxx.com', username=None,... │ │ │ │ └ '01a07597-51f4-4f73-9d35-1a965fc0505c' │ │ │ └ FileModel(id='01a07597-51f4-4f73-9d35-1a965fc0505c', user_id='6ad84a9f-283b-44b4-89c8-ad4fcf4a94f2', hash=None, filename='Red... │ │ └ <class 'open_webui.routers.retrieval.ProcessFileForm'> │ └ <starlette.requests.Request object at 0x7f83d473e9d0> └ <function process_file at 0x7f841d0c2a20> > File "/app/backend/open_webui/routers/retrieval.py", line 1606, in process_file docs = loader.load( │ └ <function Loader.load at 0x7f841dabd120> └ <open_webui.retrieval.loaders.main.Loader object at 0x7f83d4925d90> File "/app/backend/open_webui/retrieval/loaders/main.py", line 237, in load docs = loader.load() │ └ <function MinerULoader.load at 0x7f841dabe520> └ <open_webui.retrieval.loaders.mineru.MinerULoader object at 0x7f84040eda50> File "/app/backend/open_webui/retrieval/loaders/mineru.py", line 63, in load return self._load_local_api() │ └ <function MinerULoader._load_local_api at 0x7f841dabe5c0> └ <open_webui.retrieval.loaders.mineru.MinerULoader object at 0x7f84040eda50> File "/app/backend/open_webui/retrieval/loaders/mineru.py", line 141, in _load_local_api raise HTTPException(status.HTTP_400_BAD_REQUEST, detail=error_detail) │ │ │ └ "MinerU Local API request failed: 404 Client Error: Not Found for url: http://10.100.3.1:8086/file_parse - {'detail': 'Not Fo... │ │ └ 400 │ └ <module 'starlette.status' from '/usr/local/lib/python3.11/site-packages/starlette/status.py'> └ <class 'fastapi.exceptions.HTTPException'> fastapi.exceptions.HTTPException: 400: MinerU Local API request failed: 404 Client Error: Not Found for url: http://10.100.3.1:8086/file_parse - {'detail': 'Not Found'} 2025-10-21 03:55:27.940 | ERROR | open_webui.routers.files:process_uploaded_file:124 - Error processing file: 01a07597-51f4-4f73-9d35-1a965fc0505c 2025-10-21 03:55:27.944 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 10.190.4.43:0 - "GET /api/v1/files/01a07597-51f4-4f73-9d35-1a965fc0505c/process/status?stream=true HTTP/1.1" 200 2025-10-21 03:55:27.986 | INFO | open_webui.routers.retrieval:save_docs_to_vector_db:1300 - save_docs_to_vector_db: document Red_Hat_build_of_Keycloak-26.0-API_Documentation-en-US.pdf d21fa35f-d7fe-4204-8383-892016060f29 2025-10-21 03:55:27.990 | ERROR | open_webui.routers.retrieval:process_file:1695 - The content provided is empty. Please ensure that there is text or data present before proceeding. 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 0x7f846b9689a0> └ <WorkerThread(AnyIO worker thread, started 140203687663296)> File "/usr/local/lib/python3.11/threading.py", line 1045, in _bootstrap_inner self.run() │ └ <function WorkerThread.run at 0x7f8406ffb6a0> └ <WorkerThread(AnyIO worker thread, started 140203687663296)> File "/usr/local/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 976, in run result = context.run(func, *args) │ │ │ └ () │ │ └ functools.partial(<function add_file_to_knowledge_by_id at 0x7f841cfb79c0>, user=UserModel(id='6ad84a9f-283b-44b4-89c8-ad4fcf... │ └ <method 'run' of '_contextvars.Context' objects> └ <_contextvars.Context object at 0x7f8404eb8780> File "/app/backend/open_webui/routers/knowledge.py", line 398, in add_file_to_knowledge_by_id process_file( └ <function process_file at 0x7f841d0c2a20> > File "/app/backend/open_webui/routers/retrieval.py", line 1692, in process_file raise e └ ValueError(<ERROR_MESSAGES.EMPTY_CONTENT: 'The content provided is empty. Please ensure that there is text or data present be... File "/app/backend/open_webui/routers/retrieval.py", line 1656, in process_file result = save_docs_to_vector_db( └ <function save_docs_to_vector_db at 0x7f841d0c1bc0> File "/app/backend/open_webui/routers/retrieval.py", line 1388, in save_docs_to_vector_db raise ValueError(ERROR_MESSAGES.EMPTY_CONTENT) │ └ <ERROR_MESSAGES.EMPTY_CONTENT: 'The content provided is empty. Please ensure that there is text or data present before procee... └ <enum 'ERROR_MESSAGES'> ValueError: The content provided is empty. Please ensure that there is text or data present before proceeding. 2025-10-21 03:55:27.999 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 10.190.4.43:0 - "POST /api/v1/knowledge/d21fa35f-d7fe-4204-8383-892016060f29/file/add HTTP/1.1" 400 ` The MinerU-vllm service shows the following API is available, but Open WebUI uses a non-existent API `file_parse`: `(APIServer pid=1) INFO 10-20 20:52:21 [api_server.py:1971] Starting vLLM API server 0 on http://0.0.0.0:30000 (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:36] Available routes are: (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /openapi.json, Methods: HEAD, GET (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /docs, Methods: HEAD, GET (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /docs/oauth2-redirect, Methods: HEAD, GET (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /redoc, Methods: HEAD, GET (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /health, Methods: GET (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /load, Methods: GET (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /ping, Methods: POST (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /ping, Methods: GET (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /tokenize, Methods: POST (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /detokenize, Methods: POST (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /v1/models, Methods: GET (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /version, Methods: GET (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /v1/responses, Methods: POST (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /v1/responses/{response_id}, Methods: GET (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /v1/responses/{response_id}/cancel, Methods: POST (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /v1/chat/completions, Methods: POST (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /v1/completions, Methods: POST (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /v1/embeddings, Methods: POST (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /pooling, Methods: POST (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /classify, Methods: POST (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /score, Methods: POST (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /v1/score, Methods: POST (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /v1/audio/transcriptions, Methods: POST (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /v1/audio/translations, Methods: POST (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /rerank, Methods: POST (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /v1/rerank, Methods: POST (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /v2/rerank, Methods: POST (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /scale_elastic_ep, Methods: POST (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /is_scaling_elastic_ep, Methods: POST (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /invocations, Methods: POST (APIServer pid=1) INFO 10-20 20:52:21 [launcher.py:44] Route: /metrics, Methods: GET (APIServer pid=1) INFO: Started server process [1] (APIServer pid=1) INFO: Waiting for application startup. (APIServer pid=1) INFO: Application startup complete. (APIServer pid=1) INFO: 127.0.0.1:59026 - "GET /health HTTP/1.1" 200 OK (APIServer pid=1) INFO: 127.0.0.1:59988 - "GET /health HTTP/1.1" 200 OK (APIServer pid=1) INFO: 10.109.70.66:33590 - "POST /file_parse HTTP/1.1" 404 Not Found (APIServer pid=1) INFO: 10.109.70.66:33592 - "POST /file_parse HTTP/1.1" 404 Not Found (APIServer pid=1) INFO: 10.109.70.66:33596 - "POST /file_parse HTTP/1.1" 404 Not Found (APIServer pid=1) INFO: 10.109.70.66:33608 - "POST /file_parse HTTP/1.1" 404 Not Found (APIServer pid=1) INFO: 10.109.70.66:43198 - "POST /file_parse HTTP/1.1" 404 Not Found (APIServer pid=1) INFO: 127.0.0.1:58376 - "GET /health HTTP/1.1" 200 OK (APIServer pid=1) INFO: 10.109.70.66:43208 - "POST /file_parse HTTP/1.1" 404 Not Found (APIServer pid=1) INFO: 10.109.70.66:43216 - "POST /file_parse HTTP/1.1" 404 Not Found (APIServer pid=1) INFO: 10.109.70.66:43218 - "POST /file_parse HTTP/1.1" 404 Not Found (APIServer pid=1) INFO: 10.109.70.66:37444 - "POST /file_parse HTTP/1.1" 404 Not Found (APIServer pid=1) INFO: 10.109.70.66:37458 - "POST /file_parse HTTP/1.1" 404 Not Found (APIServer pid=1) INFO: 10.109.70.66:37468 - "POST /file_parse HTTP/1.1" 404 Not Found (APIServer pid=1) INFO: 127.0.0.1:32802 - "GET /health HTTP/1.1" 200 OK (APIServer pid=1) INFO: 127.0.0.1:47128 - "GET /health HTTP/1.1" 200 OK (APIServer pid=1) INFO: 127.0.0.1:38740 - "GET /health HTTP/1.1" 200 OK (APIServer pid=1) INFO: 127.0.0.1:38950 - "GET /health HTTP/1.1" 200 OK (APIServer pid=1) INFO: 10.109.70.66:36098 - "POST /file_parse HTTP/1.1" 404 Not Found (APIServer pid=1) INFO: 127.0.0.1:51668 - "GET /health HTTP/1.1" 200 OK (APIServer pid=1) INFO: 127.0.0.1:46770 - "GET /health HTTP/1.1" 200 OK (APIServer pid=1) INFO: 10.109.70.66:50278 - "POST /file_parse HTTP/1.1" 404 Not Found (APIServer pid=1) INFO: 127.0.0.1:33210 - "GET /health HTTP/1.1" 200 OK (APIServer pid=1) INFO: 127.0.0.1:57674 - "GET /health HTTP/1.1" 200 OK ` ### Additional Information _No response_
GiteaMirror added the bug label 2026-05-18 03:39:02 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#105605