Spaces:
Configuration error
Configuration error
feat: Introduce new backend architecture with notebooks, sources, chat, and CLaRa models, alongside database schema and updated deployment scripts, while removing old frontend, deployment files, and previous backend components.
88f8604
| """ | |
| Antigravity Notebook - Configuration Management | |
| Handles all environment variables and application settings. | |
| """ | |
| from pydantic_settings import BaseSettings | |
| from pydantic import Field | |
| import os | |
| class Settings(BaseSettings): | |
| """Application settings loaded from environment variables""" | |
| # Database Configuration | |
| POSTGRES_USER: str = Field(default="antigravity", env="POSTGRES_USER") | |
| POSTGRES_PASSWORD: str = Field(default="antigravity123", env="POSTGRES_PASSWORD") | |
| POSTGRES_DB: str = Field(default="antigravity_db", env="POSTGRES_DB") | |
| POSTGRES_HOST: str = Field(default="localhost", env="POSTGRES_HOST") | |
| POSTGRES_PORT: int = Field(default=5432, env="POSTGRES_PORT") | |
| def DATABASE_URL(self) -> str: | |
| """Construct database URL from components""" | |
| return ( | |
| f"postgresql://{self.POSTGRES_USER}:{self.POSTGRES_PASSWORD}" | |
| f"@{self.POSTGRES_HOST}:{self.POSTGRES_PORT}/{self.POSTGRES_DB}" | |
| ) | |
| def ASYNC_DATABASE_URL(self) -> str: | |
| """Construct async database URL from components""" | |
| return ( | |
| f"postgresql+asyncpg://{self.POSTGRES_USER}:{self.POSTGRES_PASSWORD}" | |
| f"@{self.POSTGRES_HOST}:{self.POSTGRES_PORT}/{self.POSTGRES_DB}" | |
| ) | |
| # CLaRa Model Configuration | |
| MODEL_NAME: str = Field(default="apple/CLaRa-7B-Instruct", env="MODEL_NAME") | |
| MODEL_CACHE_DIR: str = Field(default="./model_cache", env="MODEL_CACHE_DIR") | |
| DEVICE: str = Field(default="cuda", env="DEVICE") | |
| MAX_CONTEXT_TOKENS: int = Field(default=32768, env="MAX_CONTEXT_TOKENS") | |
| COMPRESSION_RATIO: int = Field(default=16, env="COMPRESSION_RATIO") | |
| # Storage Configuration | |
| LATENT_TENSOR_DIR: str = Field(default="./data/latent_tensors", env="LATENT_TENSOR_DIR") | |
| # API Configuration | |
| API_HOST: str = Field(default="0.0.0.0", env="API_HOST") | |
| API_PORT: int = Field(default=8000, env="API_PORT") | |
| # Security | |
| SECRET_KEY: str = Field(default="your-secret-key-here-change-in-production", env="SECRET_KEY") | |
| ALGORITHM: str = Field(default="HS256", env="ALGORITHM") | |
| ACCESS_TOKEN_EXPIRE_MINUTES: int = Field(default=30, env="ACCESS_TOKEN_EXPIRE_MINUTES") | |
| class Config: | |
| env_file = ".env" | |
| case_sensitive = True | |
| extra = "ignore" # Allow extra fields in .env file | |
| # Global settings instance | |
| settings = Settings() | |
| # Ensure required directories exist | |
| os.makedirs(settings.LATENT_TENSOR_DIR, exist_ok=True) | |
| os.makedirs(settings.MODEL_CACHE_DIR, exist_ok=True) | |