Newer
Older
cortex-hub / ai-hub / app / config.py
# 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()