| """ |
| Application Settings - Environment Configuration |
| """ |
| from pydantic_settings import BaseSettings |
| from typing import List |
| from functools import lru_cache |
|
|
|
|
| class Settings(BaseSettings): |
| |
| APP_NAME: str = "AmkyawDev Coder Backend" |
| ENVIRONMENT: str = "production" |
| DEBUG: bool = False |
| |
| |
| CORS_ORIGINS: List[str] = ["*"] |
| |
| |
| GROQ_API_KEY: str = "" |
| GROQ_MODEL: str = "llama-3.1-8b-instant" |
| GROQ_BASE_URL: str = "https://api.groq.com/openai/v1" |
| |
| |
| HUGGINGFACE_API_KEY: str = "" |
| HF_INFERENCE_ENDPOINT: str = "" |
| |
| |
| FIREBASE_API_KEY: str = "AIzaSyCDNASzWo7Ok_h7EFkQvYrowIn6KyEntqU" |
| FIREBASE_PROJECT_ID: str = "coder-agent-54bb7" |
| FIREBASE_STORAGE_BUCKET: str = "coder-agent-54bb7.firebasestorage.app" |
| FIREBASE_DATABASE_URL: str = "" |
| |
| |
| VERCEL_TOKEN: str = "" |
| NETLIFY_TOKEN: str = "" |
| AWS_ACCESS_KEY_ID: str = "" |
| AWS_SECRET_ACCESS_KEY: str = "" |
| |
| |
| RATE_LIMIT_PER_MINUTE: int = 60 |
| |
| |
| MEMORY_MAX_TOKENS: int = 4096 |
| MEMORY_VECTOR_DIMENSION: int = 768 |
|
|
| class Config: |
| env_file = ".env" |
| case_sensitive = True |
|
|
|
|
| @lru_cache() |
| def get_settings() -> Settings: |
| return Settings() |
|
|
|
|
| settings = get_settings() |
|
|