from functools import lru_cache from pathlib import Path from pydantic_settings import BaseSettings class Settings(BaseSettings): SERVICE_NAME: str = "planet-ai-provider" SERVICE_VERSION: str = "0.1.0" AI_PROVIDER: str = "disabled" AI_BASE_URL: str = "https://api.openai.com/v1" AI_API_KEY: str = "" AI_MODEL: str = "" AI_TIMEOUT_SECONDS: int = 60 AI_HTTP_RETRY_ATTEMPTS: int = 2 AI_MAX_TOKENS: int = 1200 AI_ANTHROPIC_VERSION: str = "2023-06-01" AI_ANALYSIS_SYSTEM_PROMPT: str = ( "你是态势感知分析助手。请基于输入的上下文、观测与约束,输出结构化、克制、可执行的分析。" ) AI_PROVIDER_SERVICE_TOKEN: str = "" class Config: env_file = Path(__file__).parent / ".env" case_sensitive = True @lru_cache() def get_settings() -> Settings: return Settings() settings = get_settings()