BookMind / backend /app /core /config.py
BookMind Deployer
Deploy BookMind to HF Spaces - exclude large files
806d445
Raw History Blame Contribute Delete
1.23 kB
"""Configuration module for BookSage-AI."""
from pathlib import Path
class Config:
"""Application configuration."""
# Paths
BASE_DIR = Path(__file__).parent.parent.absolute()
DATA_DIR = BASE_DIR / "data"
MODELS_DIR = BASE_DIR / "models"
LOGS_DIR = BASE_DIR / "logs"
PROJECT_ROOT = Path(__file__).parent.parent.parent.parent.absolute()
TEMPLATES_DIR = PROJECT_ROOT / "templates"
STATIC_DIR = PROJECT_ROOT / "static"
NOTEBOOKS_DIR = PROJECT_ROOT / "notebooks"
# Data files
BOOKS_FILE = "BX-Books.csv"
USERS_FILE = "BX-Users.csv"
RATINGS_FILE = "BX-Book-Ratings.csv"
# Model parameters
MIN_USER_RATINGS = 200
MIN_BOOK_RATINGS = 50
TFIDF_MAX_FEATURES = 10000
# Recommendation parameters
DEFAULT_TOP_N = 10
HYBRID_CF_WEIGHT = 0.6
HYBRID_CB_WEIGHT = 0.4
# Image settings
DEFAULT_IMAGE_URL = "https://via.placeholder.com/150x220?text=No+Image"
# Server settings
HOST = "0.0.0.0"
PORT = 8000
DEBUG = False
@classmethod
def ensure_directories(cls) -> None:
"""Create required directories if they don't exist."""
cls.LOGS_DIR.mkdir(exist_ok=True)
cls.MODELS_DIR.mkdir(exist_ok=True)