File size: 2,255 Bytes
afa88b1
 
 
 
 
 
8fe992b
afa88b1
9b5b26a
afa88b1
9b5b26a
afa88b1
 
 
 
 
 
 
 
8c01ffb
 
afa88b1
 
 
 
 
 
 
 
 
 
 
 
 
ae7a494
 
afa88b1
 
 
 
 
 
13d500a
8c01ffb
 
afa88b1
 
8c01ffb
afa88b1
 
9b5b26a
afa88b1
 
 
 
 
 
 
 
 
 
8fe992b
 
9b5b26a
afa88b1
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
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()