hpce-dev / config.py
μ΄λ™ν˜„
[DOCS] λ°±μ—”λ“œ μ „λ°˜ docstring 보강 (Google μŠ€νƒ€μΌ Args/Returns/Raises)
58debbc
Raw
History Blame Contribute Delete
1.44 kB
from __future__ import annotations
"""μ•± ν™˜κ²½ μ„€μ • (env/.env override). settings μ‹±κΈ€ν†€μœΌλ‘œ μ „μ—­ μ‚¬μš©."""
from pydantic_settings import BaseSettings
from functools import lru_cache
class Settings(BaseSettings):
"""ν™˜κ²½λ³€μˆ˜Β·.env둜 μ£Όμž…λ˜λŠ” μ•± μ„€μ • (μ„œλ²„/DB/MLflow/μΆ”λ‘ /CORS)."""
ENV: str = "local"
PORT: int = 3002
RELOAD: bool = True
WARMUP_ON_START: bool = True # 기동 μ‹œ μ „ μ‹œλ‚˜λ¦¬μ˜€ λͺ¨λΈ ν•™μŠ΅Β·λ“±λ‘(μ—†μœΌλ©΄)
SCENARIO_ID: str = "cs-myk-v3"
DB_TYPE: str = "duckdb"
DB_PATH: str = "roadshow_v3.duckdb"
MLFLOW_URI: str = "sqlite:///mlflow_v3.db"
MLFLOW_ARTIFACT_ROOT: str = "./mlruns_v3"
TOP_N_INTENT: int = 5
INTENT_SCORE_THRESHOLD: float = 0.05
DATABRICKS_CATALOG: str = "main"
DATABRICKS_SCHEMA: str = "roadshow_v3"
# ── CORS ──────────────────────────────────────────────────
# μ‰Όν‘œλ‘œ κ΅¬λΆ„λœ origin λͺ©λ‘ (예: "https://x.pages.dev,https://y.vercel.app")
# 빈 값이면 "*" ν—ˆμš© (배포 ν™˜κ²½ μ–΄λ””λ“ )
CORS_ORIGINS: str = ""
class Config:
env_file = ".env"
@lru_cache
def get_settings() -> Settings:
"""Settings 싱글톀을 λ°˜ν™˜ν•œλ‹€.
Returns:
lru_cache둜 μΊμ‹œλœ Settings μΈμŠ€ν„΄μŠ€ (싱글톀).
"""
return Settings()
settings = get_settings()