Spaces:
Sleeping
Sleeping
| from __future__ import annotations | |
| import os | |
| from pydantic_settings import BaseSettings | |
| from pydantic import Field | |
| class Settings(BaseSettings): | |
| BACKEND_LLM: str = Field(default="llamacpp") # 'llamacpp' | 'openai' | 'groq' | |
| LLAMACPP_MODEL_PATH: str = Field(default="models/qwen2.5-1.5b-instruct-q4_k_m.gguf") | |
| N_CTX: int = 4096 | |
| N_THREADS: int = 4 | |
| N_GPU_LAYERS: int = 0 | |
| ASR_DEVICE: str = "mps" # 'mps' or 'cpu' | |
| TTS_ENGINE: str = "pyttsx3" # 'pyttsx3' | 'say' | 'piper' (later) | |
| OPENAI_API_KEY: str | None = None | |
| GROQ_API_KEY: str | None = None | |
| IS_HF_SPACE: bool = False | |
| DEBUG: bool = True | |
| class Config: | |
| env_file = ".env" | |
| extra = "ignore" | |
| def pretty(self) -> dict: | |
| d = self.model_dump() | |
| if d.get("OPENAI_API_KEY"): | |
| d["OPENAI_API_KEY"] = True | |
| if d.get("GROQ_API_KEY"): | |
| d["GROQ_API_KEY"] = True | |
| return d | |
| _settings: Settings | None = None | |
| def get_settings() -> Settings: | |
| global _settings | |
| if _settings is None: | |
| _settings = Settings() | |
| return _settings |