from functools import lru_cache from pydantic import BaseSettings, Field class Settings(BaseSettings): 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") supabase_rest_url: str = Field("http://127.0.0.1:54321/rest/v1", env="SUPABASE_REST_URL") supabase_key: str = Field("", env="SUPABASE_SERVICE_ROLE_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") class Config: env_file = ".env" case_sensitive = False @lru_cache() def get_gateway_settings() -> Settings: return Settings()