Spaces:
Runtime error
Runtime error
| import requests | |
| import os | |
| from datetime import datetime | |
| def add_weather_context(location="London"): | |
| """Add current weather context to the query""" | |
| try: | |
| api_key = os.getenv("OPENWEATHER_API_KEY") | |
| if not api_key: | |
| return "Weather data unavailable (API key not configured)" | |
| url = f"http://api.openweathermap.org/data/2.5/weather?q={location}&appid={api_key}&units=metric" | |
| response = requests.get(url, timeout=5) | |
| response.raise_for_status() | |
| data = response.json() | |
| return f"Current weather in {location}: {data['weather'][0]['description']}, {data['main']['temp']}°C" | |
| except Exception as e: | |
| return f"Weather data unavailable: {str(e)}" | |
| def add_space_weather_context(): | |
| """Add space weather context to the query""" | |
| try: | |
| api_key = os.getenv("NASA_API_KEY") | |
| if not api_key: | |
| return "Space weather data unavailable (API key not configured)" | |
| # Using a different NASA endpoint that doesn't require parameters | |
| url = f"https://api.nasa.gov/planetary/apod?api_key={api_key}" | |
| response = requests.get(url, timeout=5) | |
| response.raise_for_status() | |
| data = response.json() | |
| return f"Space context: Astronomy Picture of the Day - {data.get('title', 'N/A')}" | |
| except Exception as e: | |
| return f"Space weather data unavailable: {str(e)}" | |
| def add_time_context(): | |
| """Add current time context""" | |
| now = datetime.now() | |
| return f"Current date and time: {now.strftime('%Y-%m-%d %H:%M:%S %Z')}" | |