import os
from pydantic_settings import BaseSettings
from dotenv import load_dotenv

load_dotenv()

class Settings(BaseSettings):
    APP_NAME: str = "FINRERA AI Assistant"
    GEMINI_API_KEY: str = os.getenv("GEMINI_API_KEY")
    
    # MongoDB Atlas Configuration
    MONGODB_URI: str = os.getenv("MONGODB_URI")
    DB_NAME: str = os.getenv("DB_NAME", "rera_ai_db")
    VECTOR_COLLECTION: str = os.getenv("VECTOR_COLLECTION", "rera_vectors")
    HISTORY_COLLECTION: str = os.getenv("HISTORY_COLLECTION", "user_chats")
    
    DATA_DIR: str = os.getenv("DATA_DIR", "Data")
    X_API_KEY: str = os.getenv("X_API_KEY")
    
    # Auth configuration
    SECRET_KEY: str = os.getenv("SECRET_KEY", "your-secret-key-here")
    ALGORITHM: str = os.getenv("ALGORITHM", "HS256")
    ACCESS_TOKEN_EXPIRE_MINUTES: int = int(os.getenv("ACCESS_TOKEN_EXPIRE_MINUTES", "480"))

    # Model configuration
    #MODEL_NAME: str = "gemini-2.5-pro"  # Fastest stable quality version
    MODEL_NAME: str = "gemini-2.5-flash"  # Fastest stable quality version    
    TEMPERATURE: float = 0.7
    MAX_TOKENS: int = int(os.getenv("MAX_TOKENS", "4096"))

    # Logging
    LOG_DIR: str = "logs"
    LOG_FILE: str = "indexing_process.log"

settings = Settings()
