Google et Gemma 4 : faire tourner le tool calling en local avec Python et Ollama

Machine Learning Mastery détaille un cas d'usage concret pour Gemma 4 : un agent local en Python et Ollama qui appelle des fonctions externes, puis construit sa réponse à partir de leurs résultats. L'exemple couvre la météo, l'actualité, l'heure et les taux de change, et l'ensemble repose uniquement sur les bibliothèques standard de Python. L'accent porte avant tout sur la confidentialité : pas de GPU, pas de limites d'API et pas de frameworks lourds.

Traité par IA depuis Machine Learning Mastery ; édité par Hamidun News
Google et Gemma 4 : faire tourner le tool calling en local avec Python et Ollama
Source : Machine Learning Mastery. Collage: Hamidun News.
Écouter l'article
Fiche synthèse et chiffres clés
ParamètreDonnées
Source primaireMachine Learning Mastery ↗
Rédacteur en chef
Chiffre clé #1Le développeur écrit des fonctions Python locales qui servent d'outils
Chiffre clé #2Chaque fonction reçoit un schéma de paramètres strict
Chiffre clé #3La requête de l'utilisateur est envoyée à Ollama avec la liste des tools

Machine Learning Mastery a publié un tutoriel détaillé pour construire un agent IA local basé sur Gemma 4 avec prise en charge du tool calling. L'intérêt tient moins au code lui-même qu'au signal envoyé au marché : les modèles open-weight de Google s'imposent de plus en plus dans des scénarios où les API cloud régnaient jusqu'ici presque sans alternative.

De quoi parle l'article

Dans ce texte publié le 14 avril, l'auteur présente une stack pratique pour un agent local : Python, Ollama et le modèle `gemma4:e2b`. Le principe est simple. Au lieu d'un chatbot classique qui ne répond qu'à partir de ses poids, le développeur fournit au modèle un ensemble de fonctions et la description de leurs paramètres. Si la requête exige des données externes, le modèle n'invente pas de réponse : il génère un appel structuré vers l'outil adéquat, récupère le résultat, et seulement ensuite rédige le texte final.

Dans le contexte de la sortie de Gemma 4, la démonstration est particulièrement parlante. Google a publié cette famille de modèles ouverts sous licence Apache 2.0 en mettant l'accent sur les usages agentiques : JSON structuré, function calling, instructions système et fonctionnement sur des matériels variés, du mobile à la station de travail. Officiellement, l'entreprise présente Gemma 4 comme une base pour les tâches locales et on-device, et cite notamment Ollama parmi les outils pris en charge dès le premier jour. Pour les développeurs, cela ouvre une voie plus lisible vers des assistants privés, sans dépendance obligatoire à un fournisseur externe.

Comment fonctionne l'agent

L'architecture de l'exemple se passe de tout framework lourd. L'auteur utilise délibérément des bibliothèques standard de Python comme `urllib` et `json` pour montrer qu'un agent de base avec tool calling peut tourner sans LangChain, sans orchestrateur et sans épaisse couche d'abstraction. La pièce maîtresse est un registre d'outils au format JSON Schema. C'est lui qui indique au modèle quelles fonctions sont disponibles, quels arguments elles acceptent et quels champs sont obligatoires.

  • Le développeur écrit des fonctions Python locales qui servent d'outils
  • Chaque fonction reçoit un schéma de paramètres strict
  • La requête de l'utilisateur est envoyée à Ollama avec la liste des tools
  • Le modèle renvoie des `tool_calls` s'il a besoin de données externes
  • L'application exécute la fonction et renvoie le résultat au modèle

Vient ensuite une seconde passe. L'application hôte ajoute la réponse de l'outil à l'historique des messages avec le rôle `tool`, puis rappelle le modèle. À cette étape, Gemma 4 ne devine plus : elle s'appuie sur des données réelles. Dans l'exemple, ce mécanisme permet d'articuler proprement le raisonnement du modèle et du code Python ordinaire au sein d'une même boucle, sans intermédiaire cloud. En somme, l'auteur livre une version minimale d'un runtime agentique, que l'on peut décortiquer et adapter à ses propres besoins en une soirée.

Quels outils sont présentés

Pour la démonstration, l'auteur commence par une fonction météo reposant sur Open-Meteo, puis ajoute trois autres outils : actualités, heure courante et conversion de devises. Le résultat est un agent modeste mais révélateur, capable de répondre non seulement à une question factuelle isolée, mais aussi à une requête composée. Par exemple : obtenir la météo à Paris et l'heure actuelle, convertir des dollars canadiens en euros et, dans le même temps, récupérer les dernières actualités sur un sujet.

L'article insiste particulièrement sur le modèle `gemma4:e2b`. Il s'agit de la variante edge de Gemma 4, avec une empreinte effective de deux milliards de paramètres à l'inférence, conçue pour économiser la mémoire et réduire la latence. L'article souligne que cette configuration peut tourner en local, sans GPU et sans limites d'API. Pour les petites équipes et les développeurs indépendants, le point compte : les scénarios agentiques cessent d'être une expérimentation coûteuse pour devenir une tâche d'ingénierie ordinaire. L'auteur indique avoir soumis des centaines de requêtes au système en un week-end sans constater de défaillance dans la logique de base d'appel des outils.

Ce que cela signifie

L'essentiel ne tient pas à un énième tutoriel Python, mais à l'abaissement du seuil d'entrée. Si Gemma 4 gère réellement de façon stable la sortie structurée et le function calling, même dans des configurations edge légères, le marché des agents locaux va s'élargir rapidement : davantage de scénarios hors ligne, davantage de déploiements privés en entreprise, et moins de raisons de basculer d'emblée vers des stacks cloud coûteuses.

Dossier

Questions clés sur cet article

Que sait-on sur De quoi parle l'article ?

Dans ce texte publié le 14 avril, l'auteur présente une stack pratique pour un agent local : Python, Ollama et le modèle `gemma4:e2b`. Le principe est simple. Au lieu d'un chatbot classique qui ne répond qu'à partir de ses poids, le développeur fournit au modèle un ensemble de fonctions et la description de leurs paramètres. Si la requête exige des données externes, le modèle n'invente pas de réponse : il génère un appel structuré vers l'outil adéquat, récupère le résultat, et seulement ensuite rédige le texte final. Dans le contexte de la sortie de Gemma 4, la démonstratio

Comment fonctionne l'agent?

L'architecture de l'exemple se passe de tout framework lourd. L'auteur utilise délibérément des bibliothèques standard de Python comme `urllib` et `json` pour montrer qu'un agent de base avec tool calling peut tourner sans LangChain, sans orchestrateur et sans épaisse couche d'abstraction. La pièce maîtresse est un registre d'outils au format JSON Schema. C'est lui qui indique au modèle quelles fonctions sont disponibles, quels arguments elles acceptent et quels champs sont obligatoires. Le développeur écrit des fonctions Python locales qui servent d'outils Chaque fonction

Que sait-on sur Quels outils sont présentés ?

Pour la démonstration, l'auteur commence par une fonction météo reposant sur Open-Meteo, puis ajoute trois autres outils : actualités, heure courante et conversion de devises. Le résultat est un agent modeste mais révélateur, capable de répondre non seulement à une question factuelle isolée, mais aussi à une requête composée. Par exemple : obtenir la météo à Paris et l'heure actuelle, convertir des dollars canadiens en euros et, dans le même temps, récupérer les dernières actualités sur un sujet. L'article insiste particulièrement sur le modèle `gemma4:e2b`. Il s'agit de la

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…