You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
1.2 KiB
29 lines
1.2 KiB
import os
|
|
from pydantic_settings import BaseSettings
|
|
|
|
|
|
class Settings(BaseSettings):
|
|
DATABASE_URL: str = os.getenv(
|
|
"DATABASE_URL",
|
|
"postgresql+asyncpg://enterprise:enterprise123@localhost:5432/enterprise_ai",
|
|
)
|
|
REDIS_URL: str = os.getenv("REDIS_URL", "redis://:redis123@localhost:6379/0")
|
|
JWT_SECRET: str = os.getenv("JWT_SECRET", "dev-secret-change-me")
|
|
JWT_ALGORITHM: str = "HS256"
|
|
JWT_EXPIRE_MINUTES: int = 1440
|
|
LLM_API_KEY: str = os.getenv("LLM_API_KEY", "sk-placeholder")
|
|
LLM_API_BASE: str = os.getenv("LLM_API_BASE", "https://api.openai.com/v1")
|
|
LLM_MODEL: str = os.getenv("LLM_MODEL", "gpt-4o-mini")
|
|
|
|
RATE_LIMIT_PER_MINUTE: int = int(os.getenv("RATE_LIMIT_PER_MINUTE", "60"))
|
|
RATE_LIMIT_BURST: int = int(os.getenv("RATE_LIMIT_BURST", "10"))
|
|
UPLOAD_DIR: str = os.getenv("UPLOAD_DIR", "./uploads")
|
|
MAX_UPLOAD_SIZE_MB: int = int(os.getenv("MAX_UPLOAD_SIZE_MB", "50"))
|
|
WECOM_CORP_ID: str = os.getenv("WECOM_CORP_ID", "")
|
|
WECOM_APP_SECRET: str = os.getenv("WECOM_APP_SECRET", "")
|
|
WECOM_TOKEN: str = os.getenv("WECOM_TOKEN", "")
|
|
WECOM_AES_KEY: str = os.getenv("WECOM_AES_KEY", "")
|
|
METRICS_COLLECTION_INTERVAL: int = 60
|
|
|
|
|
|
settings = Settings()
|