Spaces:
Sleeping
Sleeping
| import os | |
| from dotenv import load_dotenv | |
| from pydantic_settings import BaseSettings | |
| load_dotenv() | |
| # Get project root directory (parent of backend) | |
| PROJECT_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) | |
| class Settings(BaseSettings): | |
| # Model Configuration - use absolute paths based on project root | |
| MODEL_PATH: str = os.path.join(PROJECT_ROOT, "models") | |
| LORA_ADAPTERS_PATH: str = os.path.join(PROJECT_ROOT, "lora_adapters") | |
| VOICE_MODEL_PATH: str = os.path.join(PROJECT_ROOT, "models", "vibevoice") | |
| # API Configuration | |
| API_HOST: str = os.getenv("API_HOST", "0.0.0.0") | |
| API_PORT: int = int(os.getenv("API_PORT", "8000")) | |
| DEBUG: bool = os.getenv("DEBUG", "True").lower() == "true" | |
| # Model Configuration | |
| BASE_MODEL: str = os.getenv("BASE_MODEL", "Qwen/Qwen3-0.6B") | |
| DEVICE: str = os.getenv("DEVICE", "cuda") | |
| MAX_LENGTH: int = int(os.getenv("MAX_LENGTH", "2048")) | |
| TEMPERATURE: float = float(os.getenv("TEMPERATURE", "0.7")) | |
| TOP_P: float = float(os.getenv("TOP_P", "0.9")) | |
| # Audio Configuration | |
| SAMPLE_RATE: int = int(os.getenv("SAMPLE_RATE", "22050")) | |
| AUDIO_FORMAT: str = os.getenv("AUDIO_FORMAT", "wav") | |
| ENABLE_VOICE: bool = os.getenv("ENABLE_VOICE", "False").lower() == "true" # Disabled by default for easier deployment | |
| # Character Configuration | |
| DEFAULT_CHARACTER: str = os.getenv("DEFAULT_CHARACTER", "moses") | |
| def AVAILABLE_CHARACTERS(self) -> list: | |
| characters_str = os.getenv("AVAILABLE_CHARACTERS", "moses,samsung_employee,jinx") | |
| return [char.strip() for char in characters_str.split(",")] | |
| settings = Settings() |