29 lines
813 B
Python
29 lines
813 B
Python
"""Centralized configuration via Pydantic Settings."""
|
|
|
|
from functools import lru_cache
|
|
|
|
from pydantic_settings import BaseSettings
|
|
|
|
|
|
class Settings(BaseSettings):
|
|
llm_provider: str = "groq"
|
|
groq_api_key: str = ""
|
|
groq_model: str = "llama-3.3-70b-versatile"
|
|
anthropic_api_key: str = ""
|
|
anthropic_model: str = "claude-sonnet-4-20250514"
|
|
openai_api_key: str = ""
|
|
openai_base_url: str = "https://api.openai.com/v1"
|
|
openai_model: str = "gpt-4o"
|
|
aws_access_key_id: str = ""
|
|
aws_secret_access_key: str = ""
|
|
aws_default_region: str = "us-east-1"
|
|
bedrock_model_id: str = "anthropic.claude-sonnet-4-20250514-v1:0"
|
|
kong_proxy_url: str = ""
|
|
|
|
model_config = {"env_prefix": "", "case_sensitive": False}
|
|
|
|
|
|
@lru_cache
|
|
def get_settings() -> Settings:
|
|
return Settings()
|