issue: docling intergration not working #4694

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

Originally created by @mariosconsta on GitHub (Apr 3, 2025).

Check Existing Issues

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

Installation Method

Docker

Open WebUI Version

v0.6.0

Ollama Version (if applicable)

No response

Operating System

Ubuntu 24.04

Browser (if applicable)

Firefox

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 listed steps to reproduce the bug in detail.

Expected Behavior

Uploaded files using docling should be processed.

Actual Behavior

When I use docling instead of Tika and try to upload a file I get the following errors:

Browser Logs:

File { name: "dummy_file.xlsx", lastModified: 1743683402026, webkitRelativePath: "", size: 14764, type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }
24.gKjNU-Z0.js:1:38088
Object { type: "file", file: "", id: null, url: "", name: "dummy_file.xlsx", size: 14764, status: "uploading", error: "", itemId: "622ff7c2-54fc-4a57-9665-2d17e82481e8" }
B-ayMCb0.js:7:6525
Object { id: "4379360d-c90a-40ea-98d4-764bf84db982", user_id: "8cc7cb86-cb1e-495b-8011-51cab9e4fd61", hash: null, filename: "dummy_file.xlsx", data: {}, meta: {…}, created_at: 1743684894, updated_at: 1743684894, path: "/app/backend/data/uploads/4379360d-c90a-40ea-98d4-764bf84db982_dummy_file.xlsx", access_control: null, … }
24.gKjNU-Z0.js:1:38821
XHRPOST
http://10.20.22.70:8080/api/v1/knowledge/90c22330-66e8-4beb-870b-0d6ae9838370/file/add
[HTTP/1.1 400 Bad Request 121ms]

Object { detail: "Extracted content is not available for this file. Please ensure that the file is processed before proceeding." }
C1aJcgtK.js:1:2227

Docker logs

