""" Configuration management for the CRE Chatbot application. """ import os from dotenv import load_dotenv # Load environment variables load_dotenv() # Azure OpenAI Configuration AZURE_OPENAI_ENDPOINT = os.getenv('AZURE_OPENAI_ENDPOINT') AZURE_OPENAI_API_KEY = os.getenv('AZURE_OPENAI_KEY') AZURE_OPENAI_DEPLOYMENT_NAME = os.getenv('AZURE_OPENAI_DEPLOYMENT_NAME') AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME = os.getenv('AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME') # Application Configuration MAX_CHUNK_SIZE = 1000 OVERLAP_SIZE = 200 TEMPERATURE = 0.7 MAX_TOKENS = 500 # Logging Configuration LOG_LEVEL = "INFO" LOG_FORMAT = "%(asctime)s - %(name)s - %(levelname)s - %(message)s" LOG_FILE = "logs/app.log" # Vector Store Configuration VECTOR_STORE_PATH = "vector_store" def validate_config(): """Validate that all required configuration variables are set.""" required_vars = [ 'AZURE_OPENAI_ENDPOINT', 'AZURE_OPENAI_API_KEY', 'AZURE_OPENAI_DEPLOYMENT_NAME', 'AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME' ] missing_vars = [var for var in required_vars if not os.getenv(var)] if missing_vars: raise ValueError(f"Missing required environment variables: {', '.join(missing_vars)}") # Validate that all required configuration variables are set. validate_config()