Spaces:
Running
Running
File size: 2,289 Bytes
2cefb06 9b5b26a c19d193 6aae614 9b5b26a 2cefb06 0b67d6c f273544 0b67d6c f273544 0b67d6c 1b3edd6 f273544 1b3edd6 f273544 1b3edd6 f273544 0b67d6c 1b3edd6 9b5b26a ca57e9e 9b5b26a 8c01ffb ca57e9e 6aae614 ae7a494 e121372 2cefb06 13d500a 8c01ffb 9b5b26a 2cefb06 8c01ffb 2cefb06 861422e 2cefb06 8c01ffb 8fe992b 2cefb06 d19f8a4 1c36231 2cefb06 8c01ffb 861422e 8fe992b 2cefb06 |
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 81 82 83 84 85 86 87 88 89 90 91 92 93 94 |
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 translate_english_to_french(text: str) -> str:
"""
Translates English text into French.
Args:
text (str): English text to be translated.
Returns:
str: The translated French text.
"""
local_model = HfApiModel(
model_id="Qwen/Qwen2.5-Coder-32B-Instruct",
max_tokens=256,
temperature=0.2,
)
response = local_model(
f"Translate the following English text into French. "
f"Output only the translation:\n{text}"
)
return response
@tool
def get_current_time_in_timezone(timezone: str) -> str:
"""
Fetches the current local time for a given timezone.
Args:
timezone (str): A valid IANA timezone string
(for example: "America/New_York", "Europe/Paris", "Africa/Lagos").
Returns:
str: The current local time in the specified timezone.
"""
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,
)
# 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)
# 🔴 🔴 🔴 THIS IS THE ONLY CHANGE 🔴 🔴 🔴
agent = CodeAgent(
model=model,
tools=[
final_answer, # REQUIRED – do not remove
translate_english_to_french,
get_current_time_in_timezone,
image_generation_tool # 🔴 ADDED HERE
],
max_steps=6,
verbosity_level=1,
grammar=None,
planning_interval=None,
name=None,
description=None,
prompt_templates=prompt_templates
)
GradioUI(agent).launch()
|