backend / config.py
m-ahmad-official's picture
update
ae9c0d8
"""
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