chatbot / app /qdrant_client.py
Muhammad Saad
'code'
9a6173b
import os
from qdrant_client import QdrantClient
from qdrant_client.models import Distance, VectorParams
from app.config import settings
# Initialize Qdrant client
qdrant_client = QdrantClient(
url=settings.QDRANT_URL,
api_key=settings.QDRANT_API_KEY,
)
COLLECTION_NAME = "book_embeddings"
def init_qdrant_collection():
"""Initialize Qdrant collection if it doesn't exist"""
try:
# Check if collection exists
collections = qdrant_client.get_collections().collections
collection_names = [col.name for col in collections]
if COLLECTION_NAME not in collection_names:
# Create collection with vector configuration
qdrant_client.create_collection(
collection_name=COLLECTION_NAME,
vectors_config=VectorParams(
size=1536, # OpenAI text-embedding-3-small dimension
distance=Distance.COSINE
)
)
print(f"✅ Created Qdrant collection: {COLLECTION_NAME}")
else:
print(f"✅ Qdrant collection already exists: {COLLECTION_NAME}")
except Exception as e:
print(f"⚠️ Warning: Could not initialize Qdrant collection: {e}")
def get_qdrant_client():
"""Dependency to get Qdrant client"""
return qdrant_client