from pathlib import Path from typing import Iterable from docling.datamodel.base_models import Page, PipelineOptions class BaseModelPipeline: def __init__(self, artifacts_path: Path, pipeline_options: PipelineOptions): self.model_pipe = [] self.artifacts_path = artifacts_path self.pipeline_options = pipeline_options def apply(self, page_batch: Iterable[Page]) -> Iterable[Page]: for model in self.model_pipe: page_batch = model(page_batch) yield from page_batch