Client

This module contains functionality related to the the client module for embedding.vector_stores.qdrant.

Client

QdrantClientFactory

Bases: SingletonFactory

Singleton factory for creating and managing Qdrant client instances.

This factory ensures that only one Qdrant client instance is created for each unique configuration, promoting resource efficiency.

Source code in src/embedding/vector_stores/qdrant/client.py
11
12
13
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
class QdrantClientFactory(SingletonFactory):
    """
    Singleton factory for creating and managing Qdrant client instances.

    This factory ensures that only one Qdrant client instance is created
    for each unique configuration, promoting resource efficiency.
    """

    _configuration_class: Type = QDrantVectorStoreConfiguration

    @classmethod
    def _create_instance(
        cls, configuration: QDrantVectorStoreConfiguration
    ) -> QdrantClient:
        """
        Create a new QdrantClient instance based on the provided configuration.

        Args:
            configuration (QDrantVectorStoreConfiguration): Configuration containing
                connection parameters for the Qdrant server.

        Returns:
            QdrantClient: A configured client instance for interacting with the Qdrant vector database.
        """
        return QdrantClient(
            url=configuration.url,
            port=configuration.port,
            check_compatibility=False,
        )