Hugging Face montre comment créer un agent IA météo avec smolagents en 15 minutes

Hugging Face simplifie l'entrée dans l'univers des agents IA : avec la bibliothèque smolagents, on peut construire un assistant météo en environ 40 lignes de Python, sans framework lourd. Dans l'exemple, l'agent obtient les prévisions via wttr.in, utilise un tool maison, se connecte à un modèle Qwen avec un token HF et décide lui-même des appels à effectuer pour des villes comme Paris et Tokyo. L'approche repose sur les code agents : plutôt que de choisir dans une liste figée, le modèle écrit de petits fragments de Python pour enchaîner les étapes.

Traité par IA depuis KDnuggets ; édité par Hamidun News
Hugging Face montre comment créer un agent IA météo avec smolagents en 15 minutes
Source : KDnuggets. Collage: Hamidun News.
Écouter l'article
Fiche synthèse et chiffres clés
ParamètreDonnées
Source primaireKDnuggets ↗
Rédacteur en chef
Chiffre clé #1`@tool` transforme une fonction Python ordinaire en outil que l'agent sait appeler seul.
La fonction `get_weather(citystr)` interroge le service `wttr.in` et renvoie une courte prévision pour la ville voulue.
Chiffre clé #3Le modèle est `InferenceClientModel` avec `Qwen/Qwen2.5-Coder-32B-Instruct` et le token de `HF_TOKEN`.

smolagents, de Hugging Face, montre qu'on peut construire un premier agent IA utile sans framework lourd ni centaines de lignes de code. Dans cette démonstration, l'auteur crée un assistant météo en Python qui décide seul des outils à appeler, récupère des données sur internet et renvoie une réponse toute prête.

Ce qui distingue smolagents

L'idée centrale n'est pas la météo, mais l'approche. smolagents est une bibliothèque pour les code agents, où le modèle ne se contente pas de choisir un outil dans une liste, mais écrit de petits fragments de code Python pour relier les étapes entre elles. Au lieu de schémas JSON et de longs orchestrateurs, on donne à l'agent un objectif comme « trouve la météo à Londres », puis il décide lui-même quel tool appeler, dans quel ordre et comment composer la réponse finale.

Ce format rend le comportement de l'agent plus lisible et plus souple. Le code exprime mieux les boucles, les conditions et la transformation de données que des consignes textuelles aux règles rigides. C'est aussi une porte d'entrée commode pour les débutants : la bibliothèque est ouverte, légère et n'oblige pas à monter une infrastructure complexe. Du coup, smolagents ne ressemble pas à une énième couche expérimentale au-dessus des LLM, mais à un moyen pratique de comprendre vite la mécanique des scénarios d'IA autonomes.

Comment construire l'agent

Dans la démonstration, tout commence par une préparation très basique : créer le dossier du projet, monter un environnement virtuel et installer seulement trois paquets : `smolagents`, `requests` et `python-dotenv`. Le token Hugging Face doit être stocké dans la variable d'environnement `HF_TOKEN`, et ceux qui ne veulent rien installer en local peuvent utiliser Google Colab. Dès cette étape, la thèse principale du texte apparaît : pour un premier agent, pas besoin d'une grosse stack, il suffit de Python, d'un accès à un modèle et d'une fonction externe.

  • `@tool` transforme une fonction Python ordinaire en outil que l'agent sait appeler seul.
  • La fonction `get_weather(city: str)` interroge le service `wttr.in` et renvoie une courte prévision pour la ville voulue.
  • Le modèle est `InferenceClientModel` avec `Qwen/Qwen2.5-Coder-32B-Instruct` et le token de `HF_TOKEN`.
  • L'agent est créé via `CodeAgent`, auquel on passe une liste de tools, le modèle et le drapeau `add_base_tools=False` pour une configuration minimale.

Il ne reste ensuite qu'à lancer la tâche avec une phrase ordinaire, par exemple demander à l'agent la météo à Paris et à Tokyo. C'est là que le plus intéressant se produit : le modèle lit le prompt, comprend qu'il dispose de l'outil `get_weather`, écrit un script Python interne avec deux appels, l'exécute dans un environnement isolé et renvoie à l'utilisateur une réponse déjà assemblée.

