





Deep Research build By Smolagents FREE
Powered By Smolagents
Codice Ai Smolagents | FAST&FREE
Realizzato da Together AI e LlamaCoder
smolagents and tools gallery
best smolagents in huggingface
Cosa sono gli agenti?
Gli agenti AI sono programmi in cui gli output LLM controllano il flusso di lavoro.
La tabella illustra come l'agenzia vari da un sistema all'altro:
Livello dell'agenzia | Descrizione | Come si chiama | Esempio di modello |
---|---|---|---|
☆☆☆ | L'output del LLM non ha alcun impatto sul flusso del programma | Processore semplice | process_llm_output(llm_response) |
★☆☆ | L'uscita LLM determina il flusso di controllo di base | Router | if llm_decision(): percorso_a() else: percorso_b() |
★★☆ | L'uscita LLM determina l'esecuzione della funzione | Chiamata allo strumento | run_function(llm_chosen_tool, llm_chosen_args) |
★★★ | L'uscita LLM controlla l'iterazione e la continuazione del programma | Agente multi-fase | while llm_should_continue(): execute_next_step() |
★★★ | Un flusso di lavoro agenziale può avviare un altro flusso di lavoro agenziale | Multi-agente | se llm_trigger(): execute_agent() |
Caratteristiche di SmolAgents
🤗 Smolagents è un framework di agenti AI minimalista sviluppato dal team di Hugging Face, realizzato per consentire agli sviluppatori di distribuire agenti robusti con poche righe di codice. Grazie alla semplicità e all'efficienza, smolagents consente ai modelli linguistici di grandi dimensioni (LLM) di interagire senza problemi con il mondo reale.
✨ Semplicità
Base di codice compatta: Con circa 1.000 righe di codice principale in agenti.py
smolagents riduce al minimo le astrazioni per uno sviluppo semplice.
Facile da usare
Gli sviluppatori possono definire rapidamente gli agenti, fornire gli strumenti necessari ed eseguirli immediatamente senza complicate configurazioni.
Codice Agenti
smolagents si concentra su codice agentiin cui gli agenti scrivono ed eseguono snippet di codice Python per eseguire azioni, invece di generare azioni come JSON o blob di testo.
Alta efficienza
Rispetto ai metodi standard di chiamata degli strumenti, gli agenti di codice offrono una maggiore efficienza e precisione, riducendo i passaggi e le chiamate LLM di circa 30% e ottenendo prestazioni superiori su benchmark complessi.
Esecuzione sicura
Per garantire un'esecuzione sicura del codice, smolagents supporta l'esecuzione del codice in ambienti sandbox, come ad esempio E2B, fornendo uno spazio di esecuzione protetto e isolato.
Vari LLM
smolagents si integra facilmente con qualsiasi modello linguistico di grandi dimensioni, compresi i modelli ospitati su Hugging Face Hub tramite Transformers, nonché i modelli di OpenAI, Anthropic e altri attraverso l'integrazione con LiteLLM.

SmolAgents :Integrazione con Hugging Face Hub
Strumenti di condivisione e caricamento: La profonda integrazione con Hugging Face Hub consente agli sviluppatori di condividere e importare facilmente gli strumenti, favorendo la collaborazione e la condivisione all'interno della comunità.
Crescita dell'ecosistema: Sfruttando le capacità dell'Hub, smolagents si espande continuamente con ulteriori funzionalità e strumenti, offrendo un potenziale di sviluppo illimitato.
Supporto per gli strumenti tradizionali che chiamano gli agenti
Varietà di scelte: Oltre agli agenti di codice, smolagents supporta anche gli agenti tradizionali. agenti di chiamata degli strumenti, dove le azioni sono scritte come JSON o blocchi di testo, adatti a scenari e requisiti specifici.


Motivi per optare per Codice smolAgents
Compostezza superiore: Il codice supporta naturalmente la nidificazione e il riutilizzo delle funzioni, consentendo l'espressione di una logica complessa.
Gestione efficiente degli oggetti: Rispetto a JSON, il codice semplifica la gestione e il trasferimento degli oggetti.
Massima flessibilità: Il codice può rappresentare qualsiasi operazione che un computer può eseguire, offrendo un'immensa versatilità.
Ampi dati di formazione: I LLM sono stati formati su grandi quantità di codice di alta qualità, migliorando la loro capacità di generare e comprendere il codice.
Vantaggi in termini di prestazioni di smolagents
In diversi benchmark, gli smolagent che utilizzano modelli open-source hanno eguagliato le prestazioni degli agenti che utilizzano modelli proprietari. Grazie all'efficienza degli agenti di codice e ai continui progressi dei modelli open-source, gli sviluppatori possono costruire potenti sistemi di agenti senza affidarsi a servizi closed-source.

Esempio di applicazione degli SmolAgent
In Smolagents, gli agenti sono incapsulati in classi che consentono loro di eseguire compiti specifici. Ad esempio, un agente Agente gestito
possono essere creati per gestire varie attività utilizzando diversi tipi di agenti. Ecco un esempio semplificato di come si possono implementare due agenti, uno per la ricerca sul Web e l'altro per la generazione di immagini. Ecco come creare uno strumento personalizzato che ottiene gli orari di viaggio da Google Maps e come utilizzarlo in un agente di pianificazione dei viaggi:
from typing import Optional
from smolagents import CodeAgent, HfApiModel, tool
@tool
def get_travel_duration(start_location: str, destination_location: str, transportation_mode: Optional[str] = None) -> str:
"""Gets the travel time between two places.
Args:
start_location: the place from which you start your ride
destination_location: the place of arrival
transportation_mode: The transportation mode, in 'driving', 'walking', 'bicycling', or 'transit'. Defaults to 'driving'.
"""
import os # All imports are placed within the function, to allow for sharing to Hub.
import googlemaps
from datetime import datetime
gmaps = googlemaps.Client(os.getenv("GMAPS_API_KEY"))
if transportation_mode is None:
transportation_mode = "driving"
try:
directions_result = gmaps.directions(
start_location,
destination_location,
mode=transportation_mode,
departure_time=datetime(2025, 6, 6, 11, 0), # At 11, date far in the future
)
if len(directions_result) == 0:
return "No way found between these places with the required transportation mode."
return directions_result[0]["legs"][0]["duration"]["text"]
except Exception as e:
print(e)
return e
agent = CodeAgent(tools=[get_travel_duration], model=HfApiModel(), additional_authorized_imports=["datetime"])
agent.run("Can you give me a nice one-day trip around Paris with a few locations and the times? Could be in the city or outside, but should fit in one day. I'm travelling only with a rented bicycle.")
Dopo alcune fasi di raccolta dei tempi di viaggio e di esecuzione dei calcoli, l'agente restituisce questa proposta finale: Itinerario di un giorno per Parigi in bicicletta:
1. Partenza dalla Torre Eiffel alle 9:00.
2. Visita alla Torre Eiffel fino alle 10:30.
3. Viaggio verso la Cattedrale di Notre-Dame alle 10:46.
4. Visita alla Cattedrale di Notre-Dame fino alle 12:16.
5. Viaggio a Montmartre alle 12:41.
6. Visita di Montmartre fino alle 14:11.
7. Viaggio verso il Jardin du Luxembourg alle 14:33.
8. Visita al Jardin du Luxembourg fino alle 16.03.
9. Viaggio al Museo del Louvre alle 16:12.
10. Visita al Museo del Louvre fino alle 17:42.
11. Pausa pranzo fino alle 18:12.
12. Orario di fine previsto: 18:12.
Dopo aver costruito uno strumento, condividerlo nell'Hub è semplicissimo:
get_travel_duration.push_to_hub("{your_username}/get-travel-duration-tool")
Risorse di SmolAgents
Che cosa si dice di SmolAgents su X.com?
La nuova libreria smolagents rilasciata oggi da @huggingface sembra davvero impressionante.
- Ben Klieger (@benklieger) 31 dicembre 2024
Combinando la semplicità (il file principale è di sole ~1000 righe!) e la funzionalità di benchmark (supportando l'approccio code-first rispetto alla chiamata diretta di funzioni) 🔥
Un tutorial (🧵) pic.twitter.com/sKuakggpcM
Ho trascorso il mio fine settimana imparando a conoscere i flussi di lavoro agici e a giocare con la libreria smolagents rilasciata da @huggingface. Con questo, ho costruito un agente assistente di viaggio piuttosto interessante (l'ho chiamato Tracy).
- Arnav Jaitly (@arnitly) 6 gennaio 2025
Uso CodeLlama-34b-Instruct-hf per i miei agenti LLM nel backend per fare un... pic.twitter.com/e7GHA7rVlk
OK, @huggingface Direi che l'ha spuntata con gli smolagent e la loro definizione di agente.
- Gerred (@devgerred) 31 dicembre 2024
Forse i clienti hanno solo bisogno di essere una parte negoziale e noi dobbiamo continuare a investire negli stessi LLM. Mi piace l'immediata chiarezza di questo concetto. pic.twitter.com/sD6qMqpzgs
smolagents è ora disponibile in ai-gradio
- AK (@_akhaliq) 31 dicembre 2024
pip installare ai-gradio[smolagents]==0.2.1
allora è sufficiente fare
importare gradio come gr
importare ai_gradio
gr.load( name='smolagents:meta-llama/Llama-3.1-8B-Instruct',
src=ai_gradio.registry).launch() pic.twitter.com/r7vfhrW36l
Hugging Face ha presentato Smolagents, una libreria progettata per costruire sistemi agici utilizzando modelli linguistici di grandi dimensioni (LLM).
- Mazhar Choudhry (@mazrnow) 5 gennaio 2025
A differenza dei sistemi tradizionali basati...
Mostra di più https://t.co/EBEWPBEwAj pic.twitter.com/h2xswDLAxg
smolagents - costruisci i tuoi agenti simili a Devin in 3 righe di codice con la ricerca! 🔥 pic.twitter.com/PyhbFWN5w
- Vaibhav (VB) Srivastav (@reach_vb) 29 dicembre 2024
Agente 元年来势汹汹啊!一周猛涨 3.9K Star? ⚡️ @huggingface 正式发布并开源 smolagents!🔥
- Tom Huang (@tuturetom) 8 gennaio 2025
3 行代码启动一个 Agente 完成复杂工作,支持 40+ LLM,支持无缝连接 Huggingface hub 下载一些自定义模型
不仅是一个 Agente 框架,还是一个将 HF 所有有价值的大小模型作为工具融入 Agente 的伟大尝试 pic.twitter.com/wJZ9ZL8nRT