Docling pipelines is an enterprise-grade document curation pipeline for Retrieval Augmented Generation (RAG) applications. It ingests data from unstructured sources, curates documents, and writes entities and vector embeddings to targets β enabling AI-ready pipelines at scale.
It connects to cloud document sources (S3, OneDrive, SharePoint, Google Drive, Box, and more) and extracts content and entities from PDF, DOCX, HTML, images, and other formats using Docling. Extracted content is curated for LLMs, converted into chunks and embeddings, and stored in a vector database such as Milvus or OpenSearch.
- π₯ Multi-source ingestion β local filesystem, Amazon S3, IBM COS, SharePoint, OneDrive, Google Drive, Box, Dropbox, and web pages
- π Document extraction β PDF, DOCX, HTML, images, and more via Docling, with configurable OCR engines, GPU acceleration, and optional VLM and ASR pipelines
- π§ Entity extraction β LLM-based extraction via LiteLLM (100+ providers), IBM watsonx.ai, or Docling templates
- βοΈ Chunking β Docling-native and semantic chunking strategies
- π’ Embeddings β vector embedding generation for any downstream vector store
- π Quality operators β language detection, readability scoring, PII/HAP detection, deduplication, redaction, SQL filtering, document classification, and ML enrichment
- ποΈ Vector & cloud storage β write vectors to OpenSearch or Milvus (including container-free Milvus Lite), or export curated documents to filesystem, S3, IBM COS, SharePoint, OneDrive, and Google Drive
- π DAG-based flows & micro-batching β define pipelines as JSON with automatic dependency resolution, parallel micro-batching, and distributed execution via Prefect (thread pools, process pools, or Docker work pools)
- π Incremental processing β stateful delta runs (backed by Parquet or PostgreSQL) that track document changes, skip unchanged files, and optionally synchronize source deletions
- β‘ Event-driven streaming β real-time Kafka event consumption with Schema Registry support and routing-key-to-flow mappings for automated create/update/delete triggers
- π Enterprise security & governance β HashiCorp Vault (
vault://) secret resolution, document ACL extraction and query-time enforcement, and OAuth2/OIDC + LDAP/JWT REST API authentication - π Observability, lineage & reporting β OpenLineage event emission, OpenTelemetry distributed tracing and metrics, and automated per-run CSV job reports
- ποΈ Asset management β organize pipelines and data with Projects, Document Libraries, Document Sets, and custom Document Class schemas (backed by DuckDB or PostgreSQL)
- π Extensible β load custom operators from Python packages, local paths, or S3 without modifying core code
- π₯οΈ Multiple interfaces β CLI (
docling-pipelines,docling-pipelines-api), Python API (DocpipeFlowManager), REST API (FastAPI), and a built-in Documentation MCP server (docling-pipelines-docs-mcp) for AI coding agents - π Web UI (beta) β browser-based pipeline builder and run monitor; experimental and not yet recommended for production workloads
pip install docling-pipelinesRequires Python 3.12. Works on macOS and Linux (x86_64 and arm64).
Install optional capabilities as needed:
pip install "docling-pipelines[event-streaming]" # Kafka event consumer & Schema Registry
pip install "docling-pipelines[lineage]" # OpenLineage data lineage tracking
pip install "docling-pipelines[telemetry]" # OpenTelemetry tracing & metrics
pip install "docling-pipelines[presidio]" # Local Presidio PII detection provider
pip install "docling-pipelines[vlm_asr]" # Docling VLM and ASR pipelinesRapidOCR is included in the default PyPI installation and works out of the box. Additional OCR extras (easyocr, tesserocr, ocrmac) are also available. For advanced setups, platform-specific extras, or other OCR backends, see the Extract Operator Guide.
For a lightweight version of docling-pipelines that excludes certain operator dependencies, see docs/guides/SLIM_VARIANT.md.
docling-pipelines --flow-file path/to/flow.jsonValidate without executing:
docling-pipelines --flow-file flow.json --validateList all available operators or global configuration parameters:
docling-pipelines --list-operators
docling-pipelines --list-global-configfrom docpipe import DocpipeFlowManager
manager = DocpipeFlowManager(flow_file="path/to/flow.json")
result = manager.execute()Log verbosity is controlled via DS_LOG_LEVEL (DEBUG, INFO, WARNING).
Start the FastAPI server (and bundled UI at /ui):
docling-pipelines-api
# or with custom host/port:
uvicorn docpipe.api.main:app --host 0.0.0.0 --port 8080Interactive OpenAPI documentation is available at http://localhost:8080/api/v1/docs.
Give AI coding assistants searchable access to the documentation corpus:
docling-pipelines-docs-mcp
β οΈ Beta notice: The web UI is experimental and not production-ready. It is under active development and may change significantly between releases. For production workloads, use the CLI, Python API, or REST API.
A browser-based UI for building flows and monitoring runs is included in this repository under frontend/.
Docling pipelines includes a React + TypeScript frontend (IBM Carbon Design System) served by the FastAPI backend at /ui.
Prerequisites: Node.js 22.15.1 (use nvm use in the frontend/ directory), npm.
1. Start the backend:
uvicorn docpipe.api.main:app --reload --host 0.0.0.0 --port 80802. Start the frontend dev server (separate terminal):
cd frontend
nvm use
npm install
npm run dev
# UI available at http://localhost:3000The frontend is automatically built and bundled into the wheel during uv build. When node is available on PATH, the bundled Node.js BFF sidecar starts automatically alongside FastAPI. After installing:
uvicorn docpipe.api.main:app --host 0.0.0.0 --port 8080
# UI available at http://localhost:8080/uiFor full details see FRONTEND_BUILD_INTEGRATION.md and the Frontend README.
Check out the full documentation for installation, flow authoring, operator reference, and more:
- Quick Start Guide β first pipeline in under 5 minutes
- Pipeline Setup Guide β complete setup with Ollama, OpenSearch, and flow examples
- Flow Authoring Format β declarative flow authoring
- Operator Reference β full parameter specs for all operators
- Global Configuration Reference β micro-batching, incremental processing, and Prefect settings
- REST API Server β endpoints, OAuth2/LDAP authentication, and ACL document retrieval
- Event Streaming Guide β Kafka event-driven execution and routing-key mappings
- Observability & Lineage β OpenTelemetry tracing, OpenLineage, and CSV Job Reports
- Vault Integration β HashiCorp Vault
vault://secret resolution - Deployment Guides β Docker Compose and OpenShift deployment
- Architecture β system design and distributed execution patterns
- Troubleshooting β common issues and solutions
| Category | Operators |
|---|---|
| Ingest | Local Filesystem & Remote Source Ingest (ingest_source) β filesystem, S3, IBM COS, SharePoint, OneDrive, Google Drive, Box, Dropbox, web |
| Extract | Document Extractor (extract_operator), ACL Extraction (acl_operator) |
| Functional | Chunking (chunker), Embeddings (embeddings), Branching Operator (branching), Merge Operator (merge), Document ID Hash (doc_id_hash), Entity Curation (entity_curation), No-op (noop) |
| Quality | Language Annotator (lang_detect), Readability Operator (readability), PII and HAP Annotator (pii_and_hap), Document Classifier (document_classifier), Annotation Filter (sql_filter), Redaction (redaction), De-duplicator (ededup), ML Text Enrichment (ml_enrichment), Document Quality (doc_quality) |
| VectorDB | Vector Database (vectordb) β OpenSearch, Milvus, and Milvus Lite |
| Storage | Document Set (document_set) β DuckDB/PostgreSQL-backed document collections, Storage Output (storage_output) β write pipeline output to filesystem, S3, IBM COS, SharePoint, OneDrive, and Google Drive |
For per-operator configuration guides, see Operator Configuration Guides.
Explore sample flows and DocpipeFlowManager examples for common pipeline patterns.
For interactive, hands-on tutorials, see the Jupyter notebook examples.
Please read Contributing to Docling pipelines for development setup, code standards, testing requirements, and the pull request process.
The Docling pipelines codebase is under the MIT License.