Spaces:
Sleeping
Sleeping
File size: 2,473 Bytes
9b5b26a 3bbdc2d d368e74 9b5b26a c19d193 d368e74 8fe992b 9b5b26a d368e74 9b5b26a d368e74 9b5b26a d368e74 3bbdc2d 9b5b26a 8c01ffb d368e74 6aae614 9b5b26a d368e74 8c01ffb 27598f8 f62f908 d368e74 27598f8 861422e 9b5b26a 8c01ffb 8fe992b 27598f8 d368e74 27598f8 8c01ffb 861422e 8fe992b 9b5b26a d368e74 |
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 |
import datetime
import random
import pytz
import yaml
from pyfiglet import figlet_format
from smolagents import (CodeAgent,
HfApiModel,
tool)
from Gradio_UI import GradioUI
from tools.final_answer import FinalAnswerTool
@tool
def convert_to_ascii(text: str) -> str:
"""A tool that converts text to ASCII art.
Args:
text: input text to be converted.
Returns:
A string in ascii format.
"""
if not text:
return "Sorry: No Text - No Art 😙"
font = random.choice(['ogre', 'roman', 'rozzo', 'colossal', 'big', 'doh', 'doom', 'isometric1', 'larry3d', 'nancyj', 'smisome1', 'speed', 'univers', 'weird'])
result = figlet_format(text, font=font)
return f"```\n{result}```"
@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:
# Create timezone object
tz = pytz.timezone(timezone)
# Get current time in that 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)}"
# visit_webpage = VisitWebpageTool()
# web_search = DuckDuckGoSearchTool()
final_answer = FinalAnswerTool()
# Import tool from Hub
# image_generation_tool = load_tool("agents-course/text-to-image", trust_remote_code=True)
model = HfApiModel(
max_tokens=2096,
temperature=0.5,
# model_id='https://wxknx1kg971u7k1n.us-east-1.aws.endpoints.huggingface.cloud',
# model_id='https://jc26mwg228mkj8dw.us-east-1.aws.endpoints.huggingface.cloud',
# model_id='https://pflgm2locj2t89co.us-east-1.aws.endpoints.huggingface.cloud',
custom_role_conversions=None,
)
with open("prompts.yaml", 'r') as stream:
prompt_templates = yaml.safe_load(stream)
agent = CodeAgent(
model=model,
tools=[
final_answer,
convert_to_ascii,
# get_current_time_in_timezone,
# image_generation_tool,
# visit_webpage,
# web_search
],
max_steps=6,
verbosity_level=1,
grammar=None,
planning_interval=None,
name=None,
description=None,
prompt_templates=prompt_templates
)
GradioUI(agent).launch()
|