File size: 1,854 Bytes
f459fb0
c19d193
6aae614
9b5b26a
f459fb0
 
9b5b26a
f459fb0
 
9b5b26a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8c01ffb
f459fb0
6aae614
e121372
f459fb0
 
 
 
13d500a
8c01ffb
f459fb0
9b5b26a
8c01ffb
f459fb0
861422e
 
f459fb0
 
8c01ffb
8fe992b
f459fb0
 
 
 
 
 
8c01ffb
 
 
 
 
 
861422e
8fe992b
 
f459fb0
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
from smolagents import CodeAgent, HfApiModel, load_tool
import yaml
from tools.final_answer import FinalAnswerTool
from Gradio_UI import GradioUI
from tools.visit_webpage import VisitWebpageTool
from tools.web_search import DuckDuckGoSearchTool

# Define custom tools
def my_custom_tool(arg1: str, arg2: int) -> str:
    """A tool that does nothing yet 
    Args:
        arg1: the first argument
        arg2: the second argument
    """
    return "What magic will you build ?"

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:
        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)}"

# Configure the model
final_answer = FinalAnswerTool()
model = HfApiModel(
    max_tokens=2096,
    temperature=0.5,
    model_id='Qwen/Qwen2.5-Coder-32B-Instruct',
    custom_role_conversions=None,
)

# Load additional tools
image_generation_tool = load_tool("agents-course/text-to-image", trust_remote_code=True)

# Load system prompt
with open("prompts.yaml", 'r') as stream:
    prompt_templates = yaml.safe_load(stream)

# Create the agent
agent = CodeAgent(
    model=model,
    tools=[
        final_answer,
        image_generation_tool,
        VisitWebpageTool(),
        DuckDuckGoSearchTool()
    ],  # Add your tools here
    max_steps=6,
    verbosity_level=1,
    grammar=None,
    planning_interval=None,
    name=None,
    description=None,
    prompt_templates=prompt_templates
)

# Launch the agent
GradioUI(agent).launch()