* add factory for ocr engines Signed-off-by: Michele Dolfi <dol@zurich.ibm.com> * apply pre-commit after rebase Signed-off-by: Michele Dolfi <dol@zurich.ibm.com> * add picture description factory Signed-off-by: Michele Dolfi <dol@zurich.ibm.com> * fix enable option Signed-off-by: Michele Dolfi <dol@zurich.ibm.com> * switch to create methods Signed-off-by: Panos Vagenas <pva@zurich.ibm.com> * make `options` an explicit kwarg Signed-off-by: Panos Vagenas <pva@zurich.ibm.com> * keep old lock of docling-core Signed-off-by: Michele Dolfi <dol@zurich.ibm.com> * fix lock Signed-off-by: Michele Dolfi <dol@zurich.ibm.com> * add allow_external_plugins option Signed-off-by: Michele Dolfi <dol@zurich.ibm.com> * add factory return and ignore options type Signed-off-by: Michele Dolfi <dol@zurich.ibm.com> --------- Signed-off-by: Michele Dolfi <dol@zurich.ibm.com> Signed-off-by: Panos Vagenas <pva@zurich.ibm.com> Co-authored-by: Panos Vagenas <pva@zurich.ibm.com>
28 lines
872 B
Python
28 lines
872 B
Python
import logging
|
|
from functools import lru_cache
|
|
|
|
from docling.models.factories.ocr_factory import OcrFactory
|
|
from docling.models.factories.picture_description_factory import (
|
|
PictureDescriptionFactory,
|
|
)
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
|
@lru_cache()
|
|
def get_ocr_factory(allow_external_plugins: bool = False) -> OcrFactory:
|
|
factory = OcrFactory()
|
|
factory.load_from_plugins(allow_external_plugins=allow_external_plugins)
|
|
logger.info("Registered ocr engines: %r", factory.registered_kind)
|
|
return factory
|
|
|
|
|
|
@lru_cache()
|
|
def get_picture_description_factory(
|
|
allow_external_plugins: bool = False,
|
|
) -> PictureDescriptionFactory:
|
|
factory = PictureDescriptionFactory()
|
|
factory.load_from_plugins(allow_external_plugins=allow_external_plugins)
|
|
logger.info("Registered picture descriptions: %r", factory.registered_kind)
|
|
return factory
|