# app/config.py
import os
from dotenv import load_dotenv

load_dotenv()


class Settings:
    """Configuration for RAG system."""
    REDIS_URL: str = os.getenv("REDIS_URL", "redis://localhost:6379")
    MODEL_NAME: str = os.getenv("MODEL_NAME", "all-MiniLM-L6-v2")
    CHUNK_SIZE: int = int(os.getenv("CHUNK_SIZE", "1000"))
    CHUNK_OVERLAP: int = int(os.getenv("CHUNK_OVERLAP", "200"))
    DATA_DIR: str = os.getenv("DATA_DIR", "./app/data")
    DEFAULT_COURSE_ID: str = os.getenv("DEFAULT_COURSE_ID", "default")
    
    # Embedding Query Configuration
    EMBEDDING_TOP_K: int = int(os.getenv("EMBEDDING_TOP_K", "3"))
    EMBEDDING_DISTANCE_THRESHOLD: float = float(os.getenv("EMBEDDING_DISTANCE_THRESHOLD", "0.5"))
    
    # LLM Configuration
    OPENAI_API_KEY: str = os.getenv("OPENAI_API_KEY", "")
    OPENAI_MODEL: str = os.getenv("OPENAI_MODEL", "gpt-4o-mini")
    LLM_TEMPERATURE: float = float(os.getenv("LLM_TEMPERATURE", "0.7"))
    LLM_MAX_TOKENS: int = int(os.getenv("LLM_MAX_TOKENS", "1024"))


settings = Settings()