Un détail important : la docstring de la fonction. C'est elle qui permet à l'agent de comprendre ce que fait le tool, quels arguments il accepte et dans quels cas l'utiliser.

Comment étendre le scénario

L'exemple ne s'arrête pas à la météo. L'article montre comment ajouter un second outil, `save_to_file`, qui enregistre un rapport texte dans un fichier. L'agent peut alors non seulement interroger une API externe, mais aussi passer à l'étape suivante dans l'environnement local : écrire le résultat, par exemple dans `london_weather.txt`. Ce passage compte, car c'est la combinaison de petits tools qui transforme la démonstration en embryon de véritable flux de travail.

De ce même modèle naissent facilement des cas plus utiles : brancher une API de recherche, travailler avec une base de données, monter une recherche simple, voire piloter un navigateur. L'auteur souligne à part que le cœur de la logique est très compact : malgré l'effet d'autonomie, l'essentiel de l'exemple tient en moins de deux dizaines de lignes, et le script entier reste à environ quarante. Le seuil d'entrée dans les scénarios d'agents chute nettement : on ne pense plus au framework, mais aux actions à donner au modèle.

Ce que cela signifie

smolagents illustre un changement important : on peut désormais construire des assistants autonomes non seulement dans de grandes équipes dotées de leur propre couche d'orchestration, mais aussi seul, en une soirée. Pour les développeurs, c'est un moyen rapide de prototyper de l'automatisation IA dans le Python habituel ; pour un produit, c'est l'occasion de tester un scénario utile avant d'investir dans une architecture complexe.

Dossier

Questions clés sur cet article

Que sait-on sur Ce qui distingue smolagents ?

L'idée centrale n'est pas la météo, mais l'approche. smolagents est une bibliothèque pour les code agents, où le modèle ne se contente pas de choisir un outil dans une liste, mais écrit de petits fragments de code Python pour relier les étapes entre elles. Au lieu de schémas JSON et de longs orchestrateurs, on donne à l'agent un objectif comme « trouve la météo à Londres », puis il décide lui-même quel tool appeler, dans quel ordre et comment composer la réponse finale. Ce format rend le comportement de l'agent plus lisible et plus souple. Le code exprime mieux les boucles,

Comment construire l'agent?

Dans la démonstration, tout commence par une préparation très basique : créer le dossier du projet, monter un environnement virtuel et installer seulement trois paquets : `smolagents`, `requests` et `python-dotenv`. Le token Hugging Face doit être stocké dans la variable d'environnement `HF_TOKEN`, et ceux qui ne veulent rien installer en local peuvent utiliser Google Colab. Dès cette étape, la thèse principale du texte apparaît : pour un premier agent, pas besoin d'une grosse stack, il suffit de Python, d'un accès à un modèle et d'une fonction externe. `@tool` transforme u

Comment étendre le scénario?

L'exemple ne s'arrête pas à la météo. L'article montre comment ajouter un second outil, `save_to_file`, qui enregistre un rapport texte dans un fichier. L'agent peut alors non seulement interroger une API externe, mais aussi passer à l'étape suivante dans l'environnement local : écrire le résultat, par exemple dans `london_weather.txt`. Ce passage compte, car c'est la combinaison de petits tools qui transforme la démonstration en embryon de véritable flux de travail. De ce même modèle naissent facilement des cas plus utiles : brancher une API de recherche, travailler avec u

ZK
Zhemal Khamidun — CPO d'Alpina Digital, product manager d'AlpinaGPT. Conçoit des produits IA depuis 2019. Hamidun News est un projet personnel devenu un agrégateur en production avec plus de 6 000 lecteurs.
✦ Unified AI Workspace · Nomad

Test Frontier LLMs & Autonomous Agents in One Workspace

Run Claude Opus 5.5, GPT-6, Gemini 3.1, and DeepSeek side-by-side in Nomad AI (nomadnet.ai) — unified model routing, deep research, and multimodal workflows under one subscription.

Try Nomad AI →Launch Nomad Agent
Qu'en pensez-vous ?
Chargement des commentaires…