RAG_Knowledge_Assistant / db /qdrant_client.py
atara57769's picture
feat: introduce VECTOR_SIZE configuration for dynamic Qdrant collection creation
5b1fbea
Raw
History Blame Contribute Delete
1.21 kB
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.")