Spaces:
Runtime error
Runtime error
import logging | |
import os | |
from typing import Optional | |
import qdrant_client | |
logger = logging.getLogger(__name__) | |
def build_qdrant_client( | |
url: Optional[str] = None, | |
api_key: Optional[str] = None, | |
): | |
""" | |
Builds a Qdrant client object using the provided URL and API key. | |
Args: | |
url (Optional[str]): The URL of the Qdrant server. If not provided, the function will attempt | |
to read it from the QDRANT_URL environment variable. | |
api_key (Optional[str]): The API key to use for authentication. If not provided, the function will attempt | |
to read it from the QDRANT_API_KEY environment variable. | |
Raises: | |
KeyError: If the URL or API key is not provided and cannot be read from the environment variables. | |
Returns: | |
qdrant_client.QdrantClient: A Qdrant client object. | |
""" | |
logger.info("Building QDrant Client") | |
if url is None: | |
try: | |
url = os.environ["QDRANT_URL"] | |
except KeyError: | |
raise KeyError( | |
"QDRANT_URL must be set as environment variable or manually passed as an argument." | |
) | |
if api_key is None: | |
try: | |
api_key = os.environ["QDRANT_API_KEY"] | |
except KeyError: | |
raise KeyError( | |
"QDRANT_API_KEY must be set as environment variable or manually passed as an argument." | |
) | |
client = qdrant_client.QdrantClient(url, api_key=api_key) | |
return client | |