Spaces:
Running
Running
| """Application settings loaded from environment variables / .env file.""" | |
| import os | |
| from functools import lru_cache | |
| from pydantic_settings import BaseSettings | |
| class Settings(BaseSettings): | |
| # Neo4j | |
| neo4j_uri: str = "bolt://localhost:7688" | |
| neo4j_username: str = "neo4j" | |
| neo4j_password: str = "your-password" | |
| neo4j_database: str = "neo4j" | |
| # LLM — primary (vLLM on AMD MI300X) | |
| vllm_base_url: str = "http://localhost:8000/v1" | |
| vllm_model: str = "Qwen/Qwen2.5-72B-Instruct" | |
| llm_timeout: int = 120 | |
| llm_max_tokens: int = 4096 | |
| llm_temperature: float = 0.3 | |
| # LLM — fallback (Together.ai / public API) | |
| fallback_api_key: str = "" | |
| fallback_base_url: str = "https://api.together.xyz/v1" | |
| fallback_model: str = "Qwen/Qwen2.5-72B-Instruct-Turbo" | |
| # DRL | |
| drl_checkpoint_path: str = "backend/drl/checkpoints/ea_policy_v1.pt" | |
| # Embedding | |
| embedding_model: str = "sentence-transformers/all-MiniLM-L6-v2" | |
| embedding_dim: int = 384 | |
| # App | |
| cors_origins: list[str] = ["*"] | |
| log_level: str = "INFO" | |
| app_title: str = "EA Optimizer — AMD-Powered Agentic AI" | |
| app_version: str = "1.0.0" | |
| class Config: | |
| env_file = ".env" | |
| env_file_encoding = "utf-8" | |
| extra = "ignore" | |
| def get_settings() -> Settings: | |
| return Settings() | |