djomlax commited on
Commit
6dc505f
·
verified ·
1 Parent(s): ae7a494

Add nutrient_calculator tool

Browse files
Files changed (1) hide show
  1. app.py +32 -7
app.py CHANGED
@@ -9,14 +9,39 @@ 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 +80,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 nutrient_calculator(weight: float, activity_level: str) -> str:
13
+ """Calculates basic daily nutrient needs based on weight and activity level.
 
14
  Args:
15
+ weight: Weight in kilograms
16
+ activity_level: low/medium/high
17
  """
18
+ activity_multipliers = {
19
+ 'low': 1.2,
20
+ 'medium': 1.5,
21
+ 'high': 1.8
22
+ }
23
+
24
+ if activity_level.lower() not in activity_multipliers:
25
+ return "Invalid activity level. Use 'low', 'medium', or 'high'."
26
+
27
+ if weight <= 0 or weight > 300:
28
+ return "Please enter a valid weight between 0 and 300 kg."
29
+
30
+ multiplier = activity_multipliers[activity_level.lower()]
31
+
32
+ # Basic calculations
33
+ calories = round(weight * 24 * multiplier)
34
+ protein = round(weight * 1.8) # 1.8g per kg
35
+ carbs = round(calories * 0.45 / 4) # 45% of calories from carbs
36
+ fats = round(calories * 0.25 / 9) # 25% of calories from fats
37
+ water = round(weight * 0.033, 1) # 33ml per kg
38
+
39
+ return f"""Daily nutrient needs:
40
+ Calories: {calories} kcal
41
+ Protein: {protein}g
42
+ Carbohydrates: {carbs}g
43
+ Fats: {fats}g
44
+ Water: {water} liters"""
45
 
46
  @tool
47
  def get_current_time_in_timezone(timezone: str) -> str:
 
80
 
81
  agent = CodeAgent(
82
  model=model,
83
+ tools=[final_answer, nutrient_calculator], ## add your tools here (don't remove final answer)
84
  max_steps=6,
85
  verbosity_level=1,
86
  grammar=None,