{"repo": "brijesh20112002/ai-photovoltaic-pv-assistant", "files": {"backend/app/config.py": {"0c7307ce6b821b5fd2a93c3aaefbb3bc8fb7bbbb": {"t": 1785595259.3821564, "n": 1270, "h": "5cd19070b19adc39", "c": "\"\"\"Application configuration loaded from environment / .env.\"\"\"\nfrom __future__ import annotations\n\nfrom pathlib import Path\n\nfrom pydantic_settings import BaseSettings, SettingsConfigDict\n\nBASE_DIR = Path(__file__).resolve().parent # .../backend/app\n\n\nclass Settings(BaseSettings):\n model_config = SettingsConfigDict(\n env_file=str(BASE_DIR.parent / \".env\"),\n env_file_encoding=\"utf-8\",\n extra=\"ignore\",\n )\n\n openrouter_api_key: str = \"\"\n openrouter_base_url: str = \"https://openrouter.ai/api/v1\"\n # Optional: enables the LangChain agent's web-search tool (Tavily) for the chat/answer.\n tavily_api_key: str = \"\"\n\n # Cost-optimized Chinese models (see memory: prefer-cheap-chinese-llms).\n # text_model must support tool-calling (used by the LangChain ReAct agent).\n text_model: str = \"xiaomi/mimo-v2.5\"\n vision_model: str = \"qwen/qwen3-vl-32b-instruct\"\n\n allowed_origins: str = \"http://localhost:3000,http://127.0.0.1:3000\"\n enable_demo_cache: bool = True\n\n @property\n def cors_origins(self) -> list[str]:\n return [o.strip() for o in self.allowed_origins.split(\",\") if o.strip()]\n\n @property\n def llm_enabled(self) -> bool:\n return bool(self.openrouter_api_key)\n\n\nsettings = Settings()\n"}}}}