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() |