Spaces:
Sleeping
Sleeping
File size: 2,424 Bytes
7a0f83f 9b5b26a c19d193 6aae614 9b5b26a 7a0f83f 9b5b26a 7a0f83f 9b5b26a 7a0f83f 9b5b26a 7a0f83f 9b5b26a 7a0f83f 9b5b26a 7a0f83f 9b5b26a 7a0f83f 9b5b26a 7a0f83f 8c01ffb 7a0f83f 6aae614 e121372 7a0f83f 13d500a 8c01ffb 7a0f83f 9b5b26a 7a0f83f 8c01ffb 7a0f83f 861422e 7a0f83f 8c01ffb 8fe992b 7a0f83f 8c01ffb 861422e 8fe992b 7a0f83f 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 |
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
# Custom Inspiration Quote Generator Tool
@tool
def inspirational_quote_generator(theme: str, intensity: int) -> str:
"""Generates inspirational quotes based on theme and intensity level
Args:
theme: Main theme of the quote (e.g., 'success', 'perseverance')
intensity: Energy level of the quote (1-5 scale, 5 being most intense)
"""
intensity_levels = {
1: ["Progress gently", "Step by step", "Slow and steady"],
2: ["Keep trying", "Stay focused", "Gradual progress"],
3: ["Push forward", "Maintain your energy", "Stay determined"],
4: ["Be unstoppable", "Give it your all", "Leave nothing behind"],
5: ["Energy explosion!", "Reach the peak!", "Break all limits!"]
}
import random
selected_phrase = random.choice(intensity_levels.get(intensity, [theme]))
return f"Theme: {theme} ✨\nInspirational Quote: {selected_phrase}"
@tool
def get_current_time_in_timezone(timezone: str) -> str:
"""Retrieves current time for a specific timezone
Args:
timezone: Valid timezone identifier (e.g., 'Asia/Tehran')
"""
try:
tz = pytz.timezone(timezone)
local_time = datetime.datetime.now(tz).strftime("%Y-%m-%d %H:%M:%S")
return f"Current time in {timezone}: {local_time}"
except Exception as e:
return f"Error: {str(e)}"
# Initialize core components
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)
search_tool = DuckDuckGoSearchTool()
# Load prompt templates
with open("prompts.yaml", 'r') as stream:
prompt_templates = yaml.safe_load(stream)
# Configure the AI agent
agent = CodeAgent(
model=model,
tools=[
final_answer,
inspirational_quote_generator,
get_current_time_in_timezone,
image_generation_tool,
search_tool
],
max_steps=6,
verbosity_level=1,
prompt_templates=prompt_templates
)
# Launch the Gradio interface
GradioUI(agent).launch() |