# ============================================================================= # DEPLOYMENT CONFIGURATION FOR GRADIO SPACES # ============================================================================= import os from dotenv import load_dotenv # Load environment variables load_dotenv() # ============================================================================= # OPENAI CONFIGURATION # ============================================================================= # API Key (required for deployment) OPENAI_API_KEY = os.getenv("OPENAI_API_KEY") if not OPENAI_API_KEY: print("⚠️ Warning: OPENAI_API_KEY not found in environment variables") # Embedding model configuration OPENAI_EMBEDDING_MODEL = "text-embedding-3-large" EMBEDDING_DIMENSIONS = 3072 # ============================================================================= # QDRANT CONFIGURATION # ============================================================================= # Qdrant URL (cloud deployment will need external Qdrant) QDRANT_URL = os.getenv("QDRANT_URL", "http://localhost:6333") QDRANT_API_KEY = os.getenv("QDRANT_API_KEY") # For cloud Qdrant # Collection configuration QDRANT_COLLECTION_NAME = "chunks_collection" # ============================================================================= # CHUNKING CONFIGURATION # ============================================================================= # Available chunking methods CHUNKING_METHODS = ["fixed", "sentence", "adaptive"] # Fixed chunking parameters FIXED_CHUNK_SIZE = 1000 FIXED_CHUNK_OVERLAP = 200 # Sentence chunking parameters SENTENCE_MIN_CHUNK_SIZE = 100 SENTENCE_MAX_CHUNK_SIZE = 1000 # Adaptive chunking parameters ADAPTIVE_MIN_CHUNK_SIZE = 200 ADAPTIVE_MAX_CHUNK_SIZE = 800 ADAPTIVE_SIMILARITY_THRESHOLD = 0.5 # ============================================================================= # SEARCH AND RETRIEVAL CONFIGURATION # ============================================================================= # Number of chunks to return in search results TOP_K_RESULTS = 10 # Minimum similarity score for search results MIN_SIMILARITY_SCORE = 0.5 # ============================================================================= # LOGGING CONFIGURATION # ============================================================================= # Logging level for deployment LOG_LEVEL = "INFO" # ============================================================================= # DEPLOYMENT NOTES # ============================================================================= """ For Gradio Spaces deployment: 1. Set environment variables in Space settings: - OPENAI_API_KEY: Your OpenAI API key - QDRANT_URL: URL to your cloud Qdrant instance - QDRANT_API_KEY: API key for cloud Qdrant (if required) 2. Consider using Qdrant Cloud or self-hosted Qdrant instance since Gradio Spaces don't support Docker containers 3. The app will show warning messages if components fail to initialize but will still launch for configuration troubleshooting """