File size: 969 Bytes
3b28871
 
 
 
 
 
 
 
 
 
 
 
 
 
1ca4754
3b28871
 
 
 
 
 
 
 
 
9995f1a
 
 
 
3b28871
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
from __future__ import annotations

from pathlib import Path

from pydantic_settings import BaseSettings, SettingsConfigDict

_BACKEND_ROOT = Path(__file__).resolve().parent.parent
_ENV_FILE = _BACKEND_ROOT / ".env"


class Settings(BaseSettings):
    model_config = SettingsConfigDict(env_file=str(_ENV_FILE), env_file_encoding="utf-8", extra="ignore")

    vllm_base_url: str = "http://127.0.0.1:8000/v1"
    # Same credential family as HANA_KLATCHAT_PASSWORD for BrainForge/Security (4090 x1-3); sent as Bearer to vLLM.
    vllm_api_key: str = ""
    chat_model_id: str = "BrainForge/Security@2026.03.18"
    cors_origins: str = "http://localhost:3006,http://127.0.0.1:3006"

    temperature: float = 0.7
    max_tokens: int = 8192

    @property
    def cors_origin_list(self) -> list[str]:
        parts = [o.strip() for o in self.cors_origins.split(",") if o.strip()]
        if "*" in parts:
            return ["*"]
        return parts


settings = Settings()