# app/config.py import os from dotenv import load_dotenv # Load environment variables from a .env file load_dotenv() class Settings: # --- Database --- DB_MODE: str = os.getenv("DB_MODE", "sqlite") DATABASE_URL: str = ( "sqlite:///./data/ai_hub.db" if DB_MODE == "sqlite" else os.getenv("DATABASE_URL", "postgresql://user:password@localhost/ai_hub_db") ) # --- LLM API Keys & Models --- DEEPSEEK_API_KEY: str = os.getenv("DEEPSEEK_API_KEY") GEMINI_API_KEY: str = os.getenv("GEMINI_API_KEY") DEEPSEEK_MODEL_NAME: str = os.getenv("DEEPSEEK_MODEL_NAME", "deepseek-chat") GEMINI_MODEL_NAME: str = os.getenv("GEMINI_MODEL_NAME", "gemini-1.5-flash-latest") # --- Vector Store --- FAISS_INDEX_PATH: str = os.getenv("FAISS_INDEX_PATH", "data/faiss_index.bin") EMBEDDING_DIMENSION: int = int(os.getenv("EMBEDDING_DIMENSION", 768)) # Instantiate the settings so they can be imported and used anywhere settings = Settings()