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}"})