"""Environment-driven configuration.""" from __future__ import annotations import os from dataclasses import dataclass from pathlib import Path from dotenv import load_dotenv load_dotenv() @dataclass(frozen=True) class Config: local_base_url: str local_model: str openai_api_key: str cloud_model: str embed_model: str db_path: Path def load() -> Config: return Config( local_base_url=os.getenv("LOCAL_BASE_URL", "http://localhost:11434"), local_model=os.getenv("LOCAL_MODEL", "qwen2.5:7b-instruct"), openai_api_key=os.getenv("OPENAI_API_KEY", ""), cloud_model=os.getenv("CLOUD_MODEL", "gpt-4o-mini"), embed_model=os.getenv("EMBED_MODEL", "text-embedding-3-small"), db_path=Path(os.getenv("LYRA_DB_PATH", "data/lyra.db")), )