tomerelmo commited on
Commit
0657802
·
verified ·
1 Parent(s): ae7a494

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +26 -7
app.py CHANGED
@@ -9,14 +9,33 @@ from Gradio_UI import GradioUI
9
 
10
  # Below is an example of a tool that does nothing. Amaze us with your creativity !
11
  @tool
12
- def my_custom_tool(arg1:str, arg2:int)-> str: #it's import to specify the return type
13
- #Keep this format for the description / args / args description but feel free to modify the tool
14
- """A tool that does nothing yet
 
15
  Args:
16
- arg1: the first argument
17
- arg2: the second argument
 
 
18
  """
19
- return "What magic will you build ?"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
20
 
21
  @tool
22
  def get_current_time_in_timezone(timezone: str) -> str:
@@ -55,7 +74,7 @@ with open("prompts.yaml", 'r') as stream:
55
 
56
  agent = CodeAgent(
57
  model=model,
58
- tools=[final_answer], ## add your tools here (don't remove final answer)
59
  max_steps=6,
60
  verbosity_level=1,
61
  grammar=None,
 
9
 
10
  # Below is an example of a tool that does nothing. Amaze us with your creativity !
11
  @tool
12
+ def get_recent_earthquakes(min_magnitude: float = 5.0) -> str:
13
+ """
14
+ Retrieves earthquake data from the USGS API for the past 24 hours, filtered by minimum magnitude, and returns the GeoJSON data as a string.
15
+
16
  Args:
17
+ min_magnitude: The minimum magnitude of earthquakes to retrieve (default: 5.0).
18
+
19
+ Returns:
20
+ A string containing the GeoJSON earthquake data, or an error message.
21
  """
22
+ import json
23
+ now_utc = datetime.datetime.utcnow()
24
+ end_time = now_utc.isoformat()
25
+ start_time = (now_utc - datetime.timedelta(days=1)).isoformat()
26
+ url = f"https://earthquake.usgs.gov/fdsnws/event/1/query?format=geojson&minmagnitude={min_magnitude}&starttime={start_time}&endtime={end_time}"
27
+
28
+ try:
29
+ response = requests.get(url)
30
+ response.raise_for_status() # Raise HTTPError for bad responses (4xx or 5xx)
31
+ data = response.json()
32
+ return json.dumps(data) # Return GeoJSON as a string
33
+ except requests.exceptions.RequestException as e:
34
+ return f"Error fetching earthquake data: {e}"
35
+ except json.JSONDecodeError as e:
36
+ return f"Error decoding JSON response: {e}. Response text: {response.text}"
37
+ except Exception as e:
38
+ return f"An unexpected error occured: {e}"
39
 
40
  @tool
41
  def get_current_time_in_timezone(timezone: str) -> str:
 
74
 
75
  agent = CodeAgent(
76
  model=model,
77
+ tools=[final_answer,DuckDuckGoSearchTool,get_recent_earthquakes,get_current_time_in_timezone], ## add your tools here (don't remove final answer)
78
  max_steps=6,
79
  verbosity_level=1,
80
  grammar=None,