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, and web pages
- 📄 Document extraction — PDF, DOCX, HTML, images, and more via Docling, with 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 storage — write to OpenSearch or Milvus
- 🔀 DAG-based flows — define pipelines as JSON with automatic dependency resolution and parallel execution
- 🔌 Extensible — load custom operators from Python packages, local paths, or S3 without modifying core code
- 🖥️ Multiple interfaces — CLI, Python API (
DocpipeFlowManager), and REST API (FastAPI)
pip install docling-pipelinesRequires Python 3.12. Works on macOS and Linux (x86_64 and arm64).
RapidOCR is included in the default PyPI installation and works out of the box. 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:
docling-pipelines --list-operatorsfrom docpipe.lib.docpipe_flow_manager import DocpipeFlowManager
manager = DocpipeFlowManager(flow_file="path/to/flow.json")
result = manager.execute()Log verbosity is controlled via DS_LOG_LEVEL (DEBUG, INFO, WARNING).
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
- 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, 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 |
| Storage | Document Set (document_set) — DuckDB-backed document collections, Storage Output (storage_output) — write pipeline output to filesystem, S3, IBM COS, and more |
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.