47 lines
1.8 KiB
Python
47 lines
1.8 KiB
Python
from pydantic import AliasChoices, Field
|
|
from pydantic_settings import BaseSettings, SettingsConfigDict
|
|
|
|
|
|
class Settings(BaseSettings):
|
|
model_config = SettingsConfigDict(env_file=".env", env_file_encoding="utf-8")
|
|
|
|
hf_token: str = ""
|
|
llm_api_key: str = Field(
|
|
default="",
|
|
validation_alias=AliasChoices("LLM_API_KEY", "DEEPSEEK_API_KEY", "OPENAI_API_KEY"),
|
|
)
|
|
llm_base_url: str = Field(
|
|
default="https://api.deepseek.com/v1",
|
|
validation_alias=AliasChoices("LLM_BASE_URL", "DEEPSEEK_BASE_URL", "OPENAI_BASE_URL"),
|
|
)
|
|
llm_model: str = Field(
|
|
default="deepseek-chat",
|
|
validation_alias=AliasChoices("LLM_MODEL", "DEEPSEEK_MODEL", "OPENAI_MODEL"),
|
|
)
|
|
llm_timeout: int = 8
|
|
llm_max_tokens: int = 150
|
|
|
|
webrtc_host: str = "0.0.0.0"
|
|
webrtc_port: int = 8080
|
|
avatar_fps: int = 25
|
|
avatar_driver_mode: str = "blendshape_stream"
|
|
avatar_control_protocol: str = "ws"
|
|
avatar_blendshape_schema: str = "arkit"
|
|
stun_url: str = "stun:stun.l.google.com:19302"
|
|
cors_origins: str = "*"
|
|
ssl_certfile: str = ""
|
|
ssl_keyfile: str = ""
|
|
|
|
# Legacy MuseTalk settings retained for migration reference only.
|
|
musetalk_enabled: bool = True
|
|
musetalk_repo_dir: str = "/home/xsl/work/MuseTalk"
|
|
musetalk_infer_script: str = "/home/xsl/work/MuseTalk/scripts/inference.py"
|
|
musetalk_source_video: str = "/home/xsl/work/MuseTalk/data/video/yongen.mp4"
|
|
musetalk_unet_model: str = "/home/xsl/work/MuseTalk/models/musetalkV15/unet.pth"
|
|
musetalk_unet_config: str = "/home/xsl/work/MuseTalk/models/musetalkV15/musetalk.json"
|
|
musetalk_whisper_dir: str = "/home/xsl/work/MuseTalk/models/whisper"
|
|
musetalk_result_dir: str = "/home/xsl/work/MuseTalk/results/visual-chat"
|
|
|
|
|
|
settings = Settings()
|