|
|
from __future__ import annotations |
|
|
|
|
|
from pydantic import Field, AliasChoices |
|
|
from pydantic_settings import BaseSettings, SettingsConfigDict |
|
|
|
|
|
|
|
|
class Settings(BaseSettings): |
|
|
|
|
|
max_ai_summaries_per_day: int = 25 |
|
|
cache_ttl_seconds: int = 3600 |
|
|
|
|
|
|
|
|
openai_api_key: str = Field( |
|
|
default="", |
|
|
validation_alias=AliasChoices("OPENAI_API_KEY", "OPENAI_KEY"), |
|
|
) |
|
|
openai_model: str = Field( |
|
|
default="gpt-4o-mini", |
|
|
validation_alias=AliasChoices("OPENAI_MODEL"), |
|
|
) |
|
|
openai_timeout_seconds: int = Field(default=30, validation_alias=AliasChoices("OPENAI_TIMEOUT")) |
|
|
|
|
|
|
|
|
redis_url: str = Field(default="", validation_alias=AliasChoices("REDIS_URL")) |
|
|
|
|
|
|
|
|
ctx_base_url: str = Field( |
|
|
default="https://comptox.epa.gov/ctx-api", |
|
|
validation_alias=AliasChoices("CTX_BASE_URL"), |
|
|
) |
|
|
ctx_api_key: str = Field( |
|
|
default="", |
|
|
validation_alias=AliasChoices("CTX_API_KEY", "COMPTOX_API_KEY", "CTX_KEY"), |
|
|
) |
|
|
|
|
|
|
|
|
worker_base_url: str = Field( |
|
|
default="https://ra-proxy.chevva-harish.workers.dev", |
|
|
validation_alias=AliasChoices("RA_PROXY_URL", "WORKER_BASE_URL", "PROXY_BASE_URL"), |
|
|
) |
|
|
|
|
|
model_config = SettingsConfigDict(env_prefix="", case_sensitive=False) |
|
|
|
|
|
|
|
|
settings = Settings() |
|
|
|