Tahamw1 commited on
Commit
c70948e
·
verified ·
1 Parent(s): ae7a494

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +20 -8
app.py CHANGED
@@ -4,19 +4,31 @@ 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 +67,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,
 
4
  import pytz
5
  import yaml
6
  from tools.final_answer import FinalAnswerTool
7
+ import yfinance as yf
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 get_stock_price(stock_symbol: str) -> str:
13
+ """
14
+ A tool that retrieves the current stock price for a given stock symbol using yfinance.
15
+
16
  Args:
17
+ stock_symbol: The ticker symbol of the stock (e.g., 'AAPL' for Apple, 'GOOGL' for Alphabet).
18
+
19
+ Returns:
20
+ A string indicating the current stock price for the specified symbol, or an error message if the price could not be retrieved.
21
  """
22
+ try:
23
+ stock = yf.Ticker(stock_symbol)
24
+ # Fetch the current market price from the ticker's info
25
+ price = stock.info.get('regularMarketPrice')
26
+ if price is None:
27
+ return f"Could not retrieve the stock price for {stock_symbol}. Please check the symbol and try again."
28
+ return f"The current stock price for {stock_symbol} is: {price}"
29
+ except Exception as e:
30
+ return f"Error retrieving stock price for {stock_symbol}: {str(e)}"
31
+
32
 
33
  @tool
34
  def get_current_time_in_timezone(timezone: str) -> str:
 
67
 
68
  agent = CodeAgent(
69
  model=model,
70
+ tools=[final_answer, get_stock_price], ## add your tools here (don't remove final answer)
71
  max_steps=6,
72
  verbosity_level=1,
73
  grammar=None,