feat: add project config and test scaffolding
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
"""Application configuration with Pydantic models."""
|
||||
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
|
||||
class EscalationConfig(BaseModel):
|
||||
"""Escalation engine parameters."""
|
||||
rate: float = 0.05
|
||||
initial_batch_size: int = 40
|
||||
max_images: int = 200
|
||||
max_audio_clips: int = 50
|
||||
asset_swap_min: float = 0.5 # seconds (at high intensity)
|
||||
asset_swap_max: float = 15.0 # seconds (at low intensity)
|
||||
voice_mean_interval: float = 60.0 # Poisson mean at intensity 0
|
||||
silence_gap_min: float = 2.0
|
||||
silence_gap_max: float = 30.0
|
||||
fake_calm_chance: float = 0.08 # probability per phase update
|
||||
fake_calm_duration_min: float = 10.0
|
||||
fake_calm_duration_max: float = 30.0
|
||||
cluster_burst_chance: float = 0.1
|
||||
cluster_burst_count_min: int = 2
|
||||
cluster_burst_count_max: int = 5
|
||||
|
||||
|
||||
class ModelConfig(BaseModel):
|
||||
"""AI model identifiers and generation parameters."""
|
||||
sdxl_model_id: str = "stabilityai/sdxl-turbo"
|
||||
sdxl_steps: int = 4
|
||||
sdxl_guidance_scale: float = 0.0
|
||||
sdxl_width: int = 512
|
||||
sdxl_height: int = 512
|
||||
xtts_model: str = "tts_models/multilingual/multi-dataset/xtts_v2"
|
||||
xtts_language: str = "en"
|
||||
|
||||
|
||||
class AppConfig(BaseModel):
|
||||
"""Top-level application config."""
|
||||
host: str = "0.0.0.0"
|
||||
port: int = 8400
|
||||
device: str = "cuda"
|
||||
assets_dir: str = "assets"
|
||||
samples_dir: str = "samples"
|
||||
escalation: EscalationConfig = Field(default_factory=EscalationConfig)
|
||||
models: ModelConfig = Field(default_factory=ModelConfig)
|
||||
|
||||
|
||||
config = AppConfig()
|
||||
Reference in New Issue
Block a user