from functools import lru_cache from pydantic import Field from pydantic_settings import BaseSettings, SettingsConfigDict class Settings(BaseSettings): model_config = SettingsConfigDict(env_file=".env", env_file_encoding="utf-8", case_sensitive=False, extra="ignore") app_name: str = Field("AIMNOTE RAG Gateway", env="RAG_GATEWAY_APP_NAME") api_prefix: str = "/rag" environment: str = Field("development", env="RAG_GATEWAY_ENV") lightrag_url: str = Field("http://127.0.0.1:7777", env="LIGHTRAG_URL") lightrag_api_key: str = Field("", env="LIGHTRAG_API_KEY") embedding_base_url: str = Field("http://127.0.0.1:11434/v1", env="EMBEDDING_BASE_URL") embedding_model: str = Field("qwen3-embedding:8b", env="EMBEDDING_MODEL") @lru_cache() def get_gateway_settings() -> Settings: return Settings()