Spaces:
Running
Running
| """Runtime configuration for the KORA backend.""" | |
| from __future__ import annotations | |
| from functools import lru_cache | |
| from pathlib import Path | |
| from pydantic import Field | |
| from pydantic_settings import BaseSettings, SettingsConfigDict | |
| BASE_DIR = Path(__file__).resolve().parents[2] | |
| class Settings(BaseSettings): | |
| """Environment-driven settings with safe defaults.""" | |
| model_config = SettingsConfigDict( | |
| env_file=str(BASE_DIR / ".env"), | |
| env_file_encoding="utf-8", | |
| extra="ignore", | |
| ) | |
| app_name: str = Field(default="KORA AI Backend", alias="APP_NAME") | |
| app_env: str = Field(default="production", alias="APP_ENV") | |
| log_level: str = Field(default="INFO", alias="LOG_LEVEL") | |
| model_name: str = Field(default="ProfessorCEO/KORA-v1", alias="MODEL_NAME") | |
| trust_remote_code: bool = Field(default=True, alias="TRUST_REMOTE_CODE") | |
| low_cpu_mem_usage: bool = Field(default=True, alias="LOW_CPU_MEM_USAGE") | |
| max_input_tokens: int = Field(default=3072, alias="MAX_INPUT_TOKENS") | |
| torch_num_threads: int = Field(default=0, alias="TORCH_NUM_THREADS") | |
| torch_num_interop_threads: int = Field(default=0, alias="TORCH_NUM_INTEROP_THREADS") | |
| default_temperature: float = Field(default=0.7, alias="DEFAULT_TEMPERATURE") | |
| default_top_p: float = Field(default=0.9, alias="DEFAULT_TOP_P") | |
| default_max_tokens: int = Field(default=512, alias="DEFAULT_MAX_TOKENS") | |
| system_prompt_file: Path = Field(default=BASE_DIR / "prompts" / "system_prompt.txt") | |
| knowledge_file: Path = Field(default=BASE_DIR / "knowledge" / "kontyra.md") | |
| def get_settings() -> Settings: | |
| """Return a cached settings instance.""" | |
| return Settings() | |
| settings = get_settings() | |