Skip to main content

Docling LangChain integration

PyPI version PyPI - Python Version uv Code style: black Imports: isort Pydantic v2 pre-commit License MIT

A Docling integration for LangChain.

Installation

For Docling Serve or Managed Docling, install the lightweight service client:

pip install langchain-docling

This installation does not include local AI runtimes such as PyTorch. To convert documents locally, install the local extra instead:

pip install "langchain-docling[local]"

Development setup

To develop for Docling LangChain, you need Python 3.10 through 3.14 and uv. You can then install from your local clone's root directory:

uv sync

Usage

Basic usage

For local conversion, install the local extra and use DoclingLoader as follows:

from langchain_docling import DoclingLoader

FILE_PATH = ["https://arxiv.org/pdf/2408.09869"]  # Docling Technical Report

loader = DoclingLoader(file_path=FILE_PATH)
docs = loader.load()

Docling Serve or Managed Docling

Pass Docling's existing DoclingServiceClient as the loader's converter to run conversion remotely. The same client works with Docling for IBM watsonx and a self-hosted Docling Serve endpoint:

import os

from docling.datamodel.service.options import ConvertDocumentsOptions
from docling.service_client import DoclingServiceClient

from langchain_docling import DoclingLoader

service_url = os.environ["DOCLING_SERVICE_URL"]
api_key = os.environ["DOCLING_API_KEY"]
options = ConvertDocumentsOptions(
    do_ocr=True,
    table_mode="accurate",
)

with DoclingServiceClient(url=service_url, api_key=api_key) as client:
    loader = DoclingLoader(
        file_path=["https://arxiv.org/pdf/2408.09869"],
        converter=client,
        convert_kwargs={"options": options},
    )
    docs = loader.load()

The loader does not take ownership of a supplied client. Keep the client open until load() completes or until a lazy_load() iterator has been fully consumed. For a self-hosted endpoint that does not require authentication, omit api_key.

Advanced usage

When initializing a DoclingLoader, you can use the following parameters:

  • file_path: source as single str (URL or local file) or iterable thereof
  • converter (optional): a local DocumentConverter, remote DoclingServiceClient, or compatible converter
  • convert_kwargs (optional): backend-specific kwargs for conversion execution, such as {"options": ConvertDocumentsOptions(...)} for the service client
  • export_type (optional): export mode to use: ExportType.DOC_CHUNKS (default) or ExportType.MARKDOWN
  • md_export_kwargs (optional): any specific Markdown export kwargs (for Markdown mode)
  • chunker (optional): any specific Docling chunker instance to use (for doc-chunk mode)
  • meta_extractor (optional): any specific metadata extractor to use

Docs and examples

For more details and usage examples, check out this page.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

langchain_docling-3.0.0.tar.gz (9.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

langchain_docling-3.0.0-py3-none-any.whl (8.3 kB view details)

Uploaded Python 3

File details

Details for the file langchain_docling-3.0.0.tar.gz.

File metadata

  • Download URL: langchain_docling-3.0.0.tar.gz
  • Upload date:
  • Size: 9.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for langchain_docling-3.0.0.tar.gz
Algorithm Hash digest
SHA256 f2958bfb8ec290a70357489ed723e03f57840ee28ddf112fd00ff06db627df24
MD5 b477b17a91e8638342933c7988203013
BLAKE2b-256 6b58be79d676159e4e8e18ed1732300371e344624cf116d73df461330f274ebb

See more details on using hashes here.

Provenance

The following attestation bundles were made for langchain_docling-3.0.0.tar.gz:

Publisher: pypi.yml on docling-project/docling-langchain

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file langchain_docling-3.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for langchain_docling-3.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1e24e27158863592ef05c3141417ba50fdce1879dbbb911103e5623e6e326d2f
MD5 8b4cc95b4d14d936496dd9512162a556
BLAKE2b-256 c3df12c42d474d872eefdc65b464cf33d3ed5c9038964d4d0dfa409bd5d1b066

See more details on using hashes here.

Provenance

The following attestation bundles were made for langchain_docling-3.0.0-py3-none-any.whl:

Publisher: pypi.yml on docling-project/docling-langchain

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page