Initializer

This module contains functionality related to the the initializer module for embedding.bootstrap.

Initializer

EmbeddingInitializer

Bases: ExtractionInitializer

Initializer for embedding, augmentation and evaluation processes.

Extends the ExtractionInitializer to provide specialized initialization for embedding-related functionality. Responsible for binding embedding components to the dependency injection container and preparing the environment for embedding, augmentation, and evaluation processes.

Attributes:
  • configuration

    EmbeddingConfiguration object containing configuration parameters

  • configuration_json

    JSON string representation of the EmbeddingConfiguration

  • package_loader

    Loader responsible for importing required packages

Source code in src/embedding/bootstrap/initializer.py
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
class EmbeddingInitializer(ExtractionInitializer):
    """Initializer for embedding, augmentation and evaluation processes.

    Extends the ExtractionInitializer to provide specialized initialization for
    embedding-related functionality. Responsible for binding embedding components
    to the dependency injection container and preparing the environment for
    embedding, augmentation, and evaluation processes.

    Attributes:
        configuration: EmbeddingConfiguration object containing configuration parameters
        configuration_json: JSON string representation of the EmbeddingConfiguration
        package_loader: Loader responsible for importing required packages
    """

    def __init__(
        self,
        configuration_class: Type[BaseConfiguration] = EmbeddingConfiguration,
        package_loader: BasePackageLoader = EmbeddingPackageLoader(),
    ):
        super().__init__(
            configuration_class=configuration_class,
            package_loader=package_loader,
        )

EmbeddingPackageLoader

Bases: ExtractionPackageLoader

Package loader for embedding components.

Extends the ExtractionPackageLoader to include embedding-specific packages. Responsible for dynamically loading embedding-related modules into the application.

Attributes:
  • logger

    Logger instance for logging package loading operations

Source code in src/embedding/bootstrap/initializer.py
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
class EmbeddingPackageLoader(ExtractionPackageLoader):
    """Package loader for embedding components.

    Extends the ExtractionPackageLoader to include embedding-specific packages.
    Responsible for dynamically loading embedding-related modules into the application.

    Attributes:
        logger: Logger instance for logging package loading operations
    """

    def __init__(
        self, logger: logging.Logger = LoggerConfiguration.get_logger(__name__)
    ):
        super().__init__(logger)

    def load_packages(self) -> None:
        """Loads all required packages for embedding functionality.

        First loads extraction packages via the parent class, then loads
        embedding-specific packages including vector stores, embedding models,
        text splitters, embedders, and orchestrators.
        """
        super().load_packages()
        self._load_packages(
            [
                "src.embedding.vector_stores",
                "src.embedding.embedding_models",
                "src.embedding.splitters",
                "src.embedding.embedders",
                "src.embedding.orchestrators",
            ]
        )

load_packages()

Loads all required packages for embedding functionality.

First loads extraction packages via the parent class, then loads embedding-specific packages including vector stores, embedding models, text splitters, embedders, and orchestrators.

Source code in src/embedding/bootstrap/initializer.py
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
def load_packages(self) -> None:
    """Loads all required packages for embedding functionality.

    First loads extraction packages via the parent class, then loads
    embedding-specific packages including vector stores, embedding models,
    text splitters, embedders, and orchestrators.
    """
    super().load_packages()
    self._load_packages(
        [
            "src.embedding.vector_stores",
            "src.embedding.embedding_models",
            "src.embedding.splitters",
            "src.embedding.embedders",
            "src.embedding.orchestrators",
        ]
    )