Environment Setup & Python Package Installation
Establish a clean isolated Python virtual environment and install the required dependencies for vector database operations, dense embedding generation, and sparse BM25 search.
source rag_env/bin/activate
pip install qdrant-client sentence-transformers rank-bm25 openai pydantic
Create a config.py module to configure database connections and embedding model constants:
import os
from pydantic import BaseModel
class RAGConfig(BaseModel):
QDRANT_HOST: str = os.getenv("QDRANT_HOST", "http://localhost:6333")
COLLECTION_NAME: str = "enterprise_knowledge_base"
EMBEDDING_MODEL: str = "sentence-transformers/all-MiniLM-L6-v2"
VECTOR_SIZE: int = 384
TOP_K: int = 5
config = RAGConfig()