open-webui  | Traceback (most recent call last):                                                                                                                                                                 open-webui  |                                                                                                                                                                                                    open-webui  |   File "/app/backend/open_webui/routers/retrieval.py", line 1011, in process_file                                                                                                                  open-webui  |     docs = loader.load(                                                                                                                                                                            open-webui  |            │      └ <function Loader.load at 0x735388dda5c0>                                                                                                                                       open-webui  |            └ <open_webui.retrieval.loaders.main.Loader object at 0x7352e672a610>                                                                                                                   open-webui  |                                                                                                                                                                                                    open-webui  |   File "/app/backend/open_webui/retrieval/loaders/main.py", line 175, in load                                                                                                                      open-webui  |     docs = loader.load()                                                                                                                                                                           open-webui  |            │      └ <function DoclingLoader.load at 0x735388dda480>                                                                                                                                open-webui  |            └ <open_webui.retrieval.loaders.main.DoclingLoader object at 0x7352e5b2a150>                                                                                                            open-webui  |                                                                                                                                                                                                    open-webui  |   File "/app/backend/open_webui/retrieval/loaders/main.py", line 142, in load                                                                                                                      open-webui  |     r = requests.post(endpoint, files=files, data=params)                                                                                                                                          open-webui  |         │        │    │               │           └ {'image_export_mode': 'placeholder', 'table_mode': 'accurate'}                                                                                 open-webui  |         │        │    │               └ {'files': ('/app/backend/data/uploads/4379360d-c90a-40ea-98d4-764bf84db982_dummy_file.xlsx', <_io.BufferedReader name='/app/b...                           open-webui  |         │        │    └ 'http://docling:5001/v1alpha/convert/file'                                                                                                                                 open-webui  |         │        └ <function post at 0x7354a2635620>                                                                                                                                               open-webui  |         └ <module 'requests' from '/usr/local/lib/python3.11/site-packages/requests/__init__.py'>                                                                                                  open-webui  |                                                                                                                                                                                                    open-webui  |   File "/usr/local/lib/python3.11/site-packages/requests/api.py", line 115, in post                                                                                                                open-webui  |     return request("post", url, data=data, json=json, **kwargs)                                                                                                                                    open-webui  |            │               │         │          │       └ {'files': {'files': ('/app/backend/data/uploads/4379360d-c90a-40ea-98d4-764bf84db982_dummy_file.xlsx', <_io.BufferedReader na...         open-webui  |            │               │         │          └ None                                                                                                                                             open-webui  |            │               │         └ {'image_export_mode': 'placeholder', 'table_mode': 'accurate'}                                                                                              open-webui  |            │               └ 'http://docling:5001/v1alpha/convert/file'                                                                                                                            open-webui  |            └ <function request at 0x7354a26145e0>                                                                                                                                                  open-webui  |   File "/usr/local/lib/python3.11/site-packages/requests/api.py", line 59, in request                                                                                                              open-webui  |     return session.request(method=method, url=url, **kwargs)                                                                                                                                       open-webui  |            │       │              │           │      └ {'data': {'image_export_mode': 'placeholder', 'table_mode': 'accurate'}, 'json': None, 'files': {'files': ('/app/backend/data...            open-webui  |            │       │              │           └ 'http://docling:5001/v1alpha/convert/file'                                                                                                         open-webui  |            │       │              └ 'post'                                                                                                                                                         open-webui  |            │       └ <function Session.request at 0x7354a2634ae0>                                                                                                                                  open-webui  |            └ <requests.sessions.Session object at 0x7352e5ff2fd0>                                                                                                                                  open-webui  |   File "/usr/local/lib/python3.11/site-packages/requests/sessions.py", line 589, in request                                                                                                        open-webui  |     resp = self.send(prep, **send_kwargs)                                                                                                                                                          open-webui  |            │    │    │       └ {'timeout': None, 'allow_redirects': True, 'proxies': OrderedDict(), 'stream': False, 'verify': True, 'cert': None}                                                 open-webui  |            │    │    └ <PreparedRequest [POST]>                                                                                                                                                    open-webui  |            │    └ <function Session.send at 0x7354a2634fe0>                                                                                                                                        open-webui  |            └ <requests.sessions.Session object at 0x7352e5ff2fd0>                                                                                                                                  open-webui  |   File "/usr/local/lib/python3.11/site-packages/requests/sessions.py", line 703, in send                                                                                                           open-webui  |     r = adapter.send(request, **kwargs)                                                                                                                                                            open-webui  |         │       │    │          └ {'timeout': None, 'proxies': OrderedDict(), 'stream': False, 'verify': True, 'cert': None}                                                                       open-webui  |         │       │    └ <PreparedRequest [POST]>                                                                                                                                                    open-webui  |         │       └ <function HTTPAdapter.send at 0x7354a2634360>                                                                                                                                    open-webui  |         └ <requests.adapters.HTTPAdapter object at 0x7352e751ae10>                                                                                                                                 open-webui  |   File "/usr/local/lib/python3.11/site-packages/requests/adapters.py", line 700, in send                                                                                                           open-webui  |     raise ConnectionError(e, request=request)                                                                                                                                                      open-webui  |           │                          └ <PreparedRequest [POST]>                                                                                                                                    open-webui  |           └ <class 'requests.exceptions.ConnectionError'>  
open-webui  | requests.exceptions.ConnectionError: HTTPConnectionPool(host='docling', port=5001): Max retries exceeded with url: /v1alpha/convert/file (Caused by NameResolutionError("<urllib3.connection.HTTPConnection object at 0x7352e5144810>: Failed to resolve 'docling' ([Errno -3] Temporary failure in name resolution)"))
open-webui  |
open-webui  |
open-webui  | During handling of the above exception, another exception occurred:
open-webui  |
open-webui  |
open-webui  | Traceback (most recent call last):
open-webui  |
open-webui  |   File "/usr/local/lib/python3.11/threading.py", line 1002, in _bootstrap
open-webui  |     self._bootstrap_inner()
open-webui  |     │    └ <function Thread._bootstrap_inner at 0x7354a5c24860>
open-webui  |     └ <WorkerThread(AnyIO worker thread, started 126799728084672)>
open-webui  |   File "/usr/local/lib/python3.11/threading.py", line 1045, in _bootstrap_inner
open-webui  |     self.run()
open-webui  |     │    └ <function WorkerThread.run at 0x7353a9f33920>
open-webui  |     └ <WorkerThread(AnyIO worker thread, started 126799728084672)>
open-webui  |   File "/usr/local/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 967, in run
open-webui  |     result = context.run(func, *args)
open-webui  |              │       │   │      └ ()
open-webui  |              │       │   └ functools.partial(<function upload_file at 0x7353811ef380>, user=UserModel(id='8cc7cb86-cb1e-495b-8011-51cab9e4fd61', name='M...
open-webui  |              │       └ <method 'run' of '_contextvars.Context' objects>
open-webui  |              └ <_contextvars.Context object at 0x7352e5fb72c0>
open-webui  |
open-webui  | > File "/app/backend/open_webui/routers/files.py", line 131, in upload_file
open-webui  |     process_file(request, ProcessFileForm(file_id=id), user=user)
open-webui  |     │            │        │                       │         └ UserModel(id='8cc7cb86-cb1e-495b-8011-51cab9e4fd61', name='Marios Constantinou', email='mar.constantinou@cyi.ac.cy', role='ad...
open-webui  |     │            │        │                       └ '4379360d-c90a-40ea-98d4-764bf84db982'
open-webui  |     │            │        └ <class 'open_webui.routers.retrieval.ProcessFileForm'>
open-webui  |     │            └ <starlette.requests.Request object at 0x7352e5fb5810>
open-webui  |     └ <function process_file at 0x7353811ecd60>
open-webui  |
open-webui  |   File "/app/backend/open_webui/routers/retrieval.py", line 1099, in process_file
open-webui  |     raise HTTPException(
open-webui  |           └ <class 'fastapi.exceptions.HTTPException'>
open-webui  |
open-webui  | fastapi.exceptions.HTTPException: 400: HTTPConnectionPool(host='docling', port=5001): Max retries exceeded with url: /v1alpha/convert/file (Caused by NameResolutionError("<urllib3.connection.HTTPConnection object at 0x7352e5144810>: Failed to resolve 'docling' ([Errno -3] Temporary failure in name resolution)"))
open-webui  | 2025-04-03 12:54:54.195 | ERROR    | open_webui.routers.files:upload_file:135 - Error processing file: 4379360d-c90a-40ea-98d4-764bf84db982 - {}

Steps to Reproduce

  1. Go into Settings --> Documents
  2. Select Docling as a content extraction engine
  3. Create a new knowledge base
  4. Try to upload a file
  5. Observe the errors

Logs & Screenshots

console-export-2025-4-3_15-57-27.txt

Additional Information

I don't know if I am missing something. I couldn't find any info on docling x Open WebUI intergration other than the release announcement.

Originally created by @mariosconsta on GitHub (Apr 3, 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 Docker ### Open WebUI Version v0.6.0 ### Ollama Version (if applicable) _No response_ ### Operating System Ubuntu 24.04 ### Browser (if applicable) Firefox ### 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 listed steps to reproduce the bug in detail. ### Expected Behavior Uploaded files using docling should be processed. ### Actual Behavior When I use docling instead of Tika and try to upload a file I get the following errors: **Browser Logs:** ``` File { name: "dummy_file.xlsx", lastModified: 1743683402026, webkitRelativePath: "", size: 14764, type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" } 24.gKjNU-Z0.js:1:38088 Object { type: "file", file: "", id: null, url: "", name: "dummy_file.xlsx", size: 14764, status: "uploading", error: "", itemId: "622ff7c2-54fc-4a57-9665-2d17e82481e8" } B-ayMCb0.js:7:6525 Object { id: "4379360d-c90a-40ea-98d4-764bf84db982", user_id: "8cc7cb86-cb1e-495b-8011-51cab9e4fd61", hash: null, filename: "dummy_file.xlsx", data: {}, meta: {…}, created_at: 1743684894, updated_at: 1743684894, path: "/app/backend/data/uploads/4379360d-c90a-40ea-98d4-764bf84db982_dummy_file.xlsx", access_control: null, … } 24.gKjNU-Z0.js:1:38821 XHRPOST http://10.20.22.70:8080/api/v1/knowledge/90c22330-66e8-4beb-870b-0d6ae9838370/file/add [HTTP/1.1 400 Bad Request 121ms] Object { detail: "Extracted content is not available for this file. Please ensure that the file is processed before proceeding." } C1aJcgtK.js:1:2227 ``` **Docker logs** ``` open-webui | Traceback (most recent call last): open-webui | open-webui | File "/app/backend/open_webui/routers/retrieval.py", line 1011, in process_file open-webui | docs = loader.load( open-webui | │ └ <function Loader.load at 0x735388dda5c0> open-webui | └ <open_webui.retrieval.loaders.main.Loader object at 0x7352e672a610> open-webui | open-webui | File "/app/backend/open_webui/retrieval/loaders/main.py", line 175, in load open-webui | docs = loader.load() open-webui | │ └ <function DoclingLoader.load at 0x735388dda480> open-webui | └ <open_webui.retrieval.loaders.main.DoclingLoader object at 0x7352e5b2a150> open-webui | open-webui | File "/app/backend/open_webui/retrieval/loaders/main.py", line 142, in load open-webui | r = requests.post(endpoint, files=files, data=params) open-webui | │ │ │ │ └ {'image_export_mode': 'placeholder', 'table_mode': 'accurate'} open-webui | │ │ │ └ {'files': ('/app/backend/data/uploads/4379360d-c90a-40ea-98d4-764bf84db982_dummy_file.xlsx', <_io.BufferedReader name='/app/b... open-webui | │ │ └ 'http://docling:5001/v1alpha/convert/file' open-webui | │ └ <function post at 0x7354a2635620> open-webui | └ <module 'requests' from '/usr/local/lib/python3.11/site-packages/requests/__init__.py'> open-webui | open-webui | File "/usr/local/lib/python3.11/site-packages/requests/api.py", line 115, in post open-webui | return request("post", url, data=data, json=json, **kwargs) open-webui | │ │ │ │ └ {'files': {'files': ('/app/backend/data/uploads/4379360d-c90a-40ea-98d4-764bf84db982_dummy_file.xlsx', <_io.BufferedReader na... open-webui | │ │ │ └ None open-webui | │ │ └ {'image_export_mode': 'placeholder', 'table_mode': 'accurate'} open-webui | │ └ 'http://docling:5001/v1alpha/convert/file' open-webui | └ <function request at 0x7354a26145e0> open-webui | File "/usr/local/lib/python3.11/site-packages/requests/api.py", line 59, in request open-webui | return session.request(method=method, url=url, **kwargs) open-webui | │ │ │ │ └ {'data': {'image_export_mode': 'placeholder', 'table_mode': 'accurate'}, 'json': None, 'files': {'files': ('/app/backend/data... open-webui | │ │ │ └ 'http://docling:5001/v1alpha/convert/file' open-webui | │ │ └ 'post' open-webui | │ └ <function Session.request at 0x7354a2634ae0> open-webui | └ <requests.sessions.Session object at 0x7352e5ff2fd0> open-webui | File "/usr/local/lib/python3.11/site-packages/requests/sessions.py", line 589, in request open-webui | resp = self.send(prep, **send_kwargs) open-webui | │ │ │ └ {'timeout': None, 'allow_redirects': True, 'proxies': OrderedDict(), 'stream': False, 'verify': True, 'cert': None} open-webui | │ │ └ <PreparedRequest [POST]> open-webui | │ └ <function Session.send at 0x7354a2634fe0> open-webui | └ <requests.sessions.Session object at 0x7352e5ff2fd0> open-webui | File "/usr/local/lib/python3.11/site-packages/requests/sessions.py", line 703, in send open-webui | r = adapter.send(request, **kwargs) open-webui | │ │ │ └ {'timeout': None, 'proxies': OrderedDict(), 'stream': False, 'verify': True, 'cert': None} open-webui | │ │ └ <PreparedRequest [POST]> open-webui | │ └ <function HTTPAdapter.send at 0x7354a2634360> open-webui | └ <requests.adapters.HTTPAdapter object at 0x7352e751ae10> open-webui | File "/usr/local/lib/python3.11/site-packages/requests/adapters.py", line 700, in send open-webui | raise ConnectionError(e, request=request) open-webui | │ └ <PreparedRequest [POST]> open-webui | └ <class 'requests.exceptions.ConnectionError'> open-webui | requests.exceptions.ConnectionError: HTTPConnectionPool(host='docling', port=5001): Max retries exceeded with url: /v1alpha/convert/file (Caused by NameResolutionError("<urllib3.connection.HTTPConnection object at 0x7352e5144810>: Failed to resolve 'docling' ([Errno -3] Temporary failure in name resolution)")) open-webui | open-webui | open-webui | During handling of the above exception, another exception occurred: open-webui | open-webui | open-webui | Traceback (most recent call last): open-webui | open-webui | File "/usr/local/lib/python3.11/threading.py", line 1002, in _bootstrap open-webui | self._bootstrap_inner() open-webui | │ └ <function Thread._bootstrap_inner at 0x7354a5c24860> open-webui | └ <WorkerThread(AnyIO worker thread, started 126799728084672)> open-webui | File "/usr/local/lib/python3.11/threading.py", line 1045, in _bootstrap_inner open-webui | self.run() open-webui | │ └ <function WorkerThread.run at 0x7353a9f33920> open-webui | └ <WorkerThread(AnyIO worker thread, started 126799728084672)> open-webui | File "/usr/local/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 967, in run open-webui | result = context.run(func, *args) open-webui | │ │ │ └ () open-webui | │ │ └ functools.partial(<function upload_file at 0x7353811ef380>, user=UserModel(id='8cc7cb86-cb1e-495b-8011-51cab9e4fd61', name='M... open-webui | │ └ <method 'run' of '_contextvars.Context' objects> open-webui | └ <_contextvars.Context object at 0x7352e5fb72c0> open-webui | open-webui | > File "/app/backend/open_webui/routers/files.py", line 131, in upload_file open-webui | process_file(request, ProcessFileForm(file_id=id), user=user) open-webui | │ │ │ │ └ UserModel(id='8cc7cb86-cb1e-495b-8011-51cab9e4fd61', name='Marios Constantinou', email='mar.constantinou@cyi.ac.cy', role='ad... open-webui | │ │ │ └ '4379360d-c90a-40ea-98d4-764bf84db982' open-webui | │ │ └ <class 'open_webui.routers.retrieval.ProcessFileForm'> open-webui | │ └ <starlette.requests.Request object at 0x7352e5fb5810> open-webui | └ <function process_file at 0x7353811ecd60> open-webui | open-webui | File "/app/backend/open_webui/routers/retrieval.py", line 1099, in process_file open-webui | raise HTTPException( open-webui | └ <class 'fastapi.exceptions.HTTPException'> open-webui | open-webui | fastapi.exceptions.HTTPException: 400: HTTPConnectionPool(host='docling', port=5001): Max retries exceeded with url: /v1alpha/convert/file (Caused by NameResolutionError("<urllib3.connection.HTTPConnection object at 0x7352e5144810>: Failed to resolve 'docling' ([Errno -3] Temporary failure in name resolution)")) open-webui | 2025-04-03 12:54:54.195 | ERROR | open_webui.routers.files:upload_file:135 - Error processing file: 4379360d-c90a-40ea-98d4-764bf84db982 - {} ``` ### Steps to Reproduce 1. Go into Settings --> Documents 2. Select Docling as a content extraction engine 3. Create a new knowledge base 4. Try to upload a file 5. Observe the errors ### Logs & Screenshots [console-export-2025-4-3_15-57-27.txt](https://github.com/user-attachments/files/19587603/console-export-2025-4-3_15-57-27.txt) ### Additional Information I don't know if I am missing something. I couldn't find any info on docling x Open WebUI intergration other than the release announcement.
GiteaMirror added the bug label 2025-11-11 16:00:54 -06:00
Author
Owner

@lowlyocean commented on GitHub (Apr 3, 2025):

Failed to resolve 'docling' ([Errno -3] Temporary failure in name resolution)"))

You have to run docling-serve separately (for example, using its docker image). Then, in Open-WebUI you have to replace http://docling:5001 with whatever IP address and port you used for docling-serve

@lowlyocean commented on GitHub (Apr 3, 2025): > Failed to resolve 'docling' ([Errno -3] Temporary failure in name resolution)")) You have to run [docling-serve](https://github.com/docling-project/docling-serve) separately (for example, using its [docker image](https://github.com/docling-project/docling-serve/pkgs/container/docling-serve/385339617?tag=latest)). Then, in Open-WebUI you have to replace http://docling:5001 with whatever IP address and port you used for docling-serve
Author
Owner

@mariosconsta commented on GitHub (Apr 3, 2025):

Failed to resolve 'docling' ([Errno -3] Temporary failure in name resolution)"))

You have to run docling-serve separately (for example, using its docker image). Then, in Open-WebUI you have to replace http://docling:5001 with whatever IP address and port you used for docling-serve

Thank you :)

@mariosconsta commented on GitHub (Apr 3, 2025): > > Failed to resolve 'docling' ([Errno -3] Temporary failure in name resolution)")) > > You have to run [docling-serve](https://github.com/docling-project/docling-serve) separately (for example, using its [docker image](https://github.com/docling-project/docling-serve/pkgs/container/docling-serve/385339617?tag=latest)). Then, in Open-WebUI you have to replace http://docling:5001 with whatever IP address and port you used for docling-serve Thank you :)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#4694