""" Configuration module for RAG Book Chatbot. Loads configuration from environment variables. """ import os from typing import Dict, Any def get_config() -> Dict[str, Any]: """ Get configuration from environment variables. Returns: Dictionary containing all required configuration Raises: ValueError: If required environment variables are missing """ config = { "openai_api_key": os.getenv("OPENAI_API_KEY"), "cohere_api_key": os.getenv("COHERE_API_KEY"), "qdrant_url": os.getenv("QDRANT_URL"), "qdrant_api_key": os.getenv("QDRANT_API_KEY"), "qdrant_collection": os.getenv("QDRANT_COLLECTION", "book_embeddings"), } # Validate required keys required_keys = ["cohere_api_key", "qdrant_url", "qdrant_api_key"] missing_keys = [key for key in required_keys if not config[key]] if missing_keys: raise ValueError( f"Missing required environment variables: {', '.join(missing_keys)}" ) return config