Spaces:
Runtime error
Runtime error
File size: 2,177 Bytes
c5278fe 9b5b26a c19d193 6aae614 8fe992b 9b5b26a c5278fe 9facfac c07dfee 0af9786 c07dfee 9facfac c07dfee 9facfac 9b5b26a c5278fe 1d50998 0af9786 9b5b26a 8c01ffb c5278fe 6aae614 ae7a494 c5278fe e121372 c5278fe 13d500a 8c01ffb c5278fe 9b5b26a 8c01ffb c5278fe 861422e c5278fe 8c01ffb 8fe992b c5278fe 8c01ffb 861422e 8fe992b c5278fe | 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 | # [FICHIER: main.py] (ou un autre nom selon ton organisation)
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 name_generator(mom: str, dad: str) -> list:
"""
Generate baby names based on parental preferences.
Args:
mom (str): The mother's preferences for the name.
dad (str): The father's preferences for the name.
Returns:
list: A list of baby names.
"""
return []
@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)}"
# Instanciation du FinalAnswerTool
final_answer = FinalAnswerTool()
# Instanciation du modèle
model = HfApiModel(
max_tokens=2096,
temperature=0.5,
model_id='Qwen/Qwen2.5-Coder-32B-Instruct', # il est possible que ce modèle soit parfois surchargé
custom_role_conversions=None,
)
# Tool d'image
image_generation_tool = load_tool("agents-course/text-to-image", trust_remote_code=True)
# Chargement de prompts.yaml
with open("prompts.yaml", 'r') as stream:
prompt_templates = yaml.safe_load(stream)
# Création de l'agent : on ajoute tous les outils utiles dans la liste
agent = CodeAgent(
model=model,
tools=[
final_answer,
name_generator,
get_current_time_in_timezone,
image_generation_tool
],
max_steps=6,
verbosity_level=1,
grammar=None,
planning_interval=None,
name=None,
description=None,
prompt_templates=prompt_templates
)
GradioUI(agent).launch()
|