Files
nova/api/config.py

32 lines
929 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 = ""
langfuse_public_key: str = ""
langfuse_secret_key: str = ""
langfuse_host: str = "http://langfuse:3000"
model_config = {"env_prefix": "", "case_sensitive": False}
@lru_cache
def get_settings() -> Settings:
return Settings()