Skip to content

Service Docling

Kaveh Razavi edited this page Oct 16, 2026 · 3 revisions

5.2.14. Docling (Document Processor engine)

Docling is the engine behind the Document Processor role, selected with DOC_PROCESSOR_SOURCE. See Document Processor for setup, configuration and integration.

1. Engine quick reference

  • Image (GPU): pytorch/pytorch:2.13.0-cuda12.6-cudnn9-runtime (digest-pinned; used as BASE_IMAGE in the GPU provider Dockerfile); the provider requirements keep torch==2.13.0 and its matching torchvision==0.28.0 patch pair.
  • License: MIT (IBM)
  • Activation: DOC_PROCESSOR_SOURCE=docling-container-gpu (or docling-localhost for host-installed Docling)
  • In-container port: 8000
  • Host port: ${DOC_PROCESSOR_PORT} (computed from BASE_PORT by the bootstrapper)
  • Readiness: GET /health starts configured converter construction off the API event loop and returns 503 starting until it succeeds. Invalid pipeline or device configuration returns 503 unavailable; health reports the converter only and does not claim lazily loaded model artifacts.

JSON image references. Uploaded Docling JSON keeps embedded images. Both providers ignore filesystem paths, file: URIs and unsupported image schemes before enrichment or export. Only data:, http: and https: references remain. The log reports their discarded count without exposing paths. Images from other input formats keep their existing handling.

Timeouts and fallback.

  • Backend and Celery extraction wait up to DOCLING_INFERENCE_TIMEOUT_SECONDS plus 30 s for Docling. TIKA_TIMEOUT_SECONDS does not apply.
  • Backend POST /documents/extract routes long-tail formats straight to Tika. These include legacy Office (.doc, .xls, .ppt), .epub, mail, RTF, OpenDocument and archives. Atlas's Docling providers answer an unsupported format with 500, not 415.
  • Celery RAG ingestion follows the profile's parser_order. It can try Tika after Docling fails.
  • Kong cuts api.localhost requests at 300 s. The HTTP client gets a 504 while the conversion continues.
  • A Celery RAG ingestion has its own limits, RAG_INGESTION_TASK_SOFT_TIME_LIMIT_SECONDS and RAG_INGESTION_TASK_TIME_LIMIT_SECONDS. By default they are the larger of 3840 / 3900 s and the global Celery limits.

2. Capabilities & limitations

Support tier: experimental — Capability contract declared; no cited cold-start, workflow, or upgrade qualification run yet (evidence at v0.1.0).

Capability Status Verification Notes
Docling document conversion sources partial tested Atlas provides an NVIDIA GPU container and an existing-host endpoint, but no CPU container or Atlas-managed native Docling lifecycle.
Structured extraction and bounded chunking supported tested The provider converts documents once and renders structured markdown or JSON with validated OCR, table, formula, code, chunk-size, overlap, and total-chunk controls.
Authenticated bounded provider API partial tested Atlas-managed Docling routes require a generated bearer token and enforce upload, admission, and inference deadlines by default, but AUTH_MODE=disabled is an explicit rollback.
Truthful model readiness partial tested Health stays unavailable until converter construction succeeds, but it does not certify every lazily loaded model artifact needed by a later document.
LightRAG conversion bundle supported tested An authenticated internal route renders the JSON and Markdown bundle consumed by the isolated asynchronous LightRAG compatibility adapter.

3. Dependencies & Integrations

3.1. Current — Upstream (this service calls)

No upstream calls.

3.2. Current — Downstream (services that call this)

Service Category Status
kong infra current
docling-lightrag-adapter media optional: DOC_PROCESSOR_SOURCE=docling-container-gpu or docling-localhost
celery agents current
n8n agents current
backend apps current
jupyterhub apps current

3.3. Architecture diagram

docling architecture

Open the full-size diagram for a full-screen view.

3.4. Future — Missing pair integrations

No high-confidence opportunities identified.

3.5. Future — Candidate new services

No high-confidence opportunities identified.

3.6. Future — Unused features in this service

No high-confidence opportunities identified.

Atlas Documentation

Clone this wiki locally