[GH-ISSUE #14807] issue: Error calling Docling: Error calling Docling API: Not Found - Task result not found. Please wait for a completion status. #17369

Closed
opened 2026-04-19 23:06:05 -05:00 by GiteaMirror · 52 comments
Owner

Originally created by @gongshaojie12 on GitHub (Jun 9, 2025).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/14807

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.13

Ollama Version (if applicable)

No response

Operating System

centos7.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

Files can be uploaded normally.

Actual Behavior

Whenever I try to upload files larger than 1MB in the dialog box, I always encounter the following issue:

2025-06-09 17:04:47.137 | ERROR | open_webui.routers.retrieval:process_file:1413 - Error calling Docling: Error calling Docling API: Not Found - Task result not found. Please wait for a completion status. - {}

Docling logs as follows:

ERROR:docling_serve.engines.async_local.worker:Worker 0 failed to process job 8e75bace-451e-4898-ac3f-9f11f2c51db1: 500:

But I can upload successfully through the Docling UI.

Image

How can I solve this problem? Thanks!

Steps to Reproduce

None

Logs & Screenshots

None

Additional Information

No response

Originally created by @gongshaojie12 on GitHub (Jun 9, 2025). Original GitHub issue: https://github.com/open-webui/open-webui/issues/14807 ### 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.13 ### Ollama Version (if applicable) _No response_ ### Operating System centos7.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 Files can be uploaded normally. ### Actual Behavior Whenever I try to upload files larger than 1MB in the dialog box, I always encounter the following issue: `2025-06-09 17:04:47.137 | ERROR | open_webui.routers.retrieval:process_file:1413 - Error calling Docling: Error calling Docling API: Not Found - Task result not found. Please wait for a completion status. - {}` Docling logs as follows: `ERROR:docling_serve.engines.async_local.worker:Worker 0 failed to process job 8e75bace-451e-4898-ac3f-9f11f2c51db1: 500:` But I can upload successfully through the Docling UI. ![Image](https://github.com/user-attachments/assets/8b3e292a-0816-48bf-b35d-f23fca44aac0) How can I solve this problem? Thanks! ### Steps to Reproduce None ### Logs & Screenshots None ### Additional Information _No response_
GiteaMirror added the bug label 2026-04-19 23:06:05 -05:00
Author
Owner

@Expro commented on GitHub (Jun 10, 2025):

Seems like open-webui is incompatible with docling-serve v12 and v13. Last working version is v11.

<!-- gh-comment-id:2959094401 --> @Expro commented on GitHub (Jun 10, 2025): Seems like open-webui is incompatible with docling-serve v12 and v13. Last working version is v11.
Author
Owner

@maxdcy commented on GitHub (Jun 11, 2025):

use this https://github.com/docling-project/docling-serve/pkgs/container/docling-serve-cu124/422590280?tag=v0.11.0
and got it working for now until the devs sort it out :)

<!-- gh-comment-id:2964402619 --> @maxdcy commented on GitHub (Jun 11, 2025): use this https://github.com/docling-project/docling-serve/pkgs/container/docling-serve-cu124/422590280?tag=v0.11.0 and got it working for now until the devs sort it out :)
Author
Owner

@geiseri commented on GitHub (Jun 12, 2025):

I could only get it to work if I disable ocr. Even with v0.11.0, it complains about the language options.

<!-- gh-comment-id:2964640682 --> @geiseri commented on GitHub (Jun 12, 2025): I could only get it to work if I disable ocr. Even with v0.11.0, it complains about the language options.
Author
Owner

@vaclcer commented on GitHub (Jun 17, 2025):

Is this still a thing? Can you re-test with OWU v0.6.15 and docling-serve v0.13.0?

<!-- gh-comment-id:2979705538 --> @vaclcer commented on GitHub (Jun 17, 2025): Is this still a thing? Can you re-test with OWU v0.6.15 and docling-serve v0.13.0?
Author
Owner

@kunom commented on GitHub (Jun 17, 2025):

Here, Docling seems to crash with:

ERROR:docling_serve.engines.async_local.worker:Worker 0 failed to process job ca8fb8a2-b3fc-4e77-a733-5f7589c4e3d2: 500: Repo id must be in the form 'repo_name' or 'namespace/repo_name': '/opt/app-root/src/.cache/docling/models/HuggingFaceTB--SmolVLM-256M-Instruct'. Use repo_type argument if needed.

Direct conversion of the file through the Docling UI (standard settings) works.

<!-- gh-comment-id:2979826815 --> @kunom commented on GitHub (Jun 17, 2025): Here, Docling seems to crash with: `ERROR:docling_serve.engines.async_local.worker:Worker 0 failed to process job ca8fb8a2-b3fc-4e77-a733-5f7589c4e3d2: 500: Repo id must be in the form 'repo_name' or 'namespace/repo_name': '/opt/app-root/src/.cache/docling/models/HuggingFaceTB--SmolVLM-256M-Instruct'. Use `repo_type` argument if needed.` Direct conversion of the file through the Docling UI (standard settings) works.
Author
Owner

@ginochen-avalue commented on GitHub (Jun 18, 2025):

I’m having the same problem.

Docling Log

ERROR:docling_serve.engines.async_local.worker:Worker 0 failed to process job 87c59b87-f03b-4f3e-aafb-f39dd00bf00e: 500: Repo id must be in the form 'repo_name' or 'namespace/repo_name': '/opt/app-root/src/.cache/docling/models/HuggingFaceTB--SmolVLM-256M-Instruct'. Use repo_type argument if needed.
INFO: 172.18.0.1:39070 - "POST /v1alpha/convert/file HTTP/1.1" 404 Not Found

OpenWebUI Log

2025-06-18 09:22:47.370 | INFO | open_webui.routers.files:upload_file:94 - file.content_type: application/pdf - {}
2025-06-18 09:22:52.392 | ERROR | open_webui.routers.retrieval:process_file:1457 - Error calling Docling: Error calling Docling API: Not Found - Task result not found. Please wait for a completion status. - {}
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 0x72f7b8cc89a0>
└ <WorkerThread(AnyIO worker thread, started 126404972766912)>
File "/usr/local/lib/python3.11/threading.py", line 1045, in _bootstrap_inner
self.run()
│ └ <function WorkerThread.run at 0x72f6f82e8d60>
└ <WorkerThread(AnyIO worker thread, started 126404972766912)>
File "/usr/local/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 967, in run
result = context.run(func, *args)
│ │ │ └ ()
│ │ └ functools.partial(<function upload_file at 0x72f7597cac00>, user=UserModel(id='0897a0bc-8b45-4aaf-a933-30003e84dc77', name='G...
│ └ <method 'run' of '_contextvars.Context' objects>
└ <_contextvars.Context object at 0x72f6f07627c0>

File "/app/backend/open_webui/routers/files.py", line 181, in upload_file
process_file(request, ProcessFileForm(file_id=id), user=user)
│ │ │ │ └ UserModel(id='0897a0bc-8b45-4aaf-a933-30003e84dc77', name='', email='', role='admin', profile_ima...
│ │ │ └ '0cdccebc-39e6-4d39-af31-cf9b49452d81'
│ │ └ <class 'open_webui.routers.retrieval.ProcessFileForm'>
│ └ <starlette.requests.Request object at 0x72f6c244e590>
└ <function process_file at 0x72f7570ed620>

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

File "/app/backend/open_webui/retrieval/loaders/main.py", line 218, in load
docs = loader.load()
│ └ <function DoclingLoader.load at 0x72f7582d7ce0>
└ <open_webui.retrieval.loaders.main.DoclingLoader object at 0x72f6d2649550>

File "/app/backend/open_webui/retrieval/loaders/main.py", line 206, in load
raise Exception(f"Error calling Docling: {error_msg}")

Exception: Error calling Docling: Error calling Docling API: Not Found - Task result not found. Please wait for a completion status.
2025-06-18 09:22:52.393 | ERROR | open_webui.routers.files:upload_file:190 - 400: Error calling Docling: Error calling Docling API: Not Found - Task result not found. Please wait for a completion status. - {}
Traceback (most recent call last):

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

File "/app/backend/open_webui/retrieval/loaders/main.py", line 218, in load
docs = loader.load()
│ └ <function DoclingLoader.load at 0x72f7582d7ce0>
└ <open_webui.retrieval.loaders.main.DoclingLoader object at 0x72f6d2649550>

File "/app/backend/open_webui/retrieval/loaders/main.py", line 206, in load
raise Exception(f"Error calling Docling: {error_msg}")

Exception: Error calling Docling: Error calling Docling API: Not Found - Task result not found. Please wait for a completion status.

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 0x72f7b8cc89a0>
└ <WorkerThread(AnyIO worker thread, started 126404972766912)>
File "/usr/local/lib/python3.11/threading.py", line 1045, in _bootstrap_inner
self.run()
│ └ <function WorkerThread.run at 0x72f6f82e8d60>
└ <WorkerThread(AnyIO worker thread, started 126404972766912)>
File "/usr/local/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 967, in run
result = context.run(func, *args)
│ │ │ └ ()
│ │ └ functools.partial(<function upload_file at 0x72f7597cac00>, user=UserModel(id='0897a0bc-8b45-4aaf-a933-30003e84dc77', name='G...
│ └ <method 'run' of '_contextvars.Context' objects>
└ <_contextvars.Context object at 0x72f6f07627c0>

File "/app/backend/open_webui/routers/files.py", line 181, in upload_file
process_file(request, ProcessFileForm(file_id=id), user=user)
│ │ │ │ └ UserModel(id='0897a0bc-8b45-4aaf-a933-30003e84dc77', name='', email='', role='admin', profile_ima...
│ │ │ └ '0cdccebc-39e6-4d39-af31-cf9b49452d81'
│ │ └ <class 'open_webui.routers.retrieval.ProcessFileForm'>
│ └ <starlette.requests.Request object at 0x72f6c244e590>
└ <function process_file at 0x72f7570ed620>

File "/app/backend/open_webui/routers/retrieval.py", line 1464, in process_file
raise HTTPException(
└ <class 'fastapi.exceptions.HTTPException'>

fastapi.exceptions.HTTPException: 400: Error calling Docling: Error calling Docling API: Not Found - Task result not found. Please wait for a completion status.
2025-06-18 09:22:52.394 | ERROR | open_webui.routers.files:upload_file:191 - Error processing file: 0cdccebc-39e6-4d39-af31-cf9b49452d81 - {}
2025-06-18 09:22:52.397 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 192.168.99.13:10027 - "POST /api/v1/files/ HTTP/1.1" 200 - {}
2025-06-18 09:22:52.407 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 192.168.99.13:10027 - "POST /api/v1/knowledge/05c7a397-5f69-4269-bafc-22c798010e4c/file/add HTTP/1.1" 400 -

<!-- gh-comment-id:2983424101 --> @ginochen-avalue commented on GitHub (Jun 18, 2025): I’m having the same problem. Docling Log ================================================================================ ERROR:docling_serve.engines.async_local.worker:Worker 0 failed to process job 87c59b87-f03b-4f3e-aafb-f39dd00bf00e: 500: Repo id must be in the form 'repo_name' or 'namespace/repo_name': '/opt/app-root/src/.cache/docling/models/HuggingFaceTB--SmolVLM-256M-Instruct'. Use `repo_type` argument if needed. INFO: 172.18.0.1:39070 - "POST /v1alpha/convert/file HTTP/1.1" 404 Not Found ================================================================================ OpenWebUI Log ================================================================================ 2025-06-18 09:22:47.370 | INFO | open_webui.routers.files:upload_file:94 - file.content_type: application/pdf - {} 2025-06-18 09:22:52.392 | ERROR | open_webui.routers.retrieval:process_file:1457 - Error calling Docling: Error calling Docling API: Not Found - Task result not found. Please wait for a completion status. - {} 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 0x72f7b8cc89a0> └ <WorkerThread(AnyIO worker thread, started 126404972766912)> File "/usr/local/lib/python3.11/threading.py", line 1045, in _bootstrap_inner self.run() │ └ <function WorkerThread.run at 0x72f6f82e8d60> └ <WorkerThread(AnyIO worker thread, started 126404972766912)> File "/usr/local/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 967, in run result = context.run(func, *args) │ │ │ └ () │ │ └ functools.partial(<function upload_file at 0x72f7597cac00>, user=UserModel(id='0897a0bc-8b45-4aaf-a933-30003e84dc77', name='G... │ └ <method 'run' of '_contextvars.Context' objects> └ <_contextvars.Context object at 0x72f6f07627c0> File "/app/backend/open_webui/routers/files.py", line 181, in upload_file process_file(request, ProcessFileForm(file_id=id), user=user) │ │ │ │ └ UserModel(id='0897a0bc-8b45-4aaf-a933-30003e84dc77', name='', email='', role='admin', profile_ima... │ │ │ └ '0cdccebc-39e6-4d39-af31-cf9b49452d81' │ │ └ <class 'open_webui.routers.retrieval.ProcessFileForm'> │ └ <starlette.requests.Request object at 0x72f6c244e590> └ <function process_file at 0x72f7570ed620> > File "/app/backend/open_webui/routers/retrieval.py", line 1376, in process_file docs = loader.load( │ └ <function Loader.load at 0x72f7582d7e20> └ <open_webui.retrieval.loaders.main.Loader object at 0x72f6f82510d0> File "/app/backend/open_webui/retrieval/loaders/main.py", line 218, in load docs = loader.load() │ └ <function DoclingLoader.load at 0x72f7582d7ce0> └ <open_webui.retrieval.loaders.main.DoclingLoader object at 0x72f6d2649550> File "/app/backend/open_webui/retrieval/loaders/main.py", line 206, in load raise Exception(f"Error calling Docling: {error_msg}") Exception: Error calling Docling: Error calling Docling API: Not Found - Task result not found. Please wait for a completion status. 2025-06-18 09:22:52.393 | ERROR | open_webui.routers.files:upload_file:190 - 400: Error calling Docling: Error calling Docling API: Not Found - Task result not found. Please wait for a completion status. - {} Traceback (most recent call last): File "/app/backend/open_webui/routers/retrieval.py", line 1376, in process_file docs = loader.load( │ └ <function Loader.load at 0x72f7582d7e20> └ <open_webui.retrieval.loaders.main.Loader object at 0x72f6f82510d0> File "/app/backend/open_webui/retrieval/loaders/main.py", line 218, in load docs = loader.load() │ └ <function DoclingLoader.load at 0x72f7582d7ce0> └ <open_webui.retrieval.loaders.main.DoclingLoader object at 0x72f6d2649550> File "/app/backend/open_webui/retrieval/loaders/main.py", line 206, in load raise Exception(f"Error calling Docling: {error_msg}") Exception: Error calling Docling: Error calling Docling API: Not Found - Task result not found. Please wait for a completion status. 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 0x72f7b8cc89a0> └ <WorkerThread(AnyIO worker thread, started 126404972766912)> File "/usr/local/lib/python3.11/threading.py", line 1045, in _bootstrap_inner self.run() │ └ <function WorkerThread.run at 0x72f6f82e8d60> └ <WorkerThread(AnyIO worker thread, started 126404972766912)> File "/usr/local/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 967, in run result = context.run(func, *args) │ │ │ └ () │ │ └ functools.partial(<function upload_file at 0x72f7597cac00>, user=UserModel(id='0897a0bc-8b45-4aaf-a933-30003e84dc77', name='G... │ └ <method 'run' of '_contextvars.Context' objects> └ <_contextvars.Context object at 0x72f6f07627c0> > File "/app/backend/open_webui/routers/files.py", line 181, in upload_file process_file(request, ProcessFileForm(file_id=id), user=user) │ │ │ │ └ UserModel(id='0897a0bc-8b45-4aaf-a933-30003e84dc77', name='', email='', role='admin', profile_ima... │ │ │ └ '0cdccebc-39e6-4d39-af31-cf9b49452d81' │ │ └ <class 'open_webui.routers.retrieval.ProcessFileForm'> │ └ <starlette.requests.Request object at 0x72f6c244e590> └ <function process_file at 0x72f7570ed620> File "/app/backend/open_webui/routers/retrieval.py", line 1464, in process_file raise HTTPException( └ <class 'fastapi.exceptions.HTTPException'> fastapi.exceptions.HTTPException: 400: Error calling Docling: Error calling Docling API: Not Found - Task result not found. Please wait for a completion status. 2025-06-18 09:22:52.394 | ERROR | open_webui.routers.files:upload_file:191 - Error processing file: 0cdccebc-39e6-4d39-af31-cf9b49452d81 - {} 2025-06-18 09:22:52.397 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 192.168.99.13:10027 - "POST /api/v1/files/ HTTP/1.1" 200 - {} 2025-06-18 09:22:52.407 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 192.168.99.13:10027 - "POST /api/v1/knowledge/05c7a397-5f69-4269-bafc-22c798010e4c/file/add HTTP/1.1" 400 - {} ==================================================================================
Author
Owner

@Schwenn2002 commented on GitHub (Jun 26, 2025):

Please implement support for the new doccling-serve version! The current version is 0.16.0!

<!-- gh-comment-id:3008386545 --> @Schwenn2002 commented on GitHub (Jun 26, 2025): Please implement support for the new doccling-serve version! The current version is 0.16.0!
Author
Owner

@vaclcer commented on GitHub (Jun 26, 2025):

The current implementation is docling-serve v0.16.0 compatible. Before using exclamation marks, I would suggest consulting documentation:

https://docs.openwebui.com/features/document-extraction/docling/#optional-step-3-configure-doclings-picture-description-features

<!-- gh-comment-id:3008611959 --> @vaclcer commented on GitHub (Jun 26, 2025): The current implementation is docling-serve v0.16.0 compatible. Before using exclamation marks, I would suggest consulting documentation: https://docs.openwebui.com/features/document-extraction/docling/#optional-step-3-configure-doclings-picture-description-features
Author
Owner

@bursica commented on GitHub (Jun 26, 2025):

📘 Workaround suggestion at Integrating Docling with a Local Vision LLM using Flask Proxy

This guide explains how to configure Docling to describe images using a local vision LLM model (e.g., llama3-vision) via a Flask proxy adapter. This enables full offline PDF/image OCR + captioning, useful for AI document processing pipelines.


1. Prerequisites

  • 🐍 Python 3.10+ and [Conda](https://docs.conda.io/en/latest/)
  • 🐳 Docker (Docling runs in a container)
  • 🔧 Tesseract OCR with desired languages (e.g., eng, slv)
  • 🧠 A running local vision-capable LLM (e.g., via [Ollama](https://ollama.com/), llama3:vision)
  • flask, requests, Pillow, etc. in your Conda environment

📁 2. Project Structure

docling/
├── docker-compose.yml
├── proxy_adapter/
│   ├── app.py
│   └── requirements.txt
├── start_proxy_adapter.sh
└── config.yaml

🧠 3. Flask Proxy Server Setup

proxy_adapter/app.py

from flask import Flask, request, jsonify
import base64, requests

app = Flask(__name__)

OLLAMA_URL = "http://localhost:11434/api/generate"
OLLAMA_MODEL = "llama3.2-vision"

@app.route("/v1/chat/completions", methods=["POST"])
def proxy():
    data = request.json
    img_base64 = data["images"][0]

    payload = {
        "model": OLLAMA_MODEL,
        "prompt": data["prompt"],
        "images": [img_base64],
        "stream": False
    }

    response = requests.post(OLLAMA_URL, json=payload)
    return jsonify(response.json())

if __name__ == "__main__":
    app.run(host="0.0.0.0", port=8001)

proxy_adapter/requirements.txt

flask
requests

🧪 4. Start Flask Proxy Locally

conda create -n proxy_adapter python=3.10 -y
conda activate proxy_adapter
pip install -r proxy_adapter/requirements.txt

# Run Flask
python proxy_adapter/app.py

You should now have an LLM proxy listening on http://localhost:8001.


🔧 5. docling/config.yaml Configuration

extraction_options:
  extract_text: true
  extract_tables: true
  extract_images: true

ocr_options:
  engine: tesseract
  skip_images: false
  lang:
    - eng
    - slv
  config:
    tessdata-dir: /usr/share/tesseract/tessdata

image_options:
  include_images: true
  describe_images: true
  do_picture_description: true

  picture_description_local:
    provider: ollama
    model: llama3.2-vision
    endpoint: http://localhost:8001/v1/chat/completions
    prompt_template: |
      {
        "model": "llama3.2-vision",
        "prompt": "Describe this image in extreme detail. Include any visible text, layout, style, UI elements, and metadata.",
        "images": ["{{image_base64}}"],
        "stream": false
      }

🛠️ 6. Making Flask Persistent (Optional)

Create start_proxy_adapter.sh

#!/bin/bash
source /home/YOURUSER/miniconda3/etc/profile.d/conda.sh
conda activate proxy_adapter
cd /home/YOURUSER/docker/docling/proxy_adapter
exec python app.py

Create flask.service for systemd

[Unit]
Description=Flask server for Docling LLM vision proxy
After=network.target

[Service]
Type=simple
ExecStart=/home/YOURUSER/docker/docling/start_proxy_adapter.sh
Restart=on-failure
User=YOURUSER

[Install]
WantedBy=multi-user.target

Install the service:

sudo cp flask.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable flask.service
sudo systemctl start flask.service

Check with:

sudo systemctl status flask.service

7. Running Docling with the Proxy

Use the official docling container with your config.yaml mounted. Once everything is wired:

./run_docling.sh path/to/your.pdf

Ensure result.json contains:

  • md_content → Full OCR output
  • image_descriptions[] → Vision model captions

🧪 8. Test & Debug

If image captions don’t appear:

  • Check proxy_adapter/app.py log
  • Test Ollama manually: curl localhost:11434/api/generate
  • Verify slv.traineddata is in /usr/share/tesseract/tessdata/

📦 9. Sample Result Output

{
  "result": {
    "md_content": "This is the OCR output...",
    "image_descriptions": [
      "The image shows a screenshot of a code editor with white text on a black background..."
    ]
  }
}

🔌 10. OI Integration with Local Docling + Flask Proxy

Image

Happy Coding 😎

<!-- gh-comment-id:3008818181 --> @bursica commented on GitHub (Jun 26, 2025): ## 📘 Workaround suggestion at Integrating Docling with a Local Vision LLM using Flask Proxy This guide explains how to configure **Docling** to describe images using a local **vision LLM model** (e.g., `llama3-vision`) via a Flask proxy adapter. This enables full **offline PDF/image OCR + captioning**, useful for AI document processing pipelines. --- ### ✅ 1. Prerequisites * 🐍 Python 3.10+ and [[Conda](https://docs.conda.io/en/latest/)](https://docs.conda.io/en/latest/) * 🐳 Docker (Docling runs in a container) * 🔧 Tesseract OCR with desired languages (e.g., `eng`, `slv`) * 🧠 A running local vision-capable LLM (e.g., via [[Ollama](https://ollama.com/)](https://ollama.com/), `llama3:vision`) * ✅ `flask`, `requests`, `Pillow`, etc. in your Conda environment --- ### 📁 2. Project Structure ```bash docling/ ├── docker-compose.yml ├── proxy_adapter/ │ ├── app.py │ └── requirements.txt ├── start_proxy_adapter.sh └── config.yaml ``` --- ### 🧠 3. Flask Proxy Server Setup #### `proxy_adapter/app.py` ```python from flask import Flask, request, jsonify import base64, requests app = Flask(__name__) OLLAMA_URL = "http://localhost:11434/api/generate" OLLAMA_MODEL = "llama3.2-vision" @app.route("/v1/chat/completions", methods=["POST"]) def proxy(): data = request.json img_base64 = data["images"][0] payload = { "model": OLLAMA_MODEL, "prompt": data["prompt"], "images": [img_base64], "stream": False } response = requests.post(OLLAMA_URL, json=payload) return jsonify(response.json()) if __name__ == "__main__": app.run(host="0.0.0.0", port=8001) ``` #### `proxy_adapter/requirements.txt` ``` flask requests ``` --- ### 🧪 4. Start Flask Proxy Locally ```bash conda create -n proxy_adapter python=3.10 -y conda activate proxy_adapter pip install -r proxy_adapter/requirements.txt # Run Flask python proxy_adapter/app.py ``` You should now have an LLM proxy listening on `http://localhost:8001`. --- ### 🔧 5. `docling/config.yaml` Configuration ```yaml extraction_options: extract_text: true extract_tables: true extract_images: true ocr_options: engine: tesseract skip_images: false lang: - eng - slv config: tessdata-dir: /usr/share/tesseract/tessdata image_options: include_images: true describe_images: true do_picture_description: true picture_description_local: provider: ollama model: llama3.2-vision endpoint: http://localhost:8001/v1/chat/completions prompt_template: | { "model": "llama3.2-vision", "prompt": "Describe this image in extreme detail. Include any visible text, layout, style, UI elements, and metadata.", "images": ["{{image_base64}}"], "stream": false } ``` --- ### 🛠️ 6. Making Flask Persistent (Optional) #### Create `start_proxy_adapter.sh` ```bash #!/bin/bash source /home/YOURUSER/miniconda3/etc/profile.d/conda.sh conda activate proxy_adapter cd /home/YOURUSER/docker/docling/proxy_adapter exec python app.py ``` #### Create `flask.service` for systemd ```ini [Unit] Description=Flask server for Docling LLM vision proxy After=network.target [Service] Type=simple ExecStart=/home/YOURUSER/docker/docling/start_proxy_adapter.sh Restart=on-failure User=YOURUSER [Install] WantedBy=multi-user.target ``` Install the service: ```bash sudo cp flask.service /etc/systemd/system/ sudo systemctl daemon-reload sudo systemctl enable flask.service sudo systemctl start flask.service ``` Check with: ```bash sudo systemctl status flask.service ``` --- ### ✅ 7. Running Docling with the Proxy Use the official `docling` container with your `config.yaml` mounted. Once everything is wired: ```bash ./run_docling.sh path/to/your.pdf ``` Ensure `result.json` contains: * `md_content` → Full OCR output * `image_descriptions[]` → Vision model captions --- ### 🧪 8. Test & Debug If image captions don’t appear: * Check `proxy_adapter/app.py` log * Test Ollama manually: `curl localhost:11434/api/generate` * Verify `slv.traineddata` is in `/usr/share/tesseract/tessdata/` --- ### 📦 9. Sample Result Output ```json { "result": { "md_content": "This is the OCR output...", "image_descriptions": [ "The image shows a screenshot of a code editor with white text on a black background..." ] } } ``` --- ### 🔌 10. OI Integration with Local Docling + Flask Proxy ![Image](https://github.com/user-attachments/assets/57e8ae39-cb16-497a-9ac1-fab83652af98) ### Happy Coding 😎
Author
Owner

@Schwenn2002 commented on GitHub (Jun 26, 2025):

I'm sorry for the emotional reaction, but even with image description disabled, it still runs into an error (as described above). For example, dociling-serve works with Word files, but not with scanned PDFs that already contain OCR text. Docling-serve version 0.11 runs without OCR on the same PDF documents. So something must have changed in the API, and open-webui is incompatible.

<!-- gh-comment-id:3008953989 --> @Schwenn2002 commented on GitHub (Jun 26, 2025): I'm sorry for the emotional reaction, but even with image description disabled, it still runs into an error (as described above). For example, dociling-serve works with Word files, but not with scanned PDFs that already contain OCR text. Docling-serve version 0.11 runs without OCR on the same PDF documents. So something must have changed in the API, and open-webui is incompatible.
Author
Owner

@bursica commented on GitHub (Jun 26, 2025):

I have gone through same emotional rollercoaster.. this workaround with flask is ok for small pdfs. still have issues with huge documents with lots of images. however loading docx etc, id doesn't run into errors, but models are unable to work with images in them, at least what I tested.

<!-- gh-comment-id:3009007401 --> @bursica commented on GitHub (Jun 26, 2025): I have gone through same emotional rollercoaster.. this workaround with flask is ok for small pdfs. still have issues with huge documents with lots of images. however loading docx etc, id doesn't run into errors, but models are unable to work with images in them, at least what I tested.
Author
Owner

@Schwenn2002 commented on GitHub (Jun 26, 2025):

In version 0.11.0, the connection works flawlessly without OCR with the same documents. The API appears to have changed.

<!-- gh-comment-id:3009027822 --> @Schwenn2002 commented on GitHub (Jun 26, 2025): In version 0.11.0, the connection works flawlessly without OCR with the same documents. The API appears to have changed.
Author
Owner

@vaclcer commented on GitHub (Jun 26, 2025):

Guys, I prepared that PR and I have been using this feature with OWU v0.6.15 and Docling (all the versions) since then.

This is a configuration issue.

Look at the documentation, make sure the configuration JSON object is valid. There is nothing more to say. It just works..

<!-- gh-comment-id:3009290310 --> @vaclcer commented on GitHub (Jun 26, 2025): Guys, I prepared that PR and I have been using this feature with OWU v0.6.15 and Docling (all the versions) since then. This is a configuration issue. Look at the documentation, make sure the configuration JSON object is valid. There is nothing more to say. It just works..
Author
Owner

@Schwenn2002 commented on GitHub (Jun 26, 2025):

Then I'm actually missing the logic for how to configure it. My config works with version 0.11.0, but not with newer versions. I configured everything using docker-compose, both doclin-serve and open-webui. Could you perhaps provide a working example of the config? What else do I need to pay attention to?

<!-- gh-comment-id:3009335699 --> @Schwenn2002 commented on GitHub (Jun 26, 2025): Then I'm actually missing the logic for how to configure it. My config works with version 0.11.0, but not with newer versions. I configured everything using docker-compose, both doclin-serve and open-webui. Could you perhaps provide a working example of the config? What else do I need to pay attention to?
Author
Owner

@Schwenn2002 commented on GitHub (Jun 26, 2025):

Would it be possible to provide a Docker configuration for dociling-serve that actually works? Despite the instructions, I can only get a working solution with dociling-serve 0.11.0 (without OCR). What am I doing wrong?

docker-compose.yaml

docling-serve:
    image: ghcr.io/docling-project/docling-serve-cpu:v0.11.0
    container_name: docling-serve
    ports:
      - "5001:5001"
    environment:
      - 'DOCLING_SERVE_ENABLE_UI=true'
      - 'DOCLING_SERVE_MAX_SYNC_WAIT=1800'
      - 'UVICORN_WORKERS=8'
      - 'DOCLING_SERVE_OPTIONS_CACHE_SIZE=4'
      - 'DOCLING_SERVE_ENG_LOC_NUM_WORKERS=8'
      - 'DOCLING_SERVE_ENABLE_REMOTE_SERVICES=true'
    restart: unless-stopped
    extra_hosts:
      - host.docker.internal:host-gateway
<!-- gh-comment-id:3010306649 --> @Schwenn2002 commented on GitHub (Jun 26, 2025): Would it be possible to provide a Docker configuration for dociling-serve that actually works? Despite the instructions, I can only get a working solution with dociling-serve 0.11.0 (without OCR). What am I doing wrong? docker-compose.yaml ``` docling-serve:     image: ghcr.io/docling-project/docling-serve-cpu:v0.11.0     container_name: docling-serve     ports:       - "5001:5001"     environment:       - 'DOCLING_SERVE_ENABLE_UI=true'       - 'DOCLING_SERVE_MAX_SYNC_WAIT=1800'       - 'UVICORN_WORKERS=8'       - 'DOCLING_SERVE_OPTIONS_CACHE_SIZE=4'       - 'DOCLING_SERVE_ENG_LOC_NUM_WORKERS=8'       - 'DOCLING_SERVE_ENABLE_REMOTE_SERVICES=true'     restart: unless-stopped     extra_hosts:       - host.docker.internal:host-gateway ```
Author
Owner

@vaclcer commented on GitHub (Jun 27, 2025):

Sure. This works for me with the OWU configuration pictured at the docs: https://docs.openwebui.com/features/document-extraction/docling/#optional-step-3-configure-doclings-picture-description-features

docling:
    container_name: docling
    hostname: docling
    image: quay.io/docling-project/docling-serve-cu124:v0.16.0
    environment:
      - DOCLING_SERVE_ENABLE_UI=true
      - DOCLING_SERVE_ARTIFACTS_PATH=""
      - DOCLING_SERVE_MAX_SYNC_WAIT=2880
      - DOCLING_SERVE_ENABLE_REMOTE_SERVICES=true
      - UVICORN_WORKERS=2
      - DOCLING_SERVE_ENG_LOC_NUM_WORKERS=2
      - UVICORN_HOST=127.0.0.1
    restart: always
    network_mode: host
    deploy:
      resources:
        reservations:
          devices:
          - driver: nvidia
            device_ids: ["1"]
            capabilities: [gpu]
<!-- gh-comment-id:3011659961 --> @vaclcer commented on GitHub (Jun 27, 2025): Sure. This works for me with the OWU configuration pictured at the docs: https://docs.openwebui.com/features/document-extraction/docling/#optional-step-3-configure-doclings-picture-description-features ``` docling: container_name: docling hostname: docling image: quay.io/docling-project/docling-serve-cu124:v0.16.0 environment: - DOCLING_SERVE_ENABLE_UI=true - DOCLING_SERVE_ARTIFACTS_PATH="" - DOCLING_SERVE_MAX_SYNC_WAIT=2880 - DOCLING_SERVE_ENABLE_REMOTE_SERVICES=true - UVICORN_WORKERS=2 - DOCLING_SERVE_ENG_LOC_NUM_WORKERS=2 - UVICORN_HOST=127.0.0.1 restart: always network_mode: host deploy: resources: reservations: devices: - driver: nvidia device_ids: ["1"] capabilities: [gpu] ```
Author
Owner

@funnycups commented on GitHub (Jun 27, 2025):

I believe DOCLING_SERVE_ENABLE_REMOTE_SERVICES or some other environment variables provided in docker compose by @vaclcer is necessary. Problems disappear right after I add these environment variables.

I double check Docling configuration docs and found the description of DOCLING_SERVE_ENABLE_REMOTE_SERVICES:

Allow pipeline components making remote connections. For example, this is needed when using a vision-language model via APIs.

It was actually stated in the Docling usage docs that:

Note that when using picture_description_api, the server must be launched with DOCLING_SERVE_ENABLE_REMOTE_SERVICES=true.

I was so careless that I neglected this note. I would recommend anyone who face problems on Docling with Picture description options try adding DOCLING_SERVE_ENABLE_REMOTE_SERVICES environment variable!

<!-- gh-comment-id:3013467732 --> @funnycups commented on GitHub (Jun 27, 2025): I believe `DOCLING_SERVE_ENABLE_REMOTE_SERVICES` or some other environment variables provided in docker compose by @vaclcer is necessary. Problems disappear right after I add these environment variables. I double check [Docling configuration docs](https://github.com/docling-project/docling-serve/blob/main/docs/configuration.md) and found the description of `DOCLING_SERVE_ENABLE_REMOTE_SERVICES`: > Allow pipeline components making remote connections. For example, **this is needed when using a vision-language model via APIs.** It was actually stated in the [Docling usage docs](https://github.com/docling-project/docling-serve/blob/main/docs/usage.md#picture-description-options) that: > Note that when using picture_description_api, the server must be launched with `DOCLING_SERVE_ENABLE_REMOTE_SERVICES=true`. I was so careless that I neglected this note. I would recommend anyone who face problems on Docling with Picture description options try adding `DOCLING_SERVE_ENABLE_REMOTE_SERVICES` environment variable!
Author
Owner

@Expro commented on GitHub (Jun 27, 2025):

I had this environment variable set from start. Didn't help, anything above v11 still didn't work.

<!-- gh-comment-id:3013825499 --> @Expro commented on GitHub (Jun 27, 2025): I had this environment variable set from start. Didn't help, anything above v11 still didn't work.
Author
Owner

@vaclcer commented on GitHub (Jun 27, 2025):

Could you post a screenshot of your settings in OWU -> Documents?

<!-- gh-comment-id:3013846116 --> @vaclcer commented on GitHub (Jun 27, 2025): Could you post a screenshot of your settings in OWU -> Documents?
Author
Owner

@Schwenn2002 commented on GitHub (Jun 27, 2025):

I suspect that the single quotes in my environment variables were the wrong syntax, but the configuration is working for me now.

<!-- gh-comment-id:3014344054 --> @Schwenn2002 commented on GitHub (Jun 27, 2025): I suspect that the single quotes in my environment variables were the wrong syntax, but the configuration is working for me now.
Author
Owner

@mys721tx commented on GitHub (Jul 4, 2025):

I've made a PR (open-webui/docs#605) for some JSON examples of the docling OCR setting.

<!-- gh-comment-id:3034490438 --> @mys721tx commented on GitHub (Jul 4, 2025): I've made a PR (open-webui/docs#605) for some JSON examples of the docling OCR setting.
Author
Owner

@geoHeil commented on GitHub (Jul 20, 2025):

https://github.com/open-webui/open-webui/issues/14807#issuecomment-3008386545 is there any planned upgrade to the API changes of 1.0.0?

<!-- gh-comment-id:3094823285 --> @geoHeil commented on GitHub (Jul 20, 2025): https://github.com/open-webui/open-webui/issues/14807#issuecomment-3008386545 is there any planned upgrade to the API changes of 1.0.0?
Author
Owner

@funnycups commented on GitHub (Jul 24, 2025):

Indeed, looks like starting from 1.0.0, docling use v1 endpoint instead of v1alpha, which leads to 404 error when using it in open webui.
There is already a draft pr of this change, https://github.com/open-webui/open-webui/pull/15785.

<!-- gh-comment-id:3113712040 --> @funnycups commented on GitHub (Jul 24, 2025): Indeed, looks like starting from 1.0.0, [docling use v1 endpoint instead of v1alpha](https://github.com/docling-project/docling-serve/issues/249), which leads to 404 error when using it in open webui. There is already a draft pr of this change, https://github.com/open-webui/open-webui/pull/15785.
Author
Owner

@Kunal-Shah107 commented on GitHub (Jul 27, 2025):

I am getting performance issue even if running on big GPU machine, I am sure something is missing.

Here is my setup

VM - Standard NV12ads A10 v5 (12 vcpus, 110 GiB memory) (Azure)
Docker Container - docker run -d --gpus all --name docling -p 5001:5001 -e DOCLING_SERVE_ENABLE_UI=true -e DOCLING_SERVE_MAX_SYNC_WAIT=600 --restart unless-stopped quay.io/docling-project/docling-serve-cu124

API Call - curl --location 'http://:5001/v1alpha/convert/file'
--form 'files=@"c:\workspace\EN.pdf"'
--form 'ocr_engine="easyocr"'
--form 'ocr_language="en,ar"'
--form 'to_formats="md"'
--form 'pdf_backend="pypdfium2"'

Even after having GPU why it is taking a longer, Can some one assist here ! Thanks in advance.

<!-- gh-comment-id:3124085813 --> @Kunal-Shah107 commented on GitHub (Jul 27, 2025): I am getting performance issue even if running on big GPU machine, I am sure something is missing. **Here is my setup** **VM** - Standard NV12ads A10 v5 (12 vcpus, 110 GiB memory) (Azure) **Docker Container** - docker run -d --gpus all --name docling -p 5001:5001 -e DOCLING_SERVE_ENABLE_UI=true -e DOCLING_SERVE_MAX_SYNC_WAIT=600 --restart unless-stopped quay.io/docling-project/docling-serve-cu124 **API Call** - curl --location 'http://<server-ip>:5001/v1alpha/convert/file' \ --form 'files=@"c:\\workspace\\EN.pdf"' \ --form 'ocr_engine="easyocr"' \ --form 'ocr_language="en,ar"' \ --form 'to_formats="md"' \ --form 'pdf_backend="pypdfium2"' Even after having GPU why it is taking a longer, Can some one assist here ! Thanks in advance.
Author
Owner

@geoHeil commented on GitHub (Jul 27, 2025):

What is long? Can you wuantify this?

Is this longer than a local (python, by hand) docling conversion on the same machine?

<!-- gh-comment-id:3124199619 --> @geoHeil commented on GitHub (Jul 27, 2025): What is long? Can you wuantify this? Is this longer than a local (python, by hand) docling conversion on the same machine?
Author
Owner

@Kunal-Shah107 commented on GitHub (Jul 27, 2025):

@geoHeil

I tried local as well on Standard NV12ads A10 v5 (12 vcpus, 110 GiB memory) (Azure)
I got OOM error. PDF is 7 MB

test_docling_local.py

from docling.document_converter import DocumentConverter

input_path = "/opt/test.pdf" # Change to your file location

converter = DocumentConverter()

results = converter.convert_all([input_path])

for result in results:
print("File:", result.input.file)
print("Status:", result.status)
# Check for markdown content (many results have this attr, some may not)
if hasattr(result, "md_content"):
print("Markdown output (truncated):")
print(result.md_content[:1000]) # Print first 1000 chars
else:
# If not, just dump all attributes
print(dir(result))


This for one user, imagine having multiple user uploading PDF at the same time.
How to tackle it and improve performance ?

Correct me If I am using docling the wrong way ! (newbee)

<!-- gh-comment-id:3124253520 --> @Kunal-Shah107 commented on GitHub (Jul 27, 2025): @geoHeil I tried local as well on Standard NV12ads A10 v5 (12 vcpus, 110 GiB memory) (Azure) I got OOM error. PDF is **7 MB** **test_docling_local.py** from docling.document_converter import DocumentConverter input_path = "/opt/test.pdf" # Change to your file location converter = DocumentConverter() results = converter.convert_all([input_path]) for result in results: print("File:", result.input.file) print("Status:", result.status) # Check for markdown content (many results have this attr, some may not) if hasattr(result, "md_content"): print("Markdown output (truncated):") print(result.md_content[:1000]) # Print first 1000 chars else: # If not, just dump all attributes print(dir(result)) ----- This for one user, imagine having multiple user uploading PDF at the same time. How to tackle it and improve performance ? Correct me If I am using docling the wrong way ! (newbee)
Author
Owner

@vaclcer commented on GitHub (Jul 27, 2025):

Yes, Docling is slow and memory hungry... but you should really complain at Docling's repo, not here.

<!-- gh-comment-id:3124261966 --> @vaclcer commented on GitHub (Jul 27, 2025): Yes, Docling is slow and memory hungry... but you should really complain at Docling's repo, not here.
Author
Owner

@Kunal-Shah107 commented on GitHub (Jul 27, 2025):

@vaclcer - I was looking if someone is having similar issue while integrating with OpenWebUI. Its not complaining, I will keep you posted once I hear from docling. Have a great rest of your productive day ! Cheers.

<!-- gh-comment-id:3124609941 --> @Kunal-Shah107 commented on GitHub (Jul 27, 2025): @vaclcer - I was looking if someone is having similar issue while integrating with OpenWebUI. Its not complaining, I will keep you posted once I hear from docling. Have a great rest of your productive day ! Cheers.
Author
Owner

@TRKNOVA commented on GitHub (Jul 29, 2025):

hi, this is why i didn't work... give me my hair back!

<!-- gh-comment-id:3134131469 --> @TRKNOVA commented on GitHub (Jul 29, 2025): hi, this is why i didn't work... give me my hair back!
Author
Owner

@rober-tm commented on GitHub (Aug 1, 2025):

Este bug parece que se corrigira en la proxima actualizacion, hay un commit sobre ello en la rama dev, con esto

Commit 4bc054a

backend/open_webui/retrieval/loaders/main.py

`
line 184

        endpoint = f"{self.url}/v1alpha/convert/file"
        endpoint = f"{self.url}/v1/convert/file"
        r = requests.post(endpoint, files=files, data=params)

`

<!-- gh-comment-id:3145351611 --> @rober-tm commented on GitHub (Aug 1, 2025): Este bug parece que se corrigira en la proxima actualizacion, hay un commit sobre ello en la rama dev, con esto ### Commit 4bc054a backend/open_webui/retrieval/loaders/main.py ` line 184 endpoint = f"{self.url}/v1alpha/convert/file" endpoint = f"{self.url}/v1/convert/file" r = requests.post(endpoint, files=files, data=params) `
Author
Owner

@arty-hlr commented on GitHub (Aug 3, 2025):

I also get:

ERROR:docling_jobkit.orchestrators.local.worker:Worker 0 failed to process job 5555708f-0707-4935-9ba3-3a76a4d78fa4: Connections to remote services is only allowed when set explicitly. pipeline_options.enable_remote_services=True.

even with

environment:
      - DOCLING_SERVE_ENABLE_UI=true
      - DOCLING_SERVE_ENABLE_REMOTE_SERVICES=true

and I also can't figure what the issue is. Latest docling and open-webui dev docker containers.

<!-- gh-comment-id:3148566444 --> @arty-hlr commented on GitHub (Aug 3, 2025): I also get: ``` ERROR:docling_jobkit.orchestrators.local.worker:Worker 0 failed to process job 5555708f-0707-4935-9ba3-3a76a4d78fa4: Connections to remote services is only allowed when set explicitly. pipeline_options.enable_remote_services=True. ``` even with ``` environment: - DOCLING_SERVE_ENABLE_UI=true - DOCLING_SERVE_ENABLE_REMOTE_SERVICES=true ``` and I also can't figure what the issue is. Latest docling and open-webui dev docker containers.
Author
Owner

@emorgan33 commented on GitHub (Aug 6, 2025):

From Perplexity AI:

The "172.17.0.1:54186 - 'POST /v1alpha/convert/file HTTP/1.1' 404 Not Found" error is caused by the Docling API no longer supporting the /v1alpha/convert/file endpoint.

Starting from Docling version 1.0.1, the endpoint path has changed to /v1/convert/file instead of /v1alpha/convert/file. So any calls using the old /v1alpha/convert/file path result in a 404 Not Found error because the route does not exist anymore.

<!-- gh-comment-id:3161439118 --> @emorgan33 commented on GitHub (Aug 6, 2025): From Perplexity AI: The "172.17.0.1:54186 - 'POST /v1alpha/convert/file HTTP/1.1' 404 Not Found" error is caused by the Docling API no longer supporting the /v1alpha/convert/file endpoint. Starting from Docling version 1.0.1, the endpoint path has changed to /v1/convert/file instead of /v1alpha/convert/file. So any calls using the old /v1alpha/convert/file path result in a 404 Not Found error because the route does not exist anymore.
Author
Owner

@funnycups commented on GitHub (Aug 7, 2025):

From Perplexity AI:

The "172.17.0.1:54186 - 'POST /v1alpha/convert/file HTTP/1.1' 404 Not Found" error is caused by the Docling API no longer supporting the /v1alpha/convert/file endpoint.

Starting from Docling version 1.0.1, the endpoint path has changed to /v1/convert/file instead of /v1alpha/convert/file. So any calls using the old /v1alpha/convert/file path result in a 404 Not Found error because the route does not exist anymore.

PR about this endpoint change has already been merged. I believe next release would just fix this problem.

For now you can try temporarily downgrading Docling or building OpenWebUI yourself.

<!-- gh-comment-id:3162135449 --> @funnycups commented on GitHub (Aug 7, 2025): > From Perplexity AI: > > The "172.17.0.1:54186 - 'POST /v1alpha/convert/file HTTP/1.1' 404 Not Found" error is caused by the Docling API no longer supporting the /v1alpha/convert/file endpoint. > > Starting from Docling version 1.0.1, the endpoint path has changed to /v1/convert/file instead of /v1alpha/convert/file. So any calls using the old /v1alpha/convert/file path result in a 404 Not Found error because the route does not exist anymore. PR about this endpoint change has already been merged. I believe next release would just fix this problem. For now you can try temporarily downgrading Docling or building OpenWebUI yourself.
Author
Owner

@adhusch commented on GitHub (Aug 7, 2025):

Este bug parece que se corrigira en la proxima actualizacion, hay un commit sobre ello en la rama dev, con esto

Commit 4bc054a

backend/open_webui/retrieval/loaders/main.py

` line 184

        endpoint = f"{self.url}/v1alpha/convert/file"
        endpoint = f"{self.url}/v1/convert/file"
        r = requests.post(endpoint, files=files, data=params)

`

That's it.

I would be great when open webui would support specifying the full endpoint URL in the user interface, having the user specifying only the (host) prefix part of the URL is quite convenient but adds this dependency on being forced to closely follow up on external API changes. Convenience could be retained by pre-populating the full URL string including the "typical" API URL postfix, as it is currently hard coded.

<!-- gh-comment-id:3162839685 --> @adhusch commented on GitHub (Aug 7, 2025): > Este bug parece que se corrigira en la proxima actualizacion, hay un commit sobre ello en la rama dev, con esto > > ### Commit [4bc054a](https://github.com/open-webui/open-webui/commit/4bc054a34798c2de078e539279bded73d8aa3f7f) > > backend/open_webui/retrieval/loaders/main.py > > ` line 184 > > ``` > endpoint = f"{self.url}/v1alpha/convert/file" > endpoint = f"{self.url}/v1/convert/file" > r = requests.post(endpoint, files=files, data=params) > ``` > > ` That's it. I would be great when open webui would support specifying the _full_ endpoint URL in the user interface, having the user specifying only the (host) prefix part of the URL is quite convenient but adds this dependency on being forced to closely follow up on external API changes. Convenience could be retained by pre-populating the full URL string including the "typical" API URL postfix, as it is currently hard coded.
Author
Owner

@dojoca commented on GitHub (Aug 31, 2025):

Been tearing my hair out with trying to get RAG working in OpenWebUI.

<!-- gh-comment-id:3239687297 --> @dojoca commented on GitHub (Aug 31, 2025): Been tearing my hair out with trying to get RAG working in OpenWebUI.
Author
Owner

@98h398hrpohpoai commented on GitHub (Sep 1, 2025):

The same error is being produced with the latest build of Open-Webui 0.6.26 w/ the corrected api patch and Docling v1.31. Downgrading docling no longer works due to the older api.

Edit: This error only occurs for me when using "describe picture" option. Resolved with removing that.

<!-- gh-comment-id:3240856134 --> @98h398hrpohpoai commented on GitHub (Sep 1, 2025): The same error is being produced with the latest build of Open-Webui 0.6.26 w/ the corrected api patch and Docling v1.31. Downgrading docling no longer works due to the older api. Edit: This error only occurs for me when using "describe picture" option. Resolved with removing that.
Author
Owner

@dmanresa-saes commented on GitHub (Sep 3, 2025):

The same error is being produced with the latest build of Open-Webui 0.6.26 w/ the corrected api patch and Docling v1.31. Downgrading docling no longer works due to the older api.

Edit: This error only occurs for me when using "describe picture" option. Resolved with removing that.

Same here

<!-- gh-comment-id:3248133222 --> @dmanresa-saes commented on GitHub (Sep 3, 2025): > The same error is being produced with the latest build of Open-Webui 0.6.26 w/ the corrected api patch and Docling v1.31. Downgrading docling no longer works due to the older api. > > Edit: This error only occurs for me when using "describe picture" option. Resolved with removing that. Same here
Author
Owner

@Krashnicov commented on GitHub (Sep 9, 2025):

Came across this issue today, is there eta on fixing the describe picture issue? Many of my docs include images and losing that context is sub-optimal.

<!-- gh-comment-id:3269880123 --> @Krashnicov commented on GitHub (Sep 9, 2025): Came across this issue today, is there eta on fixing the describe picture issue? Many of my docs include images and losing that context is sub-optimal.
Author
Owner

@vaclcer commented on GitHub (Sep 9, 2025):

Unless something changed in recent releases (I doubt it), "describe picture" feature works as expected - in my case OWU v0.6.22 and Docling v1.4.1

I can only suggest to look into OWU Docs closely and paying attention to the syntax.. It just works.

<!-- gh-comment-id:3269940526 --> @vaclcer commented on GitHub (Sep 9, 2025): Unless something changed in recent releases (I doubt it), "describe picture" feature works as expected - in my case OWU v0.6.22 and Docling v1.4.1 I can only suggest to look into OWU Docs closely and paying attention to the syntax.. It just works.
Author
Owner

@Krashnicov commented on GitHub (Sep 9, 2025):

Using docling-serve:latest (pulled today).

Image Image
<!-- gh-comment-id:3270200361 --> @Krashnicov commented on GitHub (Sep 9, 2025): Using docling-serve:latest (pulled today). <img width="410" height="149" alt="Image" src="https://github.com/user-attachments/assets/fe0b526f-f4c9-4365-986f-126a98dcde1a" /> <img width="1241" height="158" alt="Image" src="https://github.com/user-attachments/assets/c41ebb73-212b-4ab8-8a18-e5a22690bbac" />
Author
Owner

@98h398hrpohpoai commented on GitHub (Sep 12, 2025):

Unless something changed in recent releases (I doubt it), "describe picture" feature works as expected - in my case OWU v0.6.22 and Docling v1.4.1

I can only suggest to look into OWU Docs closely and paying attention to the syntax.. It just works.

Can you share your config? I've tried several and I get the error from the above post regarding task result not found (either default or local). Otherwise working with Docling v1.5 on v0.6.28

<!-- gh-comment-id:3284339397 --> @98h398hrpohpoai commented on GitHub (Sep 12, 2025): > Unless something changed in recent releases (I doubt it), "describe picture" feature works as expected - in my case OWU v0.6.22 and Docling v1.4.1 > > I can only suggest to look into OWU Docs closely and paying attention to the syntax.. It just works. Can you share your config? I've tried several and I get the error from the above post regarding task result not found (either default or local). Otherwise working with Docling v1.5 on v0.6.28
Author
Owner

@geoHeil commented on GitHub (Sep 18, 2025):

I observe something else for OWUI 0.30 (current latest)

docling.models.tesseract_ocr_cli_model:OSD failed (doc /app/backend/data/uploads/cae5e90f-ee2c-4cc6-9057-dbb6886ce153_Ticket_877953013648_14.09.2025__H-1.pdf, page: 0, OCR rectangle: 1, processed image file <tempfile._TemporaryFileWrapper objec

for me silently failing now for

image: quay.io/docling-project/docling-serve-cu128:v1.5.1

works fine for

image: quay.io/docling-project/docling-serve-cu124:v1.1.0

Is there a more recent confirmed working version of docling?

<!-- gh-comment-id:3308050305 --> @geoHeil commented on GitHub (Sep 18, 2025): I observe something else for OWUI 0.30 (current latest) ``` docling.models.tesseract_ocr_cli_model:OSD failed (doc /app/backend/data/uploads/cae5e90f-ee2c-4cc6-9057-dbb6886ce153_Ticket_877953013648_14.09.2025__H-1.pdf, page: 0, OCR rectangle: 1, processed image file <tempfile._TemporaryFileWrapper objec ``` for me silently failing now for ``` image: quay.io/docling-project/docling-serve-cu128:v1.5.1 ``` works fine for ``` image: quay.io/docling-project/docling-serve-cu124:v1.1.0 ``` Is there a more recent confirmed working version of docling?
Author
Owner

@artemis15 commented on GitHub (Oct 2, 2025):

I'm still getting the issue, even downgrading docling won't help.

<!-- gh-comment-id:3361680528 --> @artemis15 commented on GitHub (Oct 2, 2025): I'm still getting the issue, even downgrading docling won't help.
Author
Owner

@Ithrial commented on GitHub (Oct 3, 2025):

I just updated to docling 2.55.0 with OWUI version 6.32 and getting API errors because the new version of Docling is expecting a repo_id field and its not being passed.

<!-- gh-comment-id:3363927193 --> @Ithrial commented on GitHub (Oct 3, 2025): I just updated to docling 2.55.0 with OWUI version 6.32 and getting API errors because the new version of Docling is expecting a repo_id field and its not being passed.
Author
Owner

@geoHeil commented on GitHub (Oct 8, 2025):

https://github.com/open-webui/open-webui/pull/17363 does not look like it is fixing the docling version

<!-- gh-comment-id:3380273935 --> @geoHeil commented on GitHub (Oct 8, 2025): https://github.com/open-webui/open-webui/pull/17363 does not look like it is fixing the docling version
Author
Owner

@physicalit commented on GitHub (Oct 21, 2025):

This issue is still present if Describe Picture is activated

Image
<!-- gh-comment-id:3429406798 --> @physicalit commented on GitHub (Oct 21, 2025): This issue is still present if Describe Picture is activated <img width="1412" height="114" alt="Image" src="https://github.com/user-attachments/assets/44f790e3-1f25-4f2f-b60c-b9e5d06d04c7" />
Author
Owner

@normen commented on GitHub (Oct 26, 2025):

This issue is still present if Describe Picture is activated
Image

I see the same, trying to use an API endpoint as described here: https://docs.openwebui.com/features/rag/document-extraction/docling#verifying-docling-in-docker

<!-- gh-comment-id:3448111603 --> @normen commented on GitHub (Oct 26, 2025): > This issue is still present if Describe Picture is activated > <img alt="Image" width="1412" height="114" src="https://private-user-images.githubusercontent.com/759600/503863453-44f790e3-1f25-4f2f-b60c-b9e5d06d04c7.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NjE0NjUyNDgsIm5iZiI6MTc2MTQ2NDk0OCwicGF0aCI6Ii83NTk2MDAvNTAzODYzNDUzLTQ0Zjc5MGUzLTFmMjUtNGYyZi1iNjBjLWI5ZTVkMDZkMDRjNy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUxMDI2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MTAyNlQwNzQ5MDhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1hN2Q1OWZmMjcxNmEwZjU5MzM1Yzg3MDM2MWIyNGFmYzdjZjhmZjRjZDdlOTUzMDVhNjkwNWY4NGFiOWY3YWY4JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9._G2FAoKlEukURqdCmC1bEKUm3Qs09eD2Xnt5xHlI_dY"> I see the same, trying to use an API endpoint as described here: https://docs.openwebui.com/features/rag/document-extraction/docling#verifying-docling-in-docker
Author
Owner

@enving commented on GitHub (Nov 11, 2025):

also the same here..even worse. even with picture describe off i will get the error:
"Error calling Docling: Error calling Docling API: Not Found - Task result not found. Please wait for a completion status."

settings and installation exactly like officially described (i hope... a bit added to call my picture ...but lie said its still deactivated anyway):

docling-serve:
image: quay.io/docling-project/docling-serve
container_name: docling-serve
restart: always
ports:
- "5001:5001"
networks:
- xx-network
volumes:
- docling-data:/app/data
environment:
- DOCLING_SERVE_ENABLE_UI=true
# Korrigierte JSON-Syntax als YAML-String:
- DOCLING_VLM_PIPELINE_MODEL_LOCAL=${DOCLING_VLM_PIPELINE_MODEL_LOCAL}

[https://docs.openwebui.com/features/rag/document-extraction/docling#verifying-docling-in-docker]

Image
<!-- gh-comment-id:3516389261 --> @enving commented on GitHub (Nov 11, 2025): also the same here..even worse. even with picture describe off i will get the error: "Error calling Docling: Error calling Docling API: Not Found - Task result not found. Please wait for a completion status." settings and installation exactly like officially described (i hope... a bit added to call my picture ...but lie said its still deactivated anyway): docling-serve: image: quay.io/docling-project/docling-serve container_name: docling-serve restart: always ports: - "5001:5001" networks: - xx-network volumes: - docling-data:/app/data environment: - DOCLING_SERVE_ENABLE_UI=true # Korrigierte JSON-Syntax als YAML-String: - DOCLING_VLM_PIPELINE_MODEL_LOCAL=${DOCLING_VLM_PIPELINE_MODEL_LOCAL} [https://docs.openwebui.com/features/rag/document-extraction/docling#verifying-docling-in-docker] <img width="627" height="319" alt="Image" src="https://github.com/user-attachments/assets/03d54638-7755-4f1d-95af-d52dc0d8815a" />
Author
Owner

@artemis15 commented on GitHub (Nov 16, 2025):

it is solved yet?

<!-- gh-comment-id:3538798950 --> @artemis15 commented on GitHub (Nov 16, 2025): it is solved yet?
Author
Owner

@qhaas commented on GitHub (Nov 21, 2025):

it is solved yet?

No

<!-- gh-comment-id:3563250594 --> @qhaas commented on GitHub (Nov 21, 2025): > it is solved yet? No
Author
Owner

@grivatyBox commented on GitHub (Nov 25, 2025):

I checked this document and followed the steps, and it solved my problem.https://github.com/docling-project/docling-serve/blob/main/docs/models.md

<!-- gh-comment-id:3573440650 --> @grivatyBox commented on GitHub (Nov 25, 2025): I checked this document and followed the steps, and it solved my problem.https://github.com/docling-project/docling-serve/blob/main/docs/models.md
Author
Owner

@Classic298 commented on GitHub (Dec 30, 2025):

The core issue (API endpoint change from /v1alpha/convert/file to /v1/convert/file) has been fixed in the Open WebUI codebase.

For users still experiencing issues:

  1. Ensure environment variables are set correctly on docling-serve:
   environment:
     - DOCLING_SERVE_ENABLE_REMOTE_SERVICES=true
     - DOCLING_SERVE_ENABLE_UI=true
  1. Validate your DOCLING_PARAMS JSON syntax in Admin > Documents
  2. "Describe Picture" errors are typically caused by:
    • Missing DOCLING_SERVE_ENABLE_REMOTE_SERVICES=true
    • Invalid JSON configuration
    • Docling-serve version-specific bugs

See docs: https://docs.openwebui.com/features/rag/document-extraction/docling

Closing as the Open WebUI fix is complete.

<!-- gh-comment-id:3700394408 --> @Classic298 commented on GitHub (Dec 30, 2025): The core issue (API endpoint change from `/v1alpha/convert/file` to `/v1/convert/file`) has been fixed in the Open WebUI codebase. ### For users still experiencing issues: 1. **Ensure environment variables are set correctly on docling-serve:** ```yaml environment: - DOCLING_SERVE_ENABLE_REMOTE_SERVICES=true - DOCLING_SERVE_ENABLE_UI=true ``` 2. Validate your DOCLING_PARAMS JSON syntax in Admin > Documents 3. "Describe Picture" errors are typically caused by: - Missing DOCLING_SERVE_ENABLE_REMOTE_SERVICES=true - Invalid JSON configuration - Docling-serve version-specific bugs See docs: https://docs.openwebui.com/features/rag/document-extraction/docling Closing as the Open WebUI fix is complete.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#17369