36 lines
913 B
Python
36 lines
913 B
Python
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()
|