Spaces:
Build error
Build error
File size: 1,471 Bytes
d660b02 |
1 2 3 4 5 6 7 8 9 10 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 40 41 42 43 44 |
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()
|