





Deep Research build By Smolagents FREE
Powered By Smolagents
Ai code Smolagents | FAST&FREE
Réalisé par Together AI et LlamaCoder
smolagents and tools gallery
best smolagents in huggingface
Qu'est-ce qu'un agent ?
Les agents d'intelligence artificielle sont les programmes dans lesquels les résultats du programme d'éducation et de formation tout au long de la vie contrôlent le flux de travail.
Le tableau montre comment l'agence varie d'un système à l'autre :
Niveau de l'agence | Description | Comment cela s'appelle-t-il ? | Exemple de modèle |
---|---|---|---|
☆☆☆ | Les résultats du LLM n'ont pas d'impact sur le déroulement du programme | Processeur simple | process_llm_output(llm_response) |
★☆☆ | La sortie LLM détermine le flux de contrôle de base | Routeur | if llm_decision() : path_a() else : path_b() |
★★☆ | La sortie LLM détermine l'exécution de la fonction | Appel d'outil | run_function(llm_chosen_tool, llm_chosen_args) |
★★★ | La sortie LLM contrôle l'itération et la poursuite du programme | Agent en plusieurs étapes | while llm_should_continue() : execute_next_step() |
★★★ | Un flux de travail agentique peut démarrer un autre flux de travail agentique. | Multi-agents | if llm_trigger() : execute_agent() |
Fonctionnalité de SmolAgents
🤗 Smolagents est un cadre minimaliste d'agent d'IA développé par l'équipe Hugging Face, conçu pour permettre aux développeurs de déployer des agents robustes avec seulement quelques lignes de code. En embrassant la simplicité et l'efficacité, smolagents permet aux grands modèles de langage (LLM) d'interagir de manière transparente avec le monde réel.
Simplicité
Base de code compacte: Avec environ 1 000 lignes de code de base en agents.py
smolagents réduit les abstractions au minimum pour faciliter le développement.
Convivialité
Les développeurs peuvent rapidement définir des agents, fournir les outils nécessaires et les exécuter immédiatement sans configuration complexe.
Agents du code
smolagents se concentre sur agents de codeoù les agents écrivent et exécutent des extraits de code Python pour effectuer des actions, au lieu de générer des actions sous forme de JSON ou de blocs de texte.
Haute efficacité
Par rapport aux méthodes d'appel d'outils standard, les agents de code offrent une efficacité et une précision accrues, réduisant les étapes et les appels LLM d'environ 30%, et réalisant des performances supérieures sur des repères complexes.
Exécution sécurisée
Pour garantir une exécution sûre du code, smolagents prend en charge l'exécution du code dans des environnements de type "bac à sable" (sandbox) tels que E2BLe système de gestion de l'information de l'Union européenne (UE) permet de créer un espace protégé et isolé pour l'exécution des tâches.
Divers LLM
smolagents s'intègre sans effort à n'importe quel grand modèle de langage, y compris les modèles hébergés sur le Hugging Face Hub via Transformers, ainsi que les modèles d'OpenAI, d'Anthropic et d'autres grâce à l'intégration de LiteLLM.

SmolAgents :Intégration avec Hugging Face Hub
Outils de partage et de chargement: L'intégration poussée avec le Hugging Face Hub permet aux développeurs de partager et d'importer facilement des outils, favorisant ainsi la collaboration et le partage au sein de la communauté.
Croissance de l'écosystème: En s'appuyant sur les capacités du Hub, smolagents s'enrichit continuellement de nouvelles fonctionnalités et de nouveaux outils, offrant ainsi un potentiel de développement illimité.
Soutien aux agents traditionnels d'appel d'outils
Variété de choix: Outre les agents de codage, smolagents prend également en charge les agents de codage traditionnels. agents d'appel des outilsoù les actions sont écrites sous forme de JSON ou de blocs de texte, en fonction de scénarios et d'exigences spécifiques.


Raisons d'opter pour le code smolAgents
Composabilité supérieure: Le code prend naturellement en charge l'imbrication et la réutilisation des fonctions, ce qui permet l'expression d'une logique complexe.
Traitement efficace des objets: Par rapport à JSON, le code simplifie la gestion et le transfert des objets.
Flexibilité ultime: Le code peut représenter n'importe quelle opération qu'un ordinateur peut effectuer, ce qui lui confère une immense polyvalence.
Données de formation étendues: Les LLM ont été formés sur de grandes quantités de code de haute qualité, ce qui a amélioré leur capacité à générer et à comprendre le code.
Avantages en termes de performance de smolagents
Dans divers benchmarks, les smolagent utilisant des modèles open-source ont égalé les performances des agents utilisant des modèles propriétaires. Grâce à l'efficacité des agents de code et aux progrès continus des modèles open-source, les développeurs peuvent construire des systèmes d'agents puissants sans dépendre de services fermés.

Exemple d'application des SmolAgents
Dans Smolagents, les agents sont encapsulés dans des classes qui leur permettent d'effectuer des tâches spécifiques. Par exemple, un Agent géré
peut être créé pour gérer différentes tâches en utilisant différents types d'agents. Voici un exemple simplifié de la mise en œuvre de deux agents, l'un pour la recherche sur le web et l'autre pour la génération d'images,Voici comment créer un outil personnalisé qui récupère les temps de trajet à partir de Google Maps, et comment l'utiliser dans un agent de planification de voyages :
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.")
Après quelques étapes de collecte des temps de parcours et de calculs, l'agent vous renvoie cette proposition finale : Itinéraire d'une journée à vélo à Paris :
1. Départ de la Tour Eiffel à 9h00.
2. Visite de la Tour Eiffel jusqu'à 10h30.
3. Se rendre à la cathédrale Notre-Dame à 10h46.
4. Visite de la cathédrale Notre-Dame jusqu'à 12h16.
5. Se rendre à Montmartre à 12h41.
6. Visite de Montmartre jusqu'à 14h11.
7. Voyage au Jardin du Luxembourg à 14h33.
8. Visite du Jardin du Luxembourg jusqu'à 16h03.
9. Voyage au musée du Louvre à 16h12.
10. Visite du musée du Louvre jusqu'à 17h42.
11. Pause déjeuner jusqu'à 18h12.
12. Heure de fin prévue : 18 h 12.
Après avoir créé un outil, il suffit de le partager avec le Hub :
get_travel_duration.push_to_hub("{votre_nom d'utilisateur}/get-travel-duration-tool")
Qu'est-ce que les gens disent de SmolAgents sur X.com ?
La nouvelle bibliothèque smolagents publiée aujourd'hui par @huggingface a l'air vraiment impressionnant.
- Ben Klieger (@benklieger) 31 décembre 2024
Combinaison de simplicité (le fichier principal ne fait que ~1000 lignes !) et de fonctionnalité évaluée (soutenant l'approche code-first plutôt que l'appel direct de fonctions) 🔥
Un fil conducteur (🧵) pic.twitter.com/sKuakggpcM
J'ai passé mon week-end à me familiariser avec les flux de travail agentiques et à jouer avec la bibliothèque smolagents publiée par @huggingface. Grâce à cela, j'ai créé un agent assistant de voyage assez sympa (je l'appelle Tracy).
- Arnav Jaitly (@arnitly) 6 janvier 2025
J'utilise CodeLlama-34b-Instruct-hf pour mes agents LLM dans le backend pour faire un... pic.twitter.com/e7GHA7rVlk
OK, @huggingface Je dirais qu'il a réussi avec les smolagent et la définition de leur agent.
- Gerred (@devgerred) 31 décembre 2024
Peut-être que les clients ont simplement besoin d'être une partie négociatrice et que nous devons continuer à investir dans les LLM eux-mêmes. J'aime cette clarté immédiate. pic.twitter.com/sD6qMqpzgs
smolagents est maintenant disponible dans ai-gradio
- AK (@_akhaliq) 31 décembre 2024
pip install ai-gradio[smolagents]==0.2.1
alors il suffit de faire
Importation de gradio en tant que gr
import ai_gradio
gr.load( name='smolagents:meta-llama/Llama-3.1-8B-Instruct',
src=ai_gradio.registry).launch() pic.twitter.com/r7vfhrW36l
Hugging Face a présenté Smolagents, une bibliothèque conçue pour construire des systèmes agentiques utilisant de grands modèles de langage (LLM).
- Mazhar Choudhry (@mazrnow) 5 janvier 2025
Contrairement aux systèmes traditionnels basés sur la LLM...
Afficher plus https://t.co/EBEWPBEwAj pic.twitter.com/h2xswDLAxg
smolagents - construisez vos propres agents Devin en 3 lignes de code avec la recherche ! 🔥 pic.twitter.com/PPyhbFWN5w
- Vaibhav (VB) Srivastav (@reach_vb) 29 décembre 2024
Agent 元年来势汹汹啊!一周猛涨 3.9K Star? ⚡️ @huggingface 正式发布并开源 smolagents!🔥
- Tom Huang (@tuturetom) 8 janvier 2025
3 行代码启动一个 Agent 完成复杂工作,支持 40+ LLM,支持无缝连接 Huggingface hub 下载一些自定义模型
不仅是一个 Agent 框架,还是一个将 HF 所有有价值的大小模型作为工具融入 Agent 的伟大尝试 pic.twitter.com/wJZ9ZL8nRT