| import logging |
| from qdrant_client import QdrantClient |
| from qdrant_client import models |
| from config import QDRANT_URL, QDRANT_API_KEY, COLLECTION, VECTOR_SIZE |
|
|
| logger = logging.getLogger(__name__) |
|
|
| logger.info("Initializing raw Qdrant client connection...") |
| client = QdrantClient( |
| url=QDRANT_URL, |
| api_key=QDRANT_API_KEY |
| ) |
|
|
| def init_db(): |
| logger.info("Verifying/Initializing Qdrant database...") |
| if not client.collection_exists(COLLECTION): |
| logger.info(f"Collection '{COLLECTION}' does not exist. Creating collection...") |
| client.create_collection( |
| collection_name=COLLECTION, |
| vectors_config=models.VectorParams( |
| size=VECTOR_SIZE, |
| distance=models.Distance.COSINE |
| ) |
| ) |
| logger.info(f"Collection '{COLLECTION}' successfully created.") |
| else: |
| logger.info(f"Collection '{COLLECTION}' already exists.") |
|
|
| logger.info("Creating keyword payload index for metadata.type...") |
| client.create_payload_index( |
| collection_name=COLLECTION, |
| field_name="metadata.type", |
| field_schema=models.PayloadSchemaType.KEYWORD |
| ) |
| logger.info("Database payload indexing complete.") |
|
|