OmniContent / api /config.py
Ravindra's picture
V3 files 1
34fc6b8 verified
from pydantic_settings import BaseSettings, SettingsConfigDict
from pydantic import ValidationError
import sys
class Settings(BaseSettings):
OPENAI_API_KEY: str
SERPER_API_KEY: str
GROQ_API_KEY: str | None = None
REDIS_URL: str = "redis://localhost:6379/0"
MOCK_AGENTS: bool = False
OPENAI_MODEL: str = "gpt-4o"
GROQ_MODEL: str = "llama-3.1-8b-instant"
OPENAI_MAX_OUTPUT_TOKENS: int = 1800
GROQ_MAX_OUTPUT_TOKENS: int = 700
OPENAI_TEMPERATURE: float = 0.7
GROQ_TEMPERATURE: float = 0.4
RATE_LIMIT_SALT: str = "omnicontent-dev-salt"
FINGERPRINT_DAILY_LIMIT: int = 2
IP_FALLBACK_DAILY_LIMIT: int = 1
DAILY_WINDOW_SECONDS: int = 86400
IP_BURN_UNIQUE_LIMIT: int = 5
IP_BURN_WINDOW_SECONDS: int = 3600
model_config = SettingsConfigDict(env_file=".env", env_file_encoding="utf-8", extra="ignore")
try:
settings = Settings()
except ValidationError as e:
print(f"Configuration Error: {e}")
sys.exit(1)