da smolagents importa CodeAgent, DuckDuckGoSearchTool, HfApiModel, load_tool, strumento importa datetime importa richieste importa pytz importa yaml da tools.final_answer importa FinalAnswerTool da Gradio_UI importa GradioUI # Di seguito è riportato un esempio di uno strumento che non fa nulla. Stupiscici con la tua creatività! def my_custom_tool ( arg1: str , arg2: int )-> str : # è importante specificare il tipo di ritorno # Mantieni questo formato per la descrizione dello strumento / descrizione degli argomenti ma sentiti libero di modificare lo strumento """Uno strumento che non fa ancora nulla Argomenti: arg1: il primo argomento arg2: il secondo argomento """ ritorna "Quale magia costruirai?" def get_current_time_in_timezone ( timezone: str ) -> str : """Uno strumento che recupera l'ora locale corrente in un fuso orario specificato. Argomenti: fuso orario: una stringa che rappresenta un fuso orario valido (ad esempio, 'America/New_York'). """ prova : # Crea oggetto fuso orario tz = pytz.timezone(fuso orario) # Ottieni l'ora corrente in quel fuso orario local_time = datetime.datetime.now(tz).strftime( "%Y-%m-%d %H:%M:%S" ) return f"L'ora locale corrente in {timezone} è: {local_time} " except Exception as e: return f"Errore durante il recupero dell'ora per il fuso orario ' {timezone} ': { str (e)} " risposta_finale = StrumentoRispostaFinale() modello = HfApiModel( numero massimo di token = 2096 , temperatura= 0,5 , model_id= 'Qwen/Qwen2.5-Coder-32B-Istruzione' , custom_role_conversions= Nessuno , ) # Strumento di importazione dall'hub image_generation_tool = load_tool( "agents-course/text-to-image" , trust_remote_code= True ) con open ( "prompts.yaml" , 'r' ) come flusso: prompt_templates = yaml.safe_load(flusso) agente = CodeAgent( modello=modello, tools=[final_answer], # aggiungi i tuoi strumenti qui (non rimuovere final_answer) max_steps= 6 , livello_di_verbosità= 1 , grammatica= Nessuna , planning_interval= Nessuno , nome= Nessuno , descrizione= Nessuno , prompt_templates=template_prompt ) GradioUI(agente).launch()