File size: 1,638 Bytes
f2e0e40
9b5b26a
 
 
c19d193
6aae614
8fe992b
9b5b26a
 
ee8c39e
990b074
e926146
 
f2e0e40
e926146
f2e0e40
ee8c39e
 
9b5b26a
ee8c39e
9b5b26a
e926146
ee8c39e
9b5b26a
 
ee8c39e
 
9b5b26a
 
8c01ffb
6aae614
ae7a494
f2e0e40
ee8c39e
 
 
 
13d500a
8c01ffb
ee8c39e
8c01ffb
ee8c39e
861422e
ee8c39e
8c01ffb
ee8c39e
57fbf63
8c01ffb
 
ee8c39e
 
5914029
8fe992b
 
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
from smolagents import CodeAgent, DuckDuckGoSearchTool, HfApiModel, load_tool, tool
import datetime
import requests
import pytz
import yaml
from tools.final_answer import FinalAnswerTool

from Gradio_UI import GradioUI

@tool 
def text_to_image(prompt: str) -> int:
    '''A tool that creates a high quality image from the given text.
    Args:
        prompt: a string that needs to be converted to text (e.g., cool hedgehog)
    '''
    return image_generation_tool(prompt)
    
@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:
        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)}"

final_answer = FinalAnswerTool()

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

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=[final_answer,get_current_time_in_timezone,text_to_image],
    max_steps=6,
    verbosity_level=1,
    grammar=None, 
    description=None, 
    prompt_templates=prompt_templates,
)

GradioUI(agent).launch()