Superbrida's picture
Update app.py
49c2e76 verified
raw
history blame
2.56 kB
da smolagents importa CodeAgent,DuckDuckGoSearchTool,HfApiModel,load_tool,tool
importa data e ora
richieste di importazione
importare pytz
importare yaml
da strumenti.final_answer importa FinalAnswerTool
da Gradio_UI importa GradioUI
# Di seguito un esempio di uno strumento che non fa nulla. Stupiscici con la tua creatività!
@attrezzo
def my_custom_tool ( arg1: str , arg2: int )-> str : #è importante specificare il tipo di ritorno
#Mantieni questo formato per la descrizione / argomenti / descrizione 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?"
@attrezzo
def get_current_time_in_timezone ( fuso orario: 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').
"""
Tentativo :
# Crea oggetto fuso orario
tz = pytz.timezone(fuso orario)
# Ottieni l'ora corrente in quel fuso orario
ora_locale = datetime.datetime.now(tz).strftime( "%Y-%m-%d %H:%M:%S" )
restituisci f"L'ora locale corrente in {timezone} è: {local_time} "
eccetto Eccezione come e:
restituisci f"Errore durante il recupero dell'ora per il fuso orario ' {timezone} ': { str (e)} "
risposta_finale = StrumentoRispostaFinale()
# Se l'agente non risponde, il modello è sovraccarico, utilizzare un altro modello o il seguente Hugging Face Endpoint che contenga anche il codificatore qwen2.5:
# model_id='https://pflgm2locj2t89co.us-east-1.aws.endpoints.huggingface.cloud'
modello = HfApiModel(
numero massimo di token = 2096 ,
temperatura= 0,5 ,
model_id= 'Qwen/Qwen2.5-Coder-32B-Instruct' , # è possibile che questo modello sia sovraccarico
custom_role_conversions= Nessuno ,
)
# Strumento di importazione dall'hub
image_generation_tool = load_tool( "agenti-corso/testo-in-immagine" , 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 la risposta finale)
max_passi= 6 ,
livello_di_verbosità= 1 ,
grammatica= Nessuna ,
planning_interval= Nessuno ,
nome= Nessuno ,
descrizione= Nessuno ,
prompt_templates=template_prompt
)
GradioUI(agente).launch()