from pydantic import BaseSettings, Field, SecretStr class SavantSettings(BaseSettings): """Savant Application Settings. All environment varaibles supplied should be prefixed with "SAVANT_". """ eleven_labs_api_key: SecretStr = Field( default="", description="An optional Eleven Labs API key for text to speech." ) eleven_labs_model: str = Field( default="Arnold", description="The text-to-speech model name used in eleven labs audio generation." ) llm_model_name: str = Field( default="eachadea_vicuna-7b-1.1", description="The large language model name used in API requests." ) openai_api_key: SecretStr = Field( default="EMPTY", description="An OPEN_API_KEY or an empty value if using FastChat replacement server" ) openai_api_base: str = Field( default="http://localhost:8000/v1", description="The base url to an OpenAI API compliant endpoint. \ Defaulted to FastChat replacement server defaults.", ) class Config: env_prefix = "SAVANT_" savant_settings = SavantSettings()