Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -10,6 +10,14 @@ from langdetect import detect
|
|
10 |
|
11 |
@tool
|
12 |
def get_timezone_by_city(city: str) -> str:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
if not isinstance(city, str):
|
14 |
return f"Error: Expected a string for city, got: {type(city)}"
|
15 |
try:
|
@@ -30,6 +38,14 @@ def get_timezone_by_city(city: str) -> str:
|
|
30 |
|
31 |
@tool
|
32 |
def get_current_time_in_timezone(timezone: str) -> str:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
if not isinstance(timezone, str):
|
34 |
return f"Error: Expected a string for timezone, got: {type(timezone)}"
|
35 |
try:
|
@@ -41,6 +57,15 @@ def get_current_time_in_timezone(timezone: str) -> str:
|
|
41 |
|
42 |
@tool
|
43 |
def get_air_quality(city: str, lang: str = "en") -> str:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
44 |
if not isinstance(city, str):
|
45 |
return f"Error: Expected a string for city, got: {type(city)}"
|
46 |
try:
|
@@ -93,6 +118,15 @@ def get_air_quality(city: str, lang: str = "en") -> str:
|
|
93 |
|
94 |
@tool
|
95 |
def get_weather(city: str, lang: str = "en") -> str:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
96 |
if not isinstance(city, str):
|
97 |
return f"Error: Expected a string for city, got: {type(city)}"
|
98 |
try:
|
@@ -159,6 +193,14 @@ def get_weather(city: str, lang: str = "en") -> str:
|
|
159 |
|
160 |
@tool
|
161 |
def final_answer(answer: str) -> str:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
162 |
return answer
|
163 |
|
164 |
try:
|
|
|
10 |
|
11 |
@tool
|
12 |
def get_timezone_by_city(city: str) -> str:
|
13 |
+
"""Fetches the timezone for a given city using geolocation.
|
14 |
+
|
15 |
+
Args:
|
16 |
+
city: A string representing the city name, optionally with region or country (e.g., 'Бураево', 'Sydney').
|
17 |
+
|
18 |
+
Returns:
|
19 |
+
A string with the timezone (e.g., 'Europe/Moscow') or an error message.
|
20 |
+
"""
|
21 |
if not isinstance(city, str):
|
22 |
return f"Error: Expected a string for city, got: {type(city)}"
|
23 |
try:
|
|
|
38 |
|
39 |
@tool
|
40 |
def get_current_time_in_timezone(timezone: str) -> str:
|
41 |
+
"""Fetches the current local time in a specified timezone.
|
42 |
+
|
43 |
+
Args:
|
44 |
+
timezone: A string representing a valid timezone (e.g., 'Europe/Moscow').
|
45 |
+
|
46 |
+
Returns:
|
47 |
+
A string with the current time (e.g., '2025-05-03 12:00:00') or an error message.
|
48 |
+
"""
|
49 |
if not isinstance(timezone, str):
|
50 |
return f"Error: Expected a string for timezone, got: {type(timezone)}"
|
51 |
try:
|
|
|
57 |
|
58 |
@tool
|
59 |
def get_air_quality(city: str, lang: str = "en") -> str:
|
60 |
+
"""Fetches air quality data for a given city using OpenWeatherMap API.
|
61 |
+
|
62 |
+
Args:
|
63 |
+
city: A string representing the city name (e.g., 'Бирск', 'Sydney').
|
64 |
+
lang: A string representing the language code (e.g., 'en', 'ru').
|
65 |
+
|
66 |
+
Returns:
|
67 |
+
A string with air quality index (AQI) and pollutant levels or an error message.
|
68 |
+
"""
|
69 |
if not isinstance(city, str):
|
70 |
return f"Error: Expected a string for city, got: {type(city)}"
|
71 |
try:
|
|
|
118 |
|
119 |
@tool
|
120 |
def get_weather(city: str, lang: str = "en") -> str:
|
121 |
+
"""Fetches weather data for a given city using OpenWeatherMap API.
|
122 |
+
|
123 |
+
Args:
|
124 |
+
city: A string representing the city name (e.g., 'Бирск', 'Sydney').
|
125 |
+
lang: A string representing the language code (e.g., 'en', 'ru').
|
126 |
+
|
127 |
+
Returns:
|
128 |
+
A string with weather conditions, temperature, and humidity or an error message.
|
129 |
+
"""
|
130 |
if not isinstance(city, str):
|
131 |
return f"Error: Expected a string for city, got: {type(city)}"
|
132 |
try:
|
|
|
193 |
|
194 |
@tool
|
195 |
def final_answer(answer: str) -> str:
|
196 |
+
"""Returns the final answer.
|
197 |
+
|
198 |
+
Args:
|
199 |
+
answer: A string containing the final answer.
|
200 |
+
|
201 |
+
Returns:
|
202 |
+
The input answer string.
|
203 |
+
"""
|
204 |
return answer
|
205 |
|
206 |
try:
|