Spaces:
Running
Running
import importlib | |
__all__ = ['WeatherApi'] | |
class WeatherApi(): | |
dependencies = ["requests==2.32.3"] | |
inputSchema = { | |
"name": "WeatherApi", | |
"description": "Returns weather information for a given location", | |
"parameters": { | |
"type": "object", | |
"properties": { | |
"location": { | |
"type": "string", | |
"description": "The location for which to get the weather information", | |
}, | |
}, | |
"required": ["location"], | |
}, | |
"invoke_resource_cost": 0.1, | |
} | |
def run(self, **kwargs): | |
print("Running Weather API test tool") | |
location = kwargs.get("location") | |
print(f"Location: {location}") | |
requests = importlib.import_module("requests") | |
response = requests.get( | |
f"http://api.openweathermap.org/data/2.5/weather?q={location}&appid=ea50e63a3bea67adaf50fbecbe5b3c1e") | |
if response.status_code == 200: | |
return { | |
"status": "success", | |
"message": "Weather API test tool executed successfully", | |
"error": None, | |
"output": response.json() | |
} | |
else: | |
return { | |
"status": "error", | |
"message": "Weather API test tool failed", | |
"error": response.text, | |
"output": None | |
} | |