| from pydantic_settings import BaseSettings, SettingsConfigDict | |
| class Settings(BaseSettings): | |
| model_config = SettingsConfigDict( | |
| env_file=".env", extra="ignore", env_file_encoding="utf-8" | |
| ) | |
| # --- Application Configuration --- | |
| APP_NAME: str = "Makhfi AI" | |
| APP_VERSION: str = "0.1.0" | |
| # --- CORS --- | |
| FRONTEND_URL: str | |
| # --- Supabase Configuration --- | |
| SUPABASE_KEY: str | |
| SUPABASE_URL: str | |
| SUPABASE_JWT_SECRET: str | |
| # --- Database Configuration --- | |
| DATABASE_URL: str | |
| DB_CONNECT_ARGS: dict = {"sslmode": "require"} | |
| # --- API Keys --- | |
| GOOGLE_API_KEY: str | |
| GROQ_API_KEY: str | |
| MEM0_API_KEY: str | |
| # --- Vectorstore Configuration --- | |
| PINECONE_API_KEY: str | |
| INDEX_NAME: str | |
| NAMESPACE: str | |
| TOP_K: int = 4 | |
| # --- Models Configuration --- | |
| DEFAULT_MODEL: str | |
| FALLBACK_MODEL: str | |
| EMBEDDINGS_MODEL: str | |
| OUTPUT_FORMATTER_MODEL: str | |
| TITLE_GENERATOR_MODEL: str | |
| def get_settings(): | |
| return Settings() |