Validator

This module contains functionality related to the the validator module for embedding.vector_stores.chroma.

Validator

ChromaVectorStoreValidator

Bases: BaseVectorStoreValidator

Validator for Chroma vector store configuration.

Validates collection settings and existence for Chroma vector store backend. Ensures proper configuration before operations are performed against the vector store.

Source code in src/embedding/vector_stores/chroma/validator.py
14
15
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
48
49
50
51
52
53
54
55
56
57
58
class ChromaVectorStoreValidator(BaseVectorStoreValidator):
    """Validator for Chroma vector store configuration.

    Validates collection settings and existence for Chroma
    vector store backend. Ensures proper configuration before
    operations are performed against the vector store.
    """

    def __init__(
        self,
        configuration: ChromaVectorStoreConfiguration,
        client: ChromaClient,
    ):
        """Initialize validator with configuration and client.

        Args:
            configuration: Chroma vector store settings
            client: Client for Chroma operations
        """
        self.configuration = configuration
        self.client = client

    def validate(self) -> None:
        """Validate the Chroma vector store settings.

        Performs all required validation steps for the Chroma vector store,
        including collection validation.

        Raises:
            CollectionExistsException: If collection already exists
        """
        self.validate_collection()

    def validate_collection(self) -> None:
        """Validate Chroma collection existence.

        Checks if a collection with the specified name already exists
        in the Chroma database.

        Raises:
            CollectionExistsException: If collection already exists
        """
        collection_name = self.configuration.collection_name
        if collection_name in self.client.list_collections():
            raise CollectionExistsException(collection_name)

__init__(configuration, client)

Initialize validator with configuration and client.

Parameters:
  • configuration (ChromaVectorStoreConfiguration) –

    Chroma vector store settings

  • client (ClientAPI) –

    Client for Chroma operations

Source code in src/embedding/vector_stores/chroma/validator.py
22
23
24
25
26
27
28
29
30
31
32
33
34
def __init__(
    self,
    configuration: ChromaVectorStoreConfiguration,
    client: ChromaClient,
):
    """Initialize validator with configuration and client.

    Args:
        configuration: Chroma vector store settings
        client: Client for Chroma operations
    """
    self.configuration = configuration
    self.client = client

validate()

Validate the Chroma vector store settings.

Performs all required validation steps for the Chroma vector store, including collection validation.

Raises:
  • CollectionExistsException

    If collection already exists

Source code in src/embedding/vector_stores/chroma/validator.py
36
37
38
39
40
41
42
43
44
45
def validate(self) -> None:
    """Validate the Chroma vector store settings.

    Performs all required validation steps for the Chroma vector store,
    including collection validation.

    Raises:
        CollectionExistsException: If collection already exists
    """
    self.validate_collection()

validate_collection()

Validate Chroma collection existence.

Checks if a collection with the specified name already exists in the Chroma database.

Raises:
  • CollectionExistsException

    If collection already exists

Source code in src/embedding/vector_stores/chroma/validator.py
47
48
49
50
51
52
53
54
55
56
57
58
def validate_collection(self) -> None:
    """Validate Chroma collection existence.

    Checks if a collection with the specified name already exists
    in the Chroma database.

    Raises:
        CollectionExistsException: If collection already exists
    """
    collection_name = self.configuration.collection_name
    if collection_name in self.client.list_collections():
        raise CollectionExistsException(collection_name)

ChromaVectorStoreValidatorFactory

Bases: SingletonFactory

Factory for creating configured Chroma validator instances.

Manages the creation and caching of ChromaVectorStoreValidator instances based on provided configuration.

Attributes:
  • _configuration_class (Type) –

    The configuration class for Chroma vector store.

Source code in src/embedding/vector_stores/chroma/validator.py
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
class ChromaVectorStoreValidatorFactory(SingletonFactory):
    """Factory for creating configured Chroma validator instances.

    Manages the creation and caching of ChromaVectorStoreValidator
    instances based on provided configuration.

    Attributes:
        _configuration_class (Type): The configuration class for Chroma vector store.
    """

    _configuration_class: Type = ChromaVectorStoreConfiguration

    @classmethod
    def _create_instance(
        cls, configuration: ChromaVectorStoreConfiguration
    ) -> ChromaVectorStoreValidator:
        """Creates a Chroma validator based on provided configuration.

        Args:
            configuration: Chroma connection configuration.

        Returns:
            ChromaVectorStoreValidator: Configured validator instance.
        """
        client = ChromaVectorStoreClientFactory.create(configuration)
        return ChromaVectorStoreValidator(
            configuration=configuration, client=client
        )