AbeJAbraham commited on
Commit
74e4251
·
verified ·
1 Parent(s): 5174686

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +41 -6
app.py CHANGED
@@ -9,14 +9,49 @@ 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 abe_tool(arg1:int, arg2:int)-> int: #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 accepts two numbers and outputs the sum of them
15
  Args:
16
- arg1: the first argument
17
- arg2: the second argument
18
  """
19
- return arg1 + arg2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
20
 
21
  @tool
22
  def get_current_time_in_timezone(timezone: str) -> str:
@@ -55,7 +90,7 @@ with open("prompts.yaml", 'r') as stream:
55
 
56
  agent = CodeAgent(
57
  model=model,
58
- tools=[final_answer,abe_tool, get_current_time_in_timezone], ## 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 scrape_wiki_fifa_winners(arg1:int, arg2:str)-> 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
+ """This tool is used to obtain information regarding FIFA World Cup winners for the male and female soccer competition
15
  Args:
16
+ arg1: this argument accepts an integer denoting the year
17
+ arg2: this argument accepts a string denoting if the competition to be checked is either for the Male or Female Soccer competition
18
  """
19
+
20
+ import requests
21
+ from bs4 import BeautifulSoup
22
+
23
+ def get_fifa_winners():
24
+ url = "https://en.wikipedia.org/wiki/List_of_FIFA_World_Cup_finals"
25
+ response = requests.get(url)
26
+ soup = BeautifulSoup(response.text, 'html.parser')
27
+
28
+ winners = {}
29
+ tables = soup.find_all("table", {"class": "wikitable"})
30
+
31
+ categories = ["Men", "Women"]
32
+
33
+ for idx, table in enumerate(tables[:2]): # First two tables (Men's and Women's WC)
34
+ rows = table.find_all("tr")[1:] # Skip header row
35
+ for row in rows:
36
+ cols = row.find_all("td")
37
+ if len(cols) >= 2:
38
+ year = cols[0].text.strip()
39
+ winner = cols[1].text.strip()
40
+ winners.setdefault(categories[idx], {})[year] = winner
41
+
42
+ return winners
43
+
44
+ if __name__ == "__main__":
45
+ if arg2 not in ["Men", "Women"]:
46
+ return f" Invalid Category"
47
+ fifa_winners = get_fifa_winners()
48
+ years=fifa_winners[arg2]
49
+ if arg1 not in years:
50
+ return f" Invalid Year"
51
+ #print(f"\n{category} World Cup Winners:")
52
+
53
+ return f" The winner of the {arg2}'s competition for the year {arg1} is {years[arg1]}"
54
+
55
 
56
  @tool
57
  def get_current_time_in_timezone(timezone: str) -> str:
 
90
 
91
  agent = CodeAgent(
92
  model=model,
93
+ tools=[final_answer,scrape_wiki_fifa_winners, get_current_time_in_timezone], ## add your tools here (don't remove final answer)
94
  max_steps=6,
95
  verbosity_level=1,
96
  grammar=None,