Spaces:
Sleeping
Sleeping
File size: 2,564 Bytes
49c2e76 80494ac 49c2e76 936b841 49c2e76 8c01ffb 49c2e76 ae7a494 8c01ffb 49c2e76 8c01ffb 49c2e76 8fe992b 49c2e76 936b841 49c2e76 0774b2e 49c2e76 |
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 |
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() |