Spaces:
Runtime error
Runtime error
File size: 2,589 Bytes
3871eb0 9b5b26a c19d193 6aae614 3871eb0 8fe992b 9b5b26a 3871eb0 9b5b26a 3871eb0 53bc83a 3871eb0 9b5b26a 3871eb0 9b5b26a ff883b6 3871eb0 ff883b6 3871eb0 ff883b6 3871eb0 ff883b6 3871eb0 ff883b6 3871eb0 8c01ffb 6aae614 e121372 bf6d34c 3871eb0 fe328e0 13d500a 8c01ffb 3871eb0 8c01ffb 861422e 9b5b26a 8c01ffb 8fe992b 3871eb0 8c01ffb 861422e 8fe992b 9b5b26a 8c01ffb |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
from smolagents import CodeAgent,DuckDuckGoSearchTool, HfApiModel,load_tool,tool
import datetime
import requests
import pytz
import yaml
from tools.final_answer import FinalAnswerTool
import traceback
from Gradio_UI import GradioUI
@tool
def nse_stock_price_tool(stock_ticker:str)-> str:
"""A tool that is used to retrieve the latest closing price of a stock based on the stock ticker from the Indian Stock Exchange (NSE).
example: 'RELIANCE.NS'
Args:
stock_ticker: The stock ticker/symbol for the stock listed in NSE. The exact string input needs to be provided to the function.
Returns:
result_string: A string containing the stock_ticker along with the amount in Rupees.
example: "RELIANCE NS: 1237.22 Rupees."
"""
try:
import math
import yfinance as yf
stock_symbol = stock_ticker
data = yf.download(tickers=stock_symbol, period='1d', interval='1m')
if len(data):
latest_data = data.tail(1)
latest_price = latest_data['Close'].values[0]
return (f"{stock_symbol}: {round(latest_price, 2)} Rupees.")
else:
return "INVALID TICKER/STOCK"
except Exception as e:
traceback.print_exc()
return "INVALID REQUEST"
@tool
def get_current_time_in_timezone(timezone: str) -> str:
"""A tool that fetches the current local time in a specified timezone.
Args:
timezone: A string representing a valid timezone (e.g., 'America/New_York').
"""
try:
# Create timezone object
tz = pytz.timezone(timezone)
# Get current time in that timezone
local_time = datetime.datetime.now(tz).strftime("%Y-%m-%d %H:%M:%S")
return f"The current local time in {timezone} is: {local_time}"
except Exception as e:
return f"Error fetching time for timezone '{timezone}': {str(e)}"
final_answer = FinalAnswerTool()
model = HfApiModel(
max_tokens=2096,
temperature=0.5,
model_id='Qwen/Qwen2.5-Coder-32B-Instruct',
custom_role_conversions=None,
)
# Import tool from Hub
image_generation_tool = load_tool("agents-course/text-to-image", trust_remote_code=True)
with open("prompts.yaml", 'r') as stream:
prompt_templates = yaml.safe_load(stream)
agent = CodeAgent(
model=model,
tools=[nse_stock_price_tool, final_answer], ## add your tools here (don't remove final answer)
max_steps=6,
verbosity_level=1,
grammar=None,
planning_interval=None,
name=None,
description=None,
prompt_templates=prompt_templates
)
GradioUI(agent).launch() |