- Add QDRANT_API_KEY to config.py (empty string = no auth)
- Pass api_key to QdrantClient constructor (None when empty)
- Add QDRANT_API_KEY to coolify compose and env example
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Collections may not exist if init_collections() failed at startup
(e.g. Qdrant not ready). Now index_documents() ensures the
collection exists before upserting.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
qdrant-client 1.17.0 removed the search() method in favor of
query_points(). Update the wrapper to use the new API.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Switch to Ollama's bge-m3 model (1024-dim) for generating embeddings,
solving the dimension mismatch with Qdrant collections. Embedding-service
still used for chunking, reranking, and PDF extraction.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The embedding-service exposes endpoints at root level (/chunk, /embed,
/extract-pdf, /rerank) not under /api/v1/. Fix the RAG service's
embedding client to use the correct paths.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>