| import os | |
| from typing import Optional | |
| class LLMConfig: | |
| """Configuration loader for LLM providers""" | |
| def __init__(self): | |
| # Load all environment variables | |
| self.hf_token = os.getenv("HF_TOKEN") | |
| self.ollama_host = os.getenv("OLLAMA_HOST") | |
| self.local_model_name = os.getenv("LOCAL_MODEL_NAME", "mistral:latest") | |
| self.hf_api_url = os.getenv("HF_API_ENDPOINT_URL", "https://zxzbfrlg3ssrk7d9.us-east-1.aws.endpoints.huggingface.cloud/v1/") | |
| self.use_fallback = os.getenv("USE_FALLBACK", "true").lower() == "true" | |
| self.openweather_api_key = os.getenv("OPENWEATHER_API_KEY") | |
| self.nasa_api_key = os.getenv("NASA_API_KEY") | |
| self.tavily_api_key = os.getenv("TAVILY_API_KEY") | |
| self.redis_host = os.getenv("REDIS_HOST") | |
| self.redis_port = os.getenv("REDIS_PORT") | |
| self.redis_username = os.getenv("REDIS_USERNAME") | |
| self.redis_password = os.getenv("REDIS_PASSWORD") | |
| # Detect if running on HF Spaces | |
| self.is_hf_space = bool(os.getenv("SPACE_ID")) | |
| # Global config instance | |
| config = LLMConfig() | |