Spaces:
Build error
Build error
| from loguru import logger | |
| from qdrant_client import QdrantClient | |
| from qdrant_client.http.exceptions import UnexpectedResponse | |
| from llm_engineering.settings import settings | |
| class QdrantDatabaseConnector: | |
| _instance: QdrantClient | None = None | |
| def __new__(cls, *args, **kwargs) -> QdrantClient: | |
| if cls._instance is None: | |
| try: | |
| if settings.USE_QDRANT_CLOUD: | |
| cls._instance = QdrantClient( | |
| url=settings.QDRANT_CLOUD_URL, | |
| api_key=settings.QDRANT_APIKEY, | |
| ) | |
| uri = settings.QDRANT_CLOUD_URL | |
| else: | |
| cls._instance = QdrantClient( | |
| host=settings.QDRANT_DATABASE_HOST, | |
| port=settings.QDRANT_DATABASE_PORT, | |
| ) | |
| uri = f"{settings.QDRANT_DATABASE_HOST}:{settings.QDRANT_DATABASE_PORT}" | |
| logger.info(f"Connection to Qdrant DB with URI successful: {uri}") | |
| except UnexpectedResponse: | |
| logger.exception( | |
| "Couldn't connect to Qdrant.", | |
| host=settings.QDRANT_DATABASE_HOST, | |
| port=settings.QDRANT_DATABASE_PORT, | |
| url=settings.QDRANT_CLOUD_URL, | |
| ) | |
| raise | |
| return cls._instance | |
| connection = QdrantDatabaseConnector() | |