Function calling : comment l'IA utilise des outils externes
By Learnia Team
Function calling : comment l'IA utilise des outils externes
Demandez à ChatGPT « Quel temps fait-il à Paris ? » et il peut réellement vérifier — pas simplement deviner à partir des données d'entraînement. Comment ? Le function calling permet aux modèles d'IA d'utiliser des outils externes pour effectuer des actions réelles.
Qu'est-ce que le function calling ?
Le function calling (aussi appelé « tool use ») est la capacité d'un LLM à demander l'exécution de fonctions externes en fonction des requêtes des utilisateurs.
Limitation traditionnelle des LLM
Utilisateur : "Quel est le prix du Bitcoin en ce moment ?"
LLM (sans outils) :
"Selon mes données d'entraînement, le Bitcoin valait environ X $..."
→ Obsolète, potentiellement faux
Avec le function calling
Utilisateur : "Quel est le prix du Bitcoin en ce moment ?"
Réflexion du LLM : "J'ai besoin de données en temps réel. Je vais appeler get_crypto_price()"
Appel de fonction : get_crypto_price(symbol="BTC")
→ Retourne : 94 521,32 $
Réponse du LLM : "Le Bitcoin se négocie actuellement à 94 521,32 $"
→ Précis, en temps réel
Learn AI — From Prompts to Agents
Pourquoi le function calling est important
1. Informations en temps réel
Les LLM ont une date limite de connaissances. Les outils fournissent des données en direct :
Météo, cours boursiers, résultats sportifs, actualités
→ Tout nécessite un accès en temps réel
2. Calculs précis
Les LLM approximent les mathématiques. Les outils calculent avec précision :
LLM : "15 % de 3 847 $ font environ 577 $"
Outil calculatrice : "15 % de 3 847 $ font exactement 577,05 $"
3. Actions dans le monde réel
Les LLM génèrent du texte. Les outils agissent :
- Envoyer un e-mail
- Créer un événement dans l'agenda
- Mettre à jour une base de données
- Effectuer un appel API
- Exécuter du code
4. Accès aux données privées
Les LLM ne connaissent pas vos données. Les outils peuvent les interroger :
"Quels sont mes meilleurs clients ce mois-ci ?"
→ L'outil interroge votre CRM
→ Retourne les données clients réelles
Comment fonctionne le function calling
Étape 1 : Définir les outils disponibles
Vous indiquez à l'IA quelles fonctions existent :
{
"name": "get_weather",
"description": "Obtenir la météo actuelle pour un lieu",
"parameters": {
"location": "string (nom de la ville)",
"units": "celsius ou fahrenheit"
}
}
Étape 2 : L'IA décide d'utiliser un outil
En fonction de la requête, l'IA choisit :
Utilisateur : "Dois-je prendre un parapluie à Londres aujourd'hui ?"
Raisonnement de l'IA :
- L'utilisateur a besoin d'informations météo pour Londres
- Je dois appeler get_weather
Étape 3 : L'IA génère l'appel de fonction
L'IA produit une requête structurée :
{
"function": "get_weather",
"arguments": {
"location": "London",
"units": "celsius"
}
}
Étape 4 : Votre système exécute
Votre application exécute la fonction réelle :
result = get_weather("London", "celsius")
# Retourne : {"temp": 12, "rain_chance": 85}
Étape 5 : L'IA interprète le résultat
Le résultat est renvoyé à l'IA :
Données météo : 12°C, 85 % de chances de pluie
Réponse de l'IA : "Oui, vous devriez absolument prendre un
parapluie ! On prévoit de la pluie à Londres aujourd'hui avec
85 % de probabilité de précipitations. La température est de
12°C, plutôt fraîche."
Types d'outils courants
Récupération d'informations
- Recherche web
- Requêtes de base de données
- Consultations d'API
- Récupération de documents
Calculs
- Opérations mathématiques
- Conversions d'unités
- Calculs de dates/heures
- Formules financières
Actions
- Envoyer des messages (e-mail, Slack, SMS)
- Créer des enregistrements (CRM, base de données)
- Planifier des événements (agenda)
- Déclencher des workflows
Exécution de code
- Exécuter du Python/JavaScript
- Lancer des requêtes SQL
- Effectuer des analyses de données
- Générer des visualisations
Exemples concrets
Assistant de voyage
Utilisateur : "Réserve-moi un vol pour Tokyo le mois prochain"
Outils disponibles :
- search_flights(origin, destination, dates)
- check_calendar(dates)
- get_user_preferences()
- create_booking(flight_id)
Workflow de l'IA :
1. Vérifier le calendrier pour les disponibilités
2. Récupérer les préférences de l'utilisateur (compagnies, type de siège)
3. Rechercher les vols correspondants
4. Présenter les options à l'utilisateur
5. Créer la réservation une fois confirmée
Analyste de données
Utilisateur : "Quelles étaient les tendances de ventes du dernier trimestre ?"
Outils disponibles :
- query_database(sql)
- create_chart(data, chart_type)
- calculate_statistics(data)
Workflow de l'IA :
1. Interroger la base de données pour les données de ventes
2. Calculer les statistiques (croissance, moyennes)
3. Créer la visualisation
4. Présenter les insights avec le graphique
Support client
Utilisateur : "Je veux retourner la commande #12345"
Outils disponibles :
- lookup_order(order_id)
- check_return_eligibility(order_id)
- create_return_label(order_id)
- update_ticket(status)
Workflow de l'IA :
1. Rechercher les détails de la commande
2. Vérifier l'éligibilité au retour
3. Générer l'étiquette de retour
4. Mettre à jour le ticket de support
Function calling vs RAG
| Aspect | RAG | Function calling |
|---|---|---|
| Objectif | Récupérer des connaissances | Effectuer des actions |
| Données | Documents statiques | API dynamiques |
| Sortie | Texte pour le contexte | Résultats structurés |
| Actions | Lecture seule | Peut modifier l'état |
Ils sont souvent utilisés ensemble :
- →Le RAG fournit le contexte de connaissances
- →Les fonctions permettent les actions
Considérations de sécurité
Le risque
L'IA a accès à : delete_database()
Utilisateur : "Nettoie les anciens enregistrements"
Catastrophe potentielle si l'IA interprète mal
Stratégies d'atténuation
1. Confirmation pour les actions destructives
"Êtes-vous sûr de vouloir supprimer 500 enregistrements ?"
2. Périmètre des permissions
L'IA peut lire les commandes, mais pas les supprimer
3. Limitation du débit
Maximum 10 appels API par conversation
4. Contrôle humain pour les actions sensibles
Les actions au-dessus de 1 000 $ nécessitent une approbation
Points clés à retenir
- →Le function calling permet à l'IA d'utiliser des outils externes
- →Il permet des données en temps réel, des calculs précis et des actions réelles
- →Fonctionne selon le cycle définir → décider → appeler → exécuter → interpréter
- →Alimente des cas d'usage avancés : assistants, agents, automatisation
- →Nécessite une conception sécuritaire rigoureuse pour les actions sensibles
Prêt à construire des agents IA ?
Cet article a couvert le quoi et le pourquoi du function calling. Mais construire des agents IA fiables nécessite de comprendre l'architecture complète des agents.
Dans notre Module 6 — Agents IA et ReAct, vous apprendrez :
- →L'architecture complète des agents ReAct
- →La conception et l'implémentation de jeux d'outils
- →Les patterns de gestion d'erreurs et de récupération
- →Les garde-fous de sécurité et le contrôle humain
- →Le déploiement d'agents en production
Module 6 — AI Agents & ReAct
Create autonomous agents that reason and take actions.
Weekly AI Insights
Tools, techniques & news — curated for AI practitioners. Free, no spam.
Free, no spam. Unsubscribe anytime.
→Related Articles
FAQ
Qu'est-ce que le function calling en IA ?+
Le function calling permet aux modèles d'IA de demander l'exécution de code externe. Le modèle produit un JSON structuré spécifiant quelle fonction appeler et avec quels arguments. Votre code l'exécute et renvoie les résultats.
Comment fonctionne le function calling ?+
Vous définissez les fonctions disponibles avec des schémas. Lorsque c'est pertinent, le modèle produit un appel de fonction au lieu de texte. Votre application exécute la fonction, renvoie les résultats, et le modèle les intègre.
Que peut-on faire avec le function calling ?+
Consulter la météo, interroger des bases de données, envoyer des e-mails, rechercher sur le web, effectuer des calculs, interagir avec des API — toute action que vous pouvez coder. Cela transforme les chatbots en agents capables.
Le function calling est-il la même chose que MCP ?+
MCP (Model Context Protocol) est un protocole standardisé pour l'intégration d'outils. Le function calling est le mécanisme sous-jacent. MCP fournit un format universel ; le function calling est spécifique au fournisseur.