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() | |