Files
ViGent/backend/app/core/config.py
2026-01-14 14:39:02 +08:00

37 lines
1.3 KiB
Python

from pydantic_settings import BaseSettings
from pathlib import Path
from typing import Literal
class Settings(BaseSettings):
# 基础路径配置
BASE_DIR: Path = Path(__file__).resolve().parent.parent
UPLOAD_DIR: Path = BASE_DIR.parent / "uploads"
OUTPUT_DIR: Path = BASE_DIR.parent / "outputs"
# 数据库/缓存
REDIS_URL: str = "redis://localhost:6379/0"
DEBUG: bool = True
# TTS 配置
DEFAULT_TTS_VOICE: str = "zh-CN-YunxiNeural"
MAX_UPLOAD_SIZE_MB: int = 500
# MuseTalk 配置
MUSETALK_GPU_ID: int = 1 # GPU ID (默认使用 GPU1)
MUSETALK_LOCAL: bool = True # 使用本地推理 (False 则使用远程 API)
MUSETALK_API_URL: str = "http://localhost:8001" # 远程 API 地址
MUSETALK_VERSION: Literal["v1", "v15"] = "v15" # 模型版本
MUSETALK_BATCH_SIZE: int = 8 # 推理批次大小
MUSETALK_USE_FLOAT16: bool = True # 使用半精度加速
@property
def MUSETALK_DIR(self) -> Path:
"""MuseTalk 目录路径 (动态计算)"""
return self.BASE_DIR.parent.parent / "models" / "MuseTalk"
class Config:
env_file = ".env"
extra = "ignore" # 忽略未知的环境变量
settings = Settings()