Spaces:
Running
Running
| import os | |
| from qdrant_client import QdrantClient | |
| import logging | |
| def get_qdrant_client() -> QdrantClient: | |
| """ | |
| Initialize a Qdrant client using environment variables or default to localhost. | |
| Environment variables: | |
| - QDRANT_URL: URL for Qdrant server (default: http://localhost:6333) | |
| - QDRANT_API_KEY: Optional API key for authentication | |
| Returns: | |
| QdrantClient: Configured Qdrant client | |
| """ | |
| # Get configuration from environment variables with defaults | |
| url = os.getenv("QDRANT_URL", "http://localhost:6333") | |
| api_key = os.getenv("QDRANT_API_KEY") | |
| # Configure client with or without API key | |
| if api_key: | |
| client = QdrantClient(location=url, api_key=api_key) | |
| logging.info(f"Connecting to Qdrant at {url} with API key") | |
| else: | |
| client = QdrantClient(location=url) | |
| logging.info(f"Connecting to Qdrant at {url}") | |
| # Test connection | |
| try: | |
| client.get_collections() | |
| logging.info(f"Successfully connected to Qdrant at {url}") | |
| except Exception as e: | |
| logging.error(f"Failed to connect to Qdrant at {url}: {e}") | |
| # Connection will be tested again when used | |
| return client | |
| # Initialize global client instance | |
| qdrant_client = get_qdrant_client() | |