26 lines
613 B
Python
26 lines
613 B
Python
import os
|
|
from dataclasses import dataclass, field
|
|
from pathlib import Path
|
|
|
|
from dotenv import load_dotenv
|
|
|
|
load_dotenv(Path(__file__).resolve().parent.parent / ".env")
|
|
|
|
|
|
@dataclass(frozen=True)
|
|
class Settings:
|
|
# LLM 配置
|
|
llm_api_key: str = field(
|
|
default_factory=lambda: os.environ["LLM_API_KEY"],
|
|
repr=False,
|
|
)
|
|
llm_model: str = field(default_factory=lambda: os.environ["LLM_MODEL"])
|
|
llm_base_url: str | None = field(
|
|
default_factory=lambda: os.getenv("LLM_BASE_URL") or None
|
|
)
|
|
llm_timeout: float = 60.0
|
|
llm_max_retries: int = 2
|
|
|
|
|
|
settings = Settings()
|