Files

41 lines
1.4 KiB
Python

from dataclasses import dataclass
import os
from dotenv import load_dotenv
# Load environment variables from .env file
load_dotenv()
@dataclass
class Settings:
# API Keys
COHERE_API_KEY: str
DEEPSEEK_API_KEY: str
# Vector Store Settings
VECTOR_DIMENSION: int = 1024 # Cohere's embed-english-v3.0 model dimension
INDEX_PATH: str = "data/vector_store/index.faiss"
# Content Settings
MAX_CONTEXT_LENGTH: int = 2000
DEFAULT_MODEL: str = "deepseek-chat"
# Brand Settings
BRAND_TONE: str = "professional and empathetic"
BRAND_VOICE: str = "Adriana James"
@classmethod
def from_env(cls):
"""Create a Settings instance from environment variables."""
return cls(
COHERE_API_KEY=os.getenv("COHERE_API_KEY", ""),
DEEPSEEK_API_KEY=os.getenv("DEEPSEEK_API_KEY", ""),
VECTOR_DIMENSION=int(os.getenv("VECTOR_DIMENSION", "1024")),
INDEX_PATH=os.getenv("INDEX_PATH", "data/vector_store/index.faiss"),
MAX_CONTEXT_LENGTH=int(os.getenv("MAX_CONTEXT_LENGTH", "2000")),
DEFAULT_MODEL=os.getenv("DEFAULT_MODEL", "deepseek-chat"),
BRAND_TONE=os.getenv("BRAND_TONE", "professional and empathetic"),
BRAND_VOICE=os.getenv("BRAND_VOICE", "Adriana James")
)
# Create a global settings instance
settings = Settings.from_env()