from pydantic_settings import BaseSettings, SettingsConfigDict

class Settings(BaseSettings):
    PROJECT_NAME: str = "HUTAMS STT Service"

    # CPU/내장그래픽 구동을 위해 한국어 인식률이 극대화된 모델 지정
    WHISPER_MODEL_NAME: str = "large-v3-turbo"

    # 로컬 LLM GGUF 모델 파일 경로 (.env에서 오버라이드 가능)
    LLM_MODEL_PATH: str = ""
    LLM_ENABLED: bool = False  # False면 LLM 분석 스킵 (모델 미설정 시 안전 기본값)

    # ─── 실시간 감청 모드 설정 ────────────────────────────────────────────────
    # "mock" : 로컬 wav 파일을 실시간처럼 스트리밍 (개발/테스트용)
    # "mic"  : 서버 PC에 연결된 실제 마이크/Line-in 장치 감청 (상용 운영용)
    AUDIO_SOURCE: str = "mock"

    # AUDIO_SOURCE="mock" 일 때 사용할 wav 파일 경로
    # ※ Whisper 최적 입력 포맷: 16kHz, 모노, 16-bit PCM
    MOCK_AUDIO_PATH: str = "./sample1.m4a"

    # 지식 연동 제공자 ("mock", "csv", 또는 "rag")
    CONTEXT_PROVIDER: str = "csv"

    model_config = SettingsConfigDict(env_file=".env")

settings = Settings()
