Spaces:
Sleeping
Sleeping
File size: 1,768 Bytes
da904c3 9b5b26a c19d193 da904c3 787c076 8fe992b da904c3 9b5b26a da904c3 9b5b26a 787c076 9b5b26a 787c076 9b5b26a 787c076 33f39df 9b5b26a da904c3 9b5b26a da904c3 9b5b26a da904c3 9b5b26a 8c01ffb db30d68 da904c3 6aae614 ae7a494 da904c3 861422e da904c3 8c01ffb 8fe992b da904c3 787c076 da904c3 8c01ffb da904c3 8fe992b da904c3 | 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 | from smolagents import CodeAgent, HfApiModel, load_tool, tool
import datetime
import pytz
import yaml
import uuid
import urllib.parse
from smolagents.agent_types import AgentImage
from tools.final_answer import FinalAnswerTool
from Gradio_UI import GradioUI
@tool
def wikipedia_url(query: str) -> str:
"""A tool that provides the URL to the wikipedia article for a query.
Args:
query: Topic to search on Wikipedia.
"""
try:
q = query.strip()
if not q:
return "Please provide a non-empty query."
return "https://en.wikipedia.org/wiki/Special:Search?search=" + urllib.parse.quote(q)
except Exception as e:
return f"Error fetching URL for query '{q}': {str(e)}"
@tool
def get_current_time_in_timezone(timezone: str) -> str:
"""Fetch the current local time in a specified timezone.
Args:
timezone: A valid timezone string (e.g., 'America/New_York').
"""
try:
tz = pytz.timezone(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)}"
# Model
model = HfApiModel(
max_tokens=2096,
temperature=0.5,
model_id="Qwen/Qwen2.5-Coder-32B-Instruct",
custom_role_conversions=None,
)
final_answer = FinalAnswerTool()
with open("prompts.yaml", "r") as stream:
prompt_templates = yaml.safe_load(stream)
agent = CodeAgent(
model=model,
tools=[
final_answer,
wikipedia_url,
get_current_time_in_timezone,
],
max_steps=6,
verbosity_level=1,
prompt_templates=prompt_templates,
)
GradioUI(agent).launch()
|