doctorecord / src /config /settings.py
levalencia's picture
fix: update LLM retry and delay settings in configuration
9dfeb67
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()