Skip to content

Make Docling dependencies optional #18

@FullFran

Description

@FullFran

Problem

The project requires heavyweight Docling dependencies for the whole environment, even when ingestion is not used. This slows setup, increases install size, and makes basic RAG usage unnecessarily heavy.

Goal

Decouple Docling (and related OCR/ML libs) so they are optional and only required for ingestion workflows. Core RAG/chat/search should run without Docling installed.

Ideas

  • Move Docling-related deps into an optional dependency group (e.g. dependency-groups.docling or extra in pyproject.toml).
  • Gate Docling imports behind feature flags or lazy imports in ingestion module.
  • Provide clear error message when ingestion is invoked without Docling extras.
  • Document optional install in README (e.g. uv sync --group docling).

Acceptance Criteria

  • Base install does not pull Docling/ML/OCR deps.
  • Ingestion works when optional deps are installed.
  • Running chat/search without optional deps does not fail.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions