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

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