nordicsushi commited on
Commit
4c6aec1
·
verified ·
1 Parent(s): ba9c9dc

add calculator

Browse files
Files changed (1) hide show
  1. app.py +14 -6
app.py CHANGED
@@ -4,19 +4,27 @@ import requests
4
  import pytz
5
  import yaml
6
  from tools.final_answer import FinalAnswerTool
 
 
7
 
8
  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 +63,7 @@ with open("prompts.yaml", 'r') as stream:
55
 
56
  agent = CodeAgent(
57
  model=model,
58
- tools=[final_answer, get_current_time_in_timezone, DuckDuckGoSearchTool()], ## add your tools here (don't remove final answer)
59
  max_steps=6,
60
  verbosity_level=1,
61
  grammar=None,
 
4
  import pytz
5
  import yaml
6
  from tools.final_answer import FinalAnswerTool
7
+ from typing import Literal
8
+ import math
9
 
10
  from Gradio_UI import GradioUI
11
 
12
  # Below is an example of a tool that does nothing. Amaze us with your creativity !
13
  @tool
14
+ def crazy_calculator(*args: float, operation: Literal["sum", "mul"])-> float: #it's import to specify the return type
15
  #Keep this format for the description / args / args description but feel free to modify the tool
16
+ """A calculator that is designed for sum and multiply numbers.
17
  Args:
18
+ *args: a seriers of float
19
+ operation: the operation to be conducted where sum meaning sum up all items, mul meaning multiply all items.
20
  """
21
+ match operation:
22
+ case "sum":
23
+ result = sum(args)
24
+ case "mul":
25
+ result = math.prod(args)
26
+
27
+ return result
28
 
29
  @tool
30
  def get_current_time_in_timezone(timezone: str) -> str:
 
63
 
64
  agent = CodeAgent(
65
  model=model,
66
+ tools=[final_answer, get_current_time_in_timezone, DuckDuckGoSearchTool(), crazy_calculator], ## add your tools here (don't remove final answer)
67
  max_steps=6,
68
  verbosity_level=1,
69
  grammar=None,