Adding my tool and updated tools

#696
Files changed (1) hide show
  1. app.py +14 -7
app.py CHANGED
@@ -9,14 +9,21 @@ 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 +62,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 joke_fetcher(category: str, count: int) -> str:
13
+ """Fetches jokes from the internet based on category and count.
 
14
  Args:
15
+ category: The category of joke - options are Programming, Misc, Pun, Spooky, Christmas, Dark
16
+ count: The number of jokes to fetch, between 1 and 5
17
  """
18
+ url = f"https://v2.jokeapi.dev/joke/{category}?type=single&amount={count}"
19
+ response = requests.get(url)
20
+ data = response.json()
21
+
22
+ if count == 1:
23
+ return data.get("joke", "Couldn't fetch a joke!")
24
+ else:
25
+ jokes = data.get("jokes", [])
26
+ return "\n\n".join([j["joke"] for j in jokes])
27
 
28
  @tool
29
  def get_current_time_in_timezone(timezone: str) -> str:
 
62
 
63
  agent = CodeAgent(
64
  model=model,
65
+ tools=[final_answer, get_current_time_in_timezone, DuckDuckGoSearchTool(), joke_fetcher],
66
  max_steps=6,
67
  verbosity_level=1,
68
  grammar=None,