Creare un Agente con Strumenti

Agenti AI con Hugging Face smolagents

Adel Nehme

VP of AI Curriculum, DataCamp

Creare un Agente di Codice (Senza Strumenti)

from smolagents import CodeAgent, InferenceClientModel

agent = CodeAgent(
    tools=[],
    model=InferenceClientModel()
)

agent.run("Calcola la media della lista [23, 45, 67, 89]")
Esecuzione del codice:
  numbers = [23, 45, 67, 89]                                                                               
  average = sum(numbers) / len(numbers)                                                                            
  final_answer(average)                                                                                             
Risultato finale: 56.0
[Step 1: Durata 4.14 secondi| Token input: 1,900 | Token output: 109]
56.0
Agenti AI con Hugging Face smolagents

Perché Usare Strumenti con Agenti di Codice?

L'agente che abbiamo definito può già risolvere molti compiti usando:

  • Un modello LLM
  • Codice Python

Ma potrebbe anche aver bisogno di accedere a informazioni esterne:

  • Esempio: dati web in tempo reale

Ecco dove entrano in gioco gli strumenti!

Agenti AI con Hugging Face smolagents

Aggiungere uno Strumento di Ricerca Web

from smolagents import CodeAgent, InferenceClientModel, WebSearchTool

agent = CodeAgent(
    model=InferenceClientModel(),
    tools=[WebSearchTool()]
)
Agenti AI con Hugging Face smolagents

Agente di Codice con Output di Ricerca Web

agent.run("Qual è l'edificio più alto del mondo in questo momento?")
Esecuzione del codice:
  tallest_building_info = web_search("tallest building in the world 2023")                                
  print(tallest_building_info)                                                                                

# Risultati della ricerca omessi per brevità...

Esecuzione del codice: 
  final_answer("Burj Khalifa, Dubai, 828 metri")                                                              
Risultato finale: Burj Khalifa, Dubai, 828 metri
[Step 2: Durata 2.97 secondi| Token input: 5,078 | Token output: 153]
Burj Khalifa, Dubai, 828 metri
Agenti AI con Hugging Face smolagents

Strumenti Integrati (per Categoria)

Categoria Strumenti
Recupero Informazioni ApiWebSearchTool, DuckDuckGoSearchTool, GoogleSearchTool, WebSearchTool, WikipediaSearchTool
Interazione Web VisitWebpageTool
Esecuzione Codice PythonInterpreterTool
Interazione Utente UserInputTool
Elaborazione Voce SpeechToTextTool
Controllo Flusso FinalAnswerTool
1 https://huggingface.co/docs/smolagents/main/en/reference/default_tools
Agenti AI con Hugging Face smolagents

Strumenti dal Hugging Face Hub

Agenti AI con Hugging Face smolagents

Usare Strumenti della Community da Hugging Face

from smolagents import load_tool

# Carica strumento remoto da Hugging Face
model_downloads_tool = load_tool(
    repo_id="example-repo/hf-model-downloads",
    trust_remote_code=True
)

# Crea agente con strumenti remoti + integrati
agent = CodeAgent(
    tools=[model_downloads_tool, WebSearchTool()],
    model=InferenceClientModel()
)

agent.run("Trova il modello di classificazione immagini più scaricato su Hugging Face")
google/vit-base-patch16-224-in21k
Agenti AI con Hugging Face smolagents

Ayo berlatih!

Agenti AI con Hugging Face smolagents

Preparing Video For Download...