Spaces:
Running
Running
File size: 1,265 Bytes
9a5cbd7 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
from smolagents import Tool
from typing import Any, Optional
class SimpleTool(Tool):
name = "get_weather_data"
description = "Returns sample weather data for a given city."
inputs = {'city': {'type': 'string', 'description': 'Name of the city (new york, london, or tokyo)'}}
output_type = "object"
def forward(self, city: str) -> dict:
"""
Returns sample weather data for a given city.
Args:
city: Name of the city (new york, london, or tokyo)
"""
# Sample data for demonstration
sample_data = {
"new york": {
"temps": [72, 75, 65, 68, 70, 74, 73],
"rain": [0, 0.2, 0.5, 0, 0, 0.1, 0],
"unit": "F"
},
"london": {
"temps": [15, 14, 16, 13, 15, 17, 16],
"rain": [0.5, 0.2, 0, 0.1, 0.3, 0, 0.2],
"unit": "C"
},
"tokyo": {
"temps": [22, 24, 23, 25, 26, 25, 22],
"rain": [0, 0, 0.3, 0.2, 0, 0, 0.1],
"unit": "C"
}
}
city_lower = city.lower()
return sample_data.get(city_lower, {"error": f"No data for {city}"}) |