Spaces:
Sleeping
Sleeping
from pydantic import Field | |
from pydantic_settings import BaseSettings, SettingsConfigDict | |
import logging | |
logger = logging.getLogger(__name__) | |
class Settings(BaseSettings): | |
OPENAI_API_KEY: str = Field("", env="OPENAI_API_KEY") | |
AZURE_DI_ENDPOINT: str = Field("", env="AZURE_DI_ENDPOINT") | |
AZURE_DI_KEY: str = Field("", env="AZURE_DI_KEY") | |
# Azure OpenAI | |
AZURE_OPENAI_ENDPOINT: str = Field("", env="AZURE_OPENAI_ENDPOINT") | |
AZURE_OPENAI_DEPLOYMENT: str = Field("", env="AZURE_OPENAI_DEPLOYMENT") | |
AZURE_OPENAI_API_VERSION: str = Field("2025-03-01-preview", env="AZURE_OPENAI_API_VERSION") | |
AZURE_OPENAI_API_KEY: str = Field("", env="AZURE_OPENAI_API_KEY") | |
AZURE_OPENAI_EMBEDDING_MODEL: str = Field("text-embedding-3-small", env="AZURE_OPENAI_EMBEDDING_MODEL") | |
# Retry configuration | |
LLM_MAX_RETRIES: int = Field(50, env="LLM_MAX_RETRIES") | |
LLM_BASE_DELAY: float = Field(1.0, env="LLM_BASE_DELAY") | |
LLM_MAX_DELAY: float = Field(600.0, env="LLM_MAX_DELAY") | |
model_config: SettingsConfigDict = {"env_file": ".env"} | |
def __init__(self, **kwargs): | |
super().__init__(**kwargs) | |
logger.info(f"Settings initialized with API version: {self.AZURE_OPENAI_API_VERSION}") | |
logger.info(f"LLM retry config: max_retries={self.LLM_MAX_RETRIES}, base_delay={self.LLM_BASE_DELAY}s") | |
settings = Settings() |