ArslanFOX commited on
Commit
f35c968
·
verified ·
1 Parent(s): 556a315

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +9 -40
app.py CHANGED
@@ -1,7 +1,6 @@
1
  import os
2
  import datetime
3
  import pytz
4
- import random
5
  import requests
6
  from dotenv import load_dotenv
7
  from langdetect import detect
@@ -12,7 +11,7 @@ from smolagents import CodeAgent, HfApiModel, tool
12
 
13
  load_dotenv()
14
 
15
- # 🛠️ Tools
16
  @tool
17
  def get_timezone_by_city(city: str) -> str:
18
  """Get timezone for a city.
@@ -164,7 +163,7 @@ def get_weather(city: str, lang: str = "en") -> str:
164
  "humidity": "नमी",
165
  "conditions": {
166
  "Clear": "साफ ☀️", "Clouds": "बादल ☁️", "Rain": "बारिश 🌧",
167
- "Snow": "बर्फ ❄️", "Thunderstorm": "तूфान ⛈", "Drizzle": "बूंदाबांदी 🌦",
168
  "Mist": "कोहरा 🌫", "Haze": "धुंध 🌫"
169
  }
170
  }
@@ -204,8 +203,8 @@ model = HfApiModel(
204
  system_prompt = (
205
  "Ты помощник. Используй только функции: "
206
  "`get_timezone_by_city`, `get_current_time_in_timezone`, `get_air_quality`, "
207
- "`get_weather`, `final_answer`. Передавай `lang = variables['lang']`, "
208
- "и `dark_mode = variables['dark_mode']`. Ответ в формате:\n"
209
  "```py\nfinal_answer('...')\n```<end_code>\n"
210
  "❌ Без пояснений, markdown, JSON."
211
  )
@@ -239,52 +238,22 @@ agent = CodeAgent(
239
  verbosity_level=2
240
  )
241
 
242
- # 🦹‍♂️ Dark humor jokes
243
- def get_joke(lang):
244
- jokes = {
245
- "en": [
246
- "☠️ Fun fact: breathing is still optional here.",
247
- "💀 Perfect weather to regret going outside.",
248
- "🌫️ Fresh air? You wish.",
249
- ],
250
- "ru": [
251
- "💀 Воздух такой, что лёгкие можно сдавать в ломбард.",
252
- "🌫️ Отличная погода, чтобы выйти и пожалеть об этом.",
253
- "☠️ Дыши глубже — вдруг это в последний раз.",
254
- ],
255
- "hi": [
256
- "💀 बाहर की हवा से ज़हर बेहतर है।",
257
- "🌫️ प्रदूषण ही नया ऑक्सीजन है।",
258
- "☠️ साँस लेना है? सोच लो दो बार।",
259
- ]
260
- }
261
- return random.choice(jokes.get(lang, jokes["en"]))
262
-
263
- # 💬 Request processing
264
  def process_input(user_input):
265
  try:
266
  lang = detect(user_input)
267
  lang = lang if lang in ["en", "ru", "hi"] else "en"
268
- dark_mode = True # enable/disable humor
269
-
270
- agent.variables = {
271
- "lang": lang,
272
- "dark_mode": dark_mode
273
- }
274
-
275
- response = agent.run(user_input)
276
- if response and dark_mode:
277
- response += f"\n\n🦊 {get_joke(lang)}"
278
- return response or "❌ Агент не ответил."
279
  except Exception as e:
280
  return f"❌ Ошибка: {str(e)}"
281
 
282
- # 🚀 Run
283
  if __name__ == "__main__":
284
  gr.Interface(
285
  fn=process_input,
286
  inputs="text",
287
  outputs="text",
288
  title="🦊 Умный ассистент",
289
- description="Напиши город — узнаешь время, погоду, воздух и получишь комментарий 😏"
290
  ).launch()
 
1
  import os
2
  import datetime
3
  import pytz
 
4
  import requests
5
  from dotenv import load_dotenv
6
  from langdetect import detect
 
11
 
12
  load_dotenv()
13
 
14
+ # 🛠️ Инструменты
15
  @tool
16
  def get_timezone_by_city(city: str) -> str:
17
  """Get timezone for a city.
 
163
  "humidity": "नमी",
164
  "conditions": {
165
  "Clear": "साफ ☀️", "Clouds": "बादल ☁️", "Rain": "बारिश 🌧",
166
+ "Snow": "बर्फ ❄️", "Thunderstorm": "तूफान ⛈", "Drizzle": "बूंदाबांदी 🌦",
167
  "Mist": "कोहरा 🌫", "Haze": "धुंध 🌫"
168
  }
169
  }
 
203
  system_prompt = (
204
  "Ты помощник. Используй только функции: "
205
  "`get_timezone_by_city`, `get_current_time_in_timezone`, `get_air_quality`, "
206
+ "`get_weather`, `final_answer`. Передавай `lang = variables['lang']`. "
207
+ "Ответ в формате:\n"
208
  "```py\nfinal_answer('...')\n```<end_code>\n"
209
  "❌ Без пояснений, markdown, JSON."
210
  )
 
238
  verbosity_level=2
239
  )
240
 
241
+ # 💬 Обработка запроса
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
242
  def process_input(user_input):
243
  try:
244
  lang = detect(user_input)
245
  lang = lang if lang in ["en", "ru", "hi"] else "en"
246
+ agent.variables = {"lang": lang}
247
+ return agent.run(user_input) or "❌ Агент не ответил."
 
 
 
 
 
 
 
 
 
248
  except Exception as e:
249
  return f"❌ Ошибка: {str(e)}"
250
 
251
+ # 🚀 Запуск UI
252
  if __name__ == "__main__":
253
  gr.Interface(
254
  fn=process_input,
255
  inputs="text",
256
  outputs="text",
257
  title="🦊 Умный ассистент",
258
+ description="Напиши город — узнаешь время, погоду и качество воздуха"
259
  ).launch()