54 lines
1.8 KiB
Markdown
54 lines
1.8 KiB
Markdown
---
|
|
title: Function Calling
|
|
created: 2026-06-06
|
|
updated: 2026-06-06
|
|
type: concept
|
|
tags: [IA, agent, protocol]
|
|
confidence: high
|
|
contested: false
|
|
sources: [synthesized]
|
|
---
|
|
# 🛠️ Function Calling
|
|
|
|
## Définition Courte
|
|
Mécanisme permettant à un LLM de **produire un appel structuré** vers une fonction externe (outil) plutôt que du texte libre, déclenchant ainsi une action dans le monde réel.
|
|
|
|
## Explication Détaillée
|
|
Au lieu de demander au LLM "quel temps fait-il ?", on lui fournit une description d'outil (`get_weather(city: str)`) et le LLM répond :
|
|
```json
|
|
{"name": "get_weather", "arguments": {"city": "Lyon"}}
|
|
```
|
|
Le système exécute alors la fonction et réinjecte le résultat dans la conversation.
|
|
|
|
C'est la **brique atomique** de l'agentique : sans function calling, un LLM ne peut qu'émettre du texte.
|
|
|
|
**Pipeline** :
|
|
1. Définir les outils (nom, description, schéma JSON des arguments).
|
|
2. Envoyer la requête avec ces outils.
|
|
3. Le LLM choisit s'il appelle un outil et avec quels arguments.
|
|
4. Exécuter l'outil côté code.
|
|
5. Renvoyer le résultat au LLM.
|
|
6. Le LLM produit la réponse finale (ou appelle un autre outil).
|
|
|
|
## Cas d'Usage
|
|
- Agents autonomes (cf. [[hermes-agent]]).
|
|
- Accès à des API (base de données, calendrier, mail).
|
|
- Calcul précis (le LLM délègue à Python).
|
|
- Recherche web (cf. [[react-framework]]).
|
|
|
|
## Outils Liés
|
|
- **OpenAI Function Calling**, **Anthropic Tool Use**.
|
|
- **[[mcp-protocol]]** (standardisation multi-host).
|
|
- **LangChain Tools**, **LlamaIndex Tools**.
|
|
|
|
## Pages Liées
|
|
- [[react-framework]]
|
|
- [[hermes-agent]]
|
|
- [[mcp-protocol]]
|
|
- [[chain-of-thought]]
|
|
- [[prompt-engineering-agents]]
|
|
|
|
## Questions Ouvertes
|
|
- Le function calling va-t-il totalement fusionner avec MCP ?
|
|
- Comment fiabiliser le 100% de réussite sur des outils critiques (Stripe) ?
|