Agathe1489 commited on
Commit
d2f7a94
·
verified ·
1 Parent(s): e8d4494

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +21 -9
app.py CHANGED
@@ -7,16 +7,28 @@ 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_cutom_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:
 
7
 
8
  from Gradio_UI import GradioUI
9
 
10
+ # Tool to retrieve stock price from Yahoo Finance
11
+ from smolagents.tools import tool
12
+ import requests
13
+ from bs4 import BeautifulSoup
14
+
15
  @tool
16
+ def get_stock_price(ticker: str) -> str:
17
+ """Fetches the latest stock price for a given ticker symbol from Yahoo Finance."""
18
+ url = f"https://finance.yahoo.com/quote/{ticker}"
19
+ headers = {"User-Agent": "Mozilla/5.0"} # Avoid bot detection
20
+ response = requests.get(url, headers=headers)
21
+
22
+ if response.status_code != 200:
23
+ return f"Failed to fetch data for {ticker}"
24
+
25
+ soup = BeautifulSoup(response.text, "html.parser")
26
+ price_span = soup.find("fin-streamer", {"data-field": "regularMarketPrice"})
27
+
28
+ if price_span:
29
+ return f"The current price of {ticker} is ${price_span.text}"
30
+ return f"Could not find price for {ticker}"
31
+
32
 
33
  @tool
34
  def get_current_time_in_timezone(timezone: str) -> str